后台跟我要unionId 我找了半天不知道怎么获取,文档里说明也不是很明白,说什么各种权限什么的。
后来在网上找到一个办法,也是借用大佬的方法,这里有个几个文件下载
https://pan.baidu.com/s/16ZJ1QQ_ChN2OyqVI6JkJWw
提取码是c443
<button open-type='getUserInfo' class="WeChatLogin" bindgetuserinfo="WeChatLogin" withCredentials='true'><image src="../../images/WeChat.png"></image>微信快速登录</button>
const WXBizDataCrypt = require('../../utils/RdWXBizDataCrypt.js')
Page({
onLoad(){
}
wx.login({
success(res) {
// console.log(res)
wx.request({
url: 'https://api.weixin.qq.com/sns/jscode2session?appid=小程序的appid&secret=小程序的秘钥&js_code=' + res.code+'&grant_type=authorization_code',
success(data){
// console.log(data)
var pc = new WXBizDataCrypt('wx3e7002a896ea5929', data.data.session_key)
wx.getUserInfo({
success: function (res) {
//拿到getUserInfo()取得的res.encryptedData, res.iv,调用decryptData()解密
var data = pc.decryptData(res.encryptedData, res.iv)
// data.unionId就是咱们要的东西了
// console.log(data.unionId)
})
}
})
}
})
},
})
通过解密在登录接口里面拿到了unionId
上面的接口是小程序的登录接口文档里有写到在服务端里
js_code从下面的登录拿到
wx.login({
success(res){
console.log(res)
}
})
这是我文件放的位置。
https://api.weixin.qq.com/sns/jscode2session
这个接口是不能在正式服用到的,因为会报域名没有添加,但是你再小程序后台添加不了这个域名,显示域名 不安全。
所以这个要让后台给你写个接口,你拿到code后传给后台,后台去请求这个接口,返回你要的信息。
这里要注意的是:域名一个月修改只有5次,要注意次数!