云函数获取用户openid
云函数获取用户openid
openid是用户唯一标识符,如果获取用户openid可以在程序功能实现上省去很多事情。
具体操作
微信开发者工具中WXML、JS、WXSS与网页开发中HTML、JS、CSS是一一对应的,下方是具体的代码实现。
1.云开发环境配置
自己先配置好云开发必要的一些环境
在小程序app.js文件中完成云开发相关环境配置。
app.js
//app.js
App({
onLaunch: function () {
if (!wx.cloud) {
console.error('请使用 2.2.3 或以上的基础库以使用云能力')
} else {
wx.cloud.init({
// env 参数说明:
// env 参数决定接下来小程序发起的云开发调用(wx.cloud.xxx)会默认请求到哪个云环境的资源
// 此处请填入环境 ID, 环境 ID 可打开云控制台查看
// 如不填则使用默认环境(第一个创建的环境)
env: '这里填自己的环境,不明白请见图一',
traceUser: true,
})
}
},
globalData: {
}
})
2.创建云函数
右击cloudFunctions,选择“新建Node.js云函数”,命名为“get”函数,并在index.js中完成下面代码。
//get-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.调用云函数获取openid
在需要的js中调用云函数
//test-index.js
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
// 进入界面调用getOpenid获取用户openid
this.getOpenid();
},
/**
* 获取用户openid
*/
getOpenid() {
let that = this;
wx.cloud.callFunction({
name: 'get',
complete: res => {
console.log('云函数获取到的openid: ', res)
openid = res.result.openid;
// 这里可以添加一些函数利用openid实现一些功能
//this.judgeRusults(openid);
}
})
},