1、新建云函数login_get_openid
云开发环境初始化参见:https://blog.youkuaiyun.com/yuxiao1121/article/details/125222407
新建云函数参见:https://blog.youkuaiyun.com/yuxiao1121/article/details/125235036
2、index.js
// 云函数入口文件
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,
}
}
3、在使用的地方添加代码:
app.js
onLaunch() {
console.log('小程序开始启动啦')
// 云开发环境初始化
wx.cloud.init({
env: '自己的云开发环境ID' // 云开发环境ID
})
// 获取用户的openid
var that = this;
wx.cloud.callFunction({
name: 'login_get_openid', // 云函数
success(res) {
console.log(res)
}
})
},
4、保存编译后,可以在控制台上看到输出的信息:
获得了openid
以上内容参见自不负卿@的博客:微信小程序云函数,以获取openid为例_不负卿@的博客-优快云博客_小程序云开发获取openid
5、总结
采用云函数的方式获取openid,可解决使用wx.login时出现的40029错误