返回上一级微信小程序如何获取openid微信小程序的开发过程中,有时前端需要获取到openId来使用。那究竟如何获取呢,方式很简单,获取用户OpenID,用wx.login 就可以。
如下:
wx.login({
success: function (res) {
console.log(res)
if (res.code) {
console.log('通过login接口的code换取openid');
wx.request({
url: 'https://api.weixin.qq.com/sns/jscode2session',
data: {
//填上自己的小程序唯一标识
appid: '',
//填上自己的小程序的 app secret
secret: '',
grant_type: 'authorization_code',
js_code: res.code
},
method: 'GET',
header: { 'content-type': 'application/json'},
success: function(openIdRes){
console.info("登录成功返回的openId:" + openIdRes.data.openid);
},
fail: function(error) {
console.info("获取用户openId失败");
console.info(error);
}
})
}
}
})
第一种:使用云开发
这种比较简单,只需要开通云开发,创建云函数,调用云函数就可获得。
调用云函数 Promise Cloud.callFunction(Object object) 返回一个Promise对象,所以不用考虑异步问题。
callFunction说明 https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/functions/Cloud.callFunction.html
具体代码如下:
我这里云函数名为helloCloud
// helloCloud-index.js 云函数入口函数
exports.main = async (event, context) => {
let{ APPID,OPENID}=cloud.getWXContext()
return {
APPID,
OPENID
}
//------------------------------------------------------
//云函数调用
wx.cloud.callFunction({
name:'helloCloud',
data:{
message:'helloCloud',
}
}).then(res=>{
console.log(res)//res就将appid和openid返回了
//做一些后续操作,不用考虑代码的异步执行问题。
})
372659348
18094418818
Xcan万能全端小程序微信|支付宝|百度|字节跳动|qq|H5|PC全端多合一小程序系统 版权所有 苏ICP备00865440号-1