openid是小程序用户操作的唯一标识,同一个用户在不同小程序,以及同一个小程序的不同操作,openid都会是相同的,所以一般使用openid去唯一识别一个用户,openid在小程序的重要性还是很高的,如果需要用到数据交互,就需要用到openid。
获取openid的方法有两三个吧,这里讲一下最简单的 利用云函数进行获取,直接复制用就行
首先 我一般是在onload就进行获取,方便数据的显示
要在js的data里面增加useropenid的字段,叫什么名字都可以,但是后面setdata要相应修改
wx.cloud.callFunction({
name:'hellocloud',
data:{
message:'hellocloud',
}
}).then(res=>{
console.log(res)//res就将appid和openid返回了
//做一些后续操作,不用考虑代码的异步执行问题。
that.setData({
useropenid:res.result.openid
})
其中 that.setdata 需要在最开始的地方 var this=that,代码段中没有写,因为我是从实际项目截取出来的,整个onload还有挺多其他东西的,补上var就行
consol.log对数据进行打印,后台可以看到是否获取成功
然后在云函数这边,新建一个node.js云函数,名字叫hellocloud的云函数,在里面的js
如下
const cloud = require('wx-server-sdk')
cloud.init()
// 云函数入口函数
exports.main = async (event, context) => {
let{ APPID,OPENID}=cloud.getWXContext()
return {
APPID,
OPENID
}}
上传部署云函数之后,即可使用
执行之后看是否如下显示
打印出来的是这样的,就是获取成功了