微信小程序中获取手机号

237 阅读1分钟

这里前端实现拿到加密的手机号,解密需要后端掉微信的接口

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调起微信的解密接口即可。微信开发者工具同样可以看到效果,不过跟真机上的效果不一样,下面是成功获取手机号 qq_pic_merged_1617198452991.jpg