今天在工作中遇到一个需要制作微信授权用户手机号的功能,在此记录一下。
首先整个代码的实现思路如下:
下面开始上代码
<button open-type="getPhoneNumber" @getphonenumber="onGetPhoneNumber">
点击授权
</button>
先写一个授权按钮,通过该按钮唤起微信手机号授权框,实现上一步其实就可以在页面上看见如下弹出框了
然后我们写入如下js代码:
onGetPhoneNumber(e) {
if (e.detail.errMsg == "getPhoneNumber:fail user deny") {
//用户决绝授权
//拒绝授权后弹出一些提示
} else {
//允许授权
this.sendRequest({
url: "你的url",
method: "post",
data: {
iv: e.detail.iv,
encryptedData: e.detail.encryptedData,
sessionKey: uni.getStorageSync("sessionKey"),//需要先授权登录,然后后端把sessionKey传给前端接收
},
success: (res) => {
this.isToast("授权成功");
},
error: (err) => {
this.isToast("未知错误");
},
});
}
},
就可以成功和后端对接,获取到用户允许授权的手机号码。