创建云函数;
-
选择文件夹cloudfunctions右键新建Node.js云函数,这里取名”add“
-
选择文件夹cloudfunctions右键选择云函数的环境(如果没有创建环境,在云开发中创建环境)
-
创建好以后右键cloudfunctions上传并部署:所有文件
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
// 云函数入口函数
exports.main = async (event, context) => {
const wxContext = cloud.getWXContext()
return {
event,
openid: wxContext.OPENID,
appid: wxContext.APPID,
unionid: wxContext.UNIONID,
sum: event.a + event.b
}
}
- 在页面中添加一个测试按钮,并添加按钮的事件
<button bindtap="getSum" type="primary">求合</button>
- 在页面的js中添加代码(非Promise 方式,Promise 方式)
getSum() {
wx.cloud.callFunction({
//云函数的名字
name: "add",
//云函数传入的参数
data: {
a: 1,
b: 2,
},
success: function (res) {
console.log(res)
},
fail: function (res) {
console.log(res)
}
})
}
//Promise 风格
getSum() {
wx.cloud.callFunction({
name:"add",
data:{
a:1,
b:2,
},
})
//回调成功
.then(res=>{
console.log(res)
})
//回调失败
.catch(res=>{
console.log(res)
})
}
异常处理情况:{“errorCode”:10004,“errorMessage”:“user code exception caught”,“stackTrace”:“Cannot find module ‘wx-server-sdk’”},出现这个错误是云函数环境中缺少”wx-server-sdk“。通过npm安装,解决如下
-
右键函数-选择终端打开
-
查看npm是否安装,执行命令”npm -v“
-
执行命令”npm install –save wx-server-sdk@latest“
-
安装成功以后,右键add云函数文件夹,重新部署云函数
-
再次运行程序,程序可以顺利执行,不提示错误信息了。
本文鸣谢:
1. 提供错误解决方案的开发者
2. 感谢微信官方文档