wx.login({
success (res) {
if (res.code) {
// 拿到code 请求 自定义 下文 2中 服务端(开发者服务器) 获取 openid、session_key、unionid
} else {
console.log('登录失败!' + res.errMsg)
}
}
})
复制代码
服务端请求该地址获取 openid、session_key、unionid,返回给客户端
GET https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code
复制代码
需要用户主动触发,button open-type 的值设置为 getPhoneNumber
<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"></button>
...
getPhoneNumber(e){
这里拿到 encryptedData 和 iv 加上 上方获取openid时 拿到 sessionKey 传给 服务端(开发者服务器)进行解密获取 结果
}
复制代码
var WXBizDataCrypt = require('./WXBizDataCrypt')
var appId = '**************'
var sessionKey = '*****************'
var encryptedData =
'CiyLU1Aw2KjvrjMdj8YKliAjtP4gsMZM'+
...
...
'20f0a04COwfneQAGGwd5oa+T8yO5hzuy'+
'Db/XcxxmK01EpqOyuxINew=='
var iv = 'r7BXXKkLb8qrSNn05n0qiA=='
// sessionKey、encryptedData、iv 都是 接收 客户端的传值
var pc = new WXBizDataCrypt(appId, sessionKey)
var data = pc.decryptData(encryptedData , iv)
console.log('解密后data: ', data)
// 解密后的返给客户端的数据为
//
// data = {
// "nickName": "Band",
// "gender": 1,
// "language": "zh_CN",
// "city": "Guangzhou",
// "province": "Guangdong",
// "country": "CN",
// "avatarUrl": "http://wx.qlogo.cn/mmopen/vi_32/aSKcBBPpibyKNicHNTMM0qJVh8Kjgiak2AHWr8MHM4WgMEm7GFhsf8OYrySdbvAMvTsw3mo8ibKicsnfN5pRjl1p8HQ/0",
// "unionId": "**************",
// "watermark": {
// "timestamp": 1477314187,
// "appid": "****************"
// }
// }
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。