这里前端实现拿到加密的手机号,解密需要后端掉微信的接口
view视图
小程序的button中 有一个open-type 值,这个值可以设置成getPhoneNumber 即获取当前微信的手机号,也可以改边手机号
<button type="primary" class="btn" open-type="getPhoneNumber" @getphonenumber="getPhone">授权获取手机号</button>
这个按钮必须由用户自己操作触发,从data中拿到encryptedData,iv 这两个是要传递给后端的值
js代码
getPhone: function(data) {
console.log(data);
const { encryptedData,iv } = data.detail;
if (encryptedData) {
console.log("允许获取");
console.log("encryptedData==", encryptedData);
console.log("iv==", iv)
} else {
console.log("拒绝获取");
}
}
现在还需要一个code,想要获取code,需要调用wx.login 拿到当前code
wx.login({
success(res) {
console.log("code==", res.code);
}
})
注意:一定要先拿到code 才能 获取手机号解密!!后端将code,encryptedData,iv调起微信的解密接口即可。微信开发者工具同样可以看到效果,不过跟真机上的效果不一样,下面是成功获取手机号