登录微信公众平台拿到自己的AppID(小程序ID)和AppSecret(小程序密钥)
微信公众平台
1.获取手机号首先要先登录拿到code,用code去获取session_key
2.获取 code需要知道自己的AppID(小程序ID)和AppSecret(小程序密钥)
3.解密
uni.login({
success: (loginRes) => {
let code = loginRes.code
wx.request({
url: `https://api.weixin.qq.com/sns/jscode2session?appid=你的appid&secret=你的secret&js_code=${code}&grant_type=authorization_code`,
method: 'POST',
data: {
code: code
},
header: {
'content-type': 'application/json;charset=UTF-8'
},
success: (res) => {
this.sessionkey = res.data.session_key
}
})
}
});
引入官方解密开放数据
服务端获取开放数据 | 微信开放文档
下载之后我们拿到WXBizDataCrypt.js文件把它放在项目中
import WXBizDataCrypt from "@/js/WXBizDataCrypt.js"
<button open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">唤起授权手机号</button>
getPhoneNumber(e) {
let pc = new WXBizDataCrypt('wxa0730ad5f23ba160', this.sessionkey);
let data = pc.decryptData(e.detail.encryptedData, e.detail.iv);
console.log(data, "解密之后的数据包含手机号")
},