小程序 — 云开发

官方文档:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/capabilities.html 

使用云开发,即使用云上的服务,小程序中需要初始化云服务器,绑定云环境。

// app.js
App({
  onLaunch() {
   wx.cloud.init({ // 初始化云服务
       env: "cloud1-8gwuupf0ad580068"
   })
  }
})

 

云数据库:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/database.html

云开发提供了一个 JSON 数据库,顾名思义,数据库中的每条记录都是一个 JSON 格式的对象。一个数据库可以有多个集合(相当于关系型数据中的表),集合可看做一个 JSON 数组,数组中的每个对象就是一条记录,记录的格式是 JSON 对象。

注意:使用云数据库,不需要引入包,直接调用 wx下的API就可以。

        const DB = wx.cloud.database().collection("list")  // list 是集合名,及表名

        DB.add({
            data: {
                name: "石头老师",
                age: "23"
            },
            success(res) {
                console.log("添加成功", res);
            },
            fail(err){
                console.log("添加失败", err);
            }
        })            

 

 

云函数:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/functions.html

云函数是一段运行在云端的代码,无需管理服务器,在开发工具内编写、一键上传部署即可运行后端代码。

小程序内提供了专门用于云函数调用的 API。开发者可以在云函数内使用 wx-server-sdk 提供的 getWXContext 方法获取到每次调用的上下文(appidopenid 等),无需维护复杂的鉴权机制,即可获取天然可信任的用户登录态(openid)。

注意:云函数需要在根目录的 project.config.json 文件,新增 cloudfunctionRoot 字段,指定本地已存在的目录作为云开发的本地根目录。

  •  服务端运行的函数:
    // index.js 是入口文件,云函数被调用时会执行该文件导出的 main 方法
    // event 包含了调用端(小程序端)调用该函数时传过来的参数,同时还包含了可以通过 getWXContext 方法获取的用户登录态 `openId` 和小程序 `appId` 信息
    const cloud = require('wx-server-sdk')
    exports.main = async (event, context) => {
      let { userInfo, a, b} = event
      let { OPENID, APPID } = cloud.getWXContext() // 这里获取到的 openId 和 appId 是可信的
      let sum = a + b
    
      return {
        OPENID,
        APPID,
        sum
      }
    }
  • 小程序调用云函数:
    wx.cloud.callFunction({
      // 需调用的云函数名
      name: 'add',
      // 传给云函数的参数
      data: {
        a: 12,
        b: 19,
      },
      // 成功回调
      complete: console.log
    }) 
  • 云函数 同样可以操作 数据库,即后端服务器 操作 数据库。
  • 使用 npm:函数的运行环境是 Node.js,因此我们可以使用 npm 安装第三方依赖。

 

云存储:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/storage.html 

// 让用户选择一张图片
wx.chooseImage({
  success: chooseResult => {
    // 将图片上传至云存储空间
    wx.cloud.uploadFile({
      // 指定上传到的云路径
      cloudPath: 'my-photo.png',
      // 指定要上传的文件的小程序临时文件路径
      filePath: chooseResult.tempFilePaths[0],
      // 成功回调
      success: res => {
        console.log('上传成功', res)
      },
    })
  },
})

 

posted @ 2022-09-28 19:19  吴飞ff  阅读(137)  评论(0编辑  收藏  举报