1.uniapp中App.vue文件中写获取openId的方法
onLaunch: function() {
console.log('App Launch');
// 第一步:初始化微信云函数
wx.cloud.init({
env: 'test-2gt0mbv78a4941aa', // 打开微信云开发控制平台,右上角点击[设置] - [环境设置]
traceUser: true
}),
// 第二步:获取用户的openid
wx.cloud.callFunction({
name: 'getOpenId', // 打开微信云开发控制平台,左上角点击[云函数]
data: {},
success: res => {
// debugger
// 第三步(可省略):缓存用户openid,方便后续再次调用
wx.setStorage({
key: "user",
data: res.result.userInfo.openId
})
console.log('成功获取openid: ', res.result.userInfo.openId)
},
fail: err => {
console.error('获取失败:', err)
}
})
},
2.小程序中添加云函数
3.在小程序项目根目录找到 project.config.json
文件,新增 cloudfunctionRoot
字段,指定本地已存在的目录作为云函数的本地根目录
{
"cloudfunctionRoot": "./functions/"
}
4.在小程序根目录新建functions目录,该目录会自动变成云函数文件夹,然后右键新建云函数
5.编写云函数
// 云函数入口文件
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,
}
}
6.运行项目