微信小程序获取手机号码(仅前端部分
作者:互联网
<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"></button>
- 第一步,获取手机号码之前, 需要调用wx.login()方法去获取到code(当然, 如果你放在getPhoneNumber里面也是可以的.
- 第二步,需要用户手动点击获取手机号的按钮, 触发getPhoneNumber方法.
// 放在onload()方法中, 在页面一加载完成就调用
wx.login({
timeout: 1000,
success(res) {
//console.log(res);
that.setData({
loginCode: res.code
})
// 这里需要用户和后端实现一个回话.
fail(err) {
//console.log(err);
}
})
})
getPhoneNumber(e) {
let that = this
this.setData({
iv: e.detail.iv,
encryptedData: e.detail.encryptedData
})
// 这里根据用户点击, 判断一下, 如果点击了取消, 将触发下面方法
if(e.detail.errMsg == 'getPhoneNumber:fail user deny'){
wx.showToast({
title: '请您授权手机号,以便提供更好服务',
icon:'none',
duration:5000
})
// 如果用户点了确定, 那么, 前端拿到这个iv和encryptedData传给后端小哥哥进行解密
}else {
wx.request({
url: 'https://xxxxx',
data:{
iv:JSON.stringify(that.data.iv),
d: JSON.stringify(that.data.encryptedData)
},
method:'POST',
header: {
'content-type': 'application/x-www-form-urlencoded',
// 带上cookie
Cookie: wx.getStorageSync('cookie')
},
success(res){
// 根据后端小哥哥传回的数据, 做后续操作
that.setData({
getPhone:false
})
wx.showToast({
title: '登录成功!',
duration:1000
})
}
})
}
},
标签:res,detail,微信,前端,getPhoneNumber,iv,encryptedData,手机号码,wx 来源: https://blog.csdn.net/weixin_40944062/article/details/115732502