首先
申请微信云开发
一路确认就行了,先用个免费版的。
创建云函数
找到
这个文件
在任意位置,添加一个json字段
"cloudfunctionRoot": "./functions/",
json还不会的就别看了。
然后,新建一个functions文件夹
微信开发者工具会自动识别,然后选择环境
右键,有很多选项,然后选择创建Node.js云函数
此时会创建一个文件夹给你
然后填文件夹的名字,文件夹名字就是云函数的名
输入getOpenId,回车。会自动创建index文件,不用你创建
在indexjs 文件里面写
// 云函数入口文件
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,
}
}
然后回到你的uniapp 编辑器(HB)
在app.vue,调用云函数。获取用户openid
env
是你的开发环境id
到微信开发者工具,点击云开发,设置,查看环境ID
在小程序启动前会调用onLanuch
// 第一步:初始化微信云函数
wx.cloud.init({
env: '*************', // 打开微信云开发控制平台,右上角点击[设置] - [环境设置]
traceUser: true
})
// 第二步:获取用户的openid
wx.cloud.callFunction({
name: 'getOpenId', // 打开微信云开发控制平台,左上角点击[云函数]
data: {},
success: res => {
// debugger
// 第三步(可省略):缓存用户openid,方便后续再次调用
wx.setStorage({
key: "user",
data: res.result.openid
})
console.log('成功获取openid: ', res.result.openid)
},
fail: err => {
console.error('获取失败:', err)
}
})
保存,编译