1、使用uniapp读取获取用户openId
appId,secret 可以从微信公众平台获取,(点击右上角头像,向下滑,可以找到)
注意:这个一般写了app.vue里有个onlanch函数,否则有可能在进入小程序时获取不到openid
微信接口路径为 “https://api.weixin.qq.com/sns/jscode2session”
/**
* 前端获取openId
*/
getOpenId() {
let openId = ''
uni.login({
success: res => {
//code值(5分钟失效)
let code = res.code;
//小程序appid
let appid = '1111111'; //小程序id
//小程序secret
let secret = '111111'; //密钥
//wx接口路径
let url = 'https://api.weixin.qq.com/sns/jscode2session';
uni.request({
url: url, // 请求路径
data: {
appid: appid,
secret: secret,
js_code: code,
grant_type: 'authorization_code'
}, // 请求体
method: 'GET', //请求方法,
header: {}, //请求头
success: result => {
//响应成功
//这里就获取到了openid了
// openId = result.data.openid
uni.setStorage({
key: 'openId',
data: result.data.openid
})
},
fail: err => {} //失败
});
}
});
},
2、uniapp 获取 unionId
获取unionId的前提条件:微信开放平台绑定你的小程序或者公众号至少一个(注意:一定要是,企业版的,个人版的是不支持unionId的)
具体代码如下:文章来源:https://www.toymoban.com/news/detail-545417.html
//前端获取unionId
getUnionId() {
// 获取用户信息
uni.getUserInfo({
success: (res) => {
//这里是成功后 解构 返回的res
const { encryptedData , iv, userInfo } = res
// 解密用户信息并获取unionid
wx.login({
success: (loginResult) => {
wx.request({
url: 'https://api.weixin.qq.com/sns/jscode2session',//路径固定
data: {
appid: '123123', // 需要填写appId
secret: '123123', // 密钥
js_code: loginResult.code, //调取uni.login后,成功后会返回code
grant_type: 'authorization_code' //固定的
},
success: (sessionResult) => {
//成功后会返回 openId,以及 session_key 用来解密 上边获取的 encryptedData
const {openid, session_key } = sessionResult.data
var appId = '123123' //填写你的appId
var sessionKey = session_key
var encryptedDataStr = encryptedData
// 解密 WXBizDataCrypt 可以在微信开发文档中找到
const pc = new WXBizDataCrypt(appId, sessionKey);
// unionId在data里
const data = pc.decryptData(encryptedDataStr, iv);
console.log(JSON.stringify(data));
}
})
}
})
}
})
},
注意:请求openId或unionId,一般后端做,前端做的话,微信小程序可能无法,发布成功。。。。。。。
后端获取openId文章来源地址https://www.toymoban.com/news/detail-545417.html
到了这里,关于uniapp写微信小程序,获取openId、unionId的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!