第一步: 首先将使用button标签,将open-type设置为getPhoneNumber
<button class="xjbj" bindgetphonenumber="getPhoneNumber" open-type="getPhoneNumber"></button>
第二步:
通过getPhoneNumber事件获取encryptedData和iv
通过wx.login获取code,换取后台传的openid和session_key
getPhoneNumber(e){
console.log(e)
var that=this
//只有当用户允许了授权才能继续执行
if(e.detail.errMsg!="getPhoneNumber:ok"){
wx.showToast({
title: '请允许授权认证',
icon:'none'
})
return
}else{
that.setData({
encryptedData:e.detail.encryptedData,
iv:e.detail.iv
})
}
//通过wx.login获取code
wx.login({
success (res) {
wx.request({
//获取openid和session_key
url:app.globalData.htmlurl+'IDPhoto/Jscode2session',
method:"POST",
data: {
code:res.code
},
success: function (r) {
console.log(r)
var data=r.data;
if(data.code===0){
that.setData({
openid:data.data.openid,
session_key:data.data.session_key
})
wx.setStorage({
data: that.data.openid,
key: 'openid',
})
}
wx.showLoading({
title: '请稍等。。。',
icon:'none'
})
// 获取手机
wx.request({
url:app.globalData.htmlurl+'IDPhoto/GetPhoneNumber',
method:"POST",
data: {
encryptedData:that.data.encryptedData,
iv:that.data.iv,
session_key:that.data.session_key
},
success: function (i) {
console.log(i)
var data=i.data;
if(data.code===0){
that.setData({
phone:data.data.phoneNumber,
num:1
})
wx.setStorage({
data: that.data.phone,
key: 'phone',
})
wx.navigateTo({
success:function(e){
wx.hideLoading();
},
url: '/pages/sesuo/sesuo?phone='+that.data.phone+'&openid='+that.data.openid
})
}
},
})
},
})
}
})
},