微信小程序云开发-云函数创建和调用

云函数

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

1. 云函数创建

根据官网提示,创建一个云函数,命名为 add, 功能是将 a , b 两数相加,步骤如下:

在文件夹 cloudfunctions 目录下创建文件夹 add, 编辑add中的index.js文件:

// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init()

// 云函数入口函数
exports.main = (event, context) => {
  let { a, b} = event;
  let { OPENID, APPID } = cloud.getWXContext() // 这里获取到的 openId 和 appId 是可信的
  let product = a * b;
 
  return { //这里定义返回的对象,也可以是变量,在后边的success中接受到
    OPENID,
    APPID,
    product 
  }
}

在小程序中调用这个云函数前,我们还需要先将该云函数部署到云端。在云函数目录上右键,在右键菜单中,我们可以将云函数整体打包上传并部署到线上环境中。

2. 云函数部署

鼠标右键上传并部署微信小程序云开发-云函数创建和调用_第1张图片
也可以选择手工部署
微信小程序云开发-云函数创建和调用_第2张图片

3. 云函数调用

部署完成后,我们可以在小程序中调用该云函数注意名称要相同

//小程序端调用方法
Page({
  data: {
  },
  onLoad: function() {
 	 wx.cloud.callFunction({
	    name: 'add',    // 需调用的云函数名,注意名称要相同
	    // 传给云函数的参数 也就是上边的event对象
	    data: {       
	      a: 12,
	      b: 19,
	    },
	    // 成功回调
	    success: res => {
	      console.log(res);
	    },
	    fail: err => {
	      console.error('[云函数] [login] 调用失败', err)
	    }
	  })
	  },
})

也可以使用 Promise 调用方式:

wx.cloud.callFunction({
  // 云函数名称
  name: 'add',
  // 传给云函数的参数
  data: {
    a: 1,
    b: 2,
  },
}).then(res => {
    console.log(res.result) // 3
  })
  .catch(console.error)

你可能感兴趣的:(云开发小程序-cloud,node.js,小程序)