小程序如何使用云函数?
小程序如何使用云函数?
创建目录与云函数
第一步,在微信开发者工具中创建目录与新建nodejs云函数
接下来,需要将此目录在project.config.json中进行配置:
"cloudfunctionRoot": "./cloudfunction/"
如图所示,就有这样的一个云开发目录了:(不要忘记,在目录右键选择你当前环境哦^_^)
然后我们右键我们的cloudfunciton,选择创建node.js云函数,名字起名logins
创建完成后,它会自动帮助我们进行云函数的部署,我们可以打开云开发看到后端刚刚部署的云函数:
并且在创建好的云函数里面,小程序内部帮助实现了一些nodejs后端代码:
// 云函数入口文件
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,
}
}
前端调用云函数
当我们上传好小程序后,前端其实可以配置两个云环境。但是如果配置了两个云环境(开发|生产),我们就必须在app.js文件中指明当前的云环境的id才可以。
获取环境id:
App({
onLaunch: function () {
if (!wx.cloud) {
console.error('请使用 2.2.3 或以上的基础库以使用云能力')
} else {
wx.cloud.init({
// env 参数说明:
// env 参数决定接下来小程序发起的云开发调用(wx.cloud.xxx)会默认请求到哪个云环境的资源
// 此处请填入环境 ID, 环境 ID 可打开云控制台查看
// 如不填则使用默认环境(第一个创建的环境)
env: 'demo123-3o9h6',
traceUser: true,
})
}
}
})
配置完成这些操作后,前端其实就可以调用我们云函数logins了:
可以找到页面的onReady这个钩子函数,进行云函数的调用:
onReady: function () {
wx.cloud.callFunction({
name: 'logins'
}).then(res=>{
console.log(res)
})
},
name就是我们当时创建的云函数的名称
res就是在云函中return给我们的结果
接下来就会在控制台打印出相关的日志记录: