在小程序開發中,獲取用戶信息,獲取手機號基本是必須用到的功能
但是有時可能會遇到“手機號解析失敗”的問題,這個時候我們檢查下代碼是否是在獲取手機號的回調中才調用的wx.login的方法,如果是這樣,這一點官方文檔是有說明的,如下:
所有解決辦法是提前調wx.login,在獲取手機號的回調方法中取檢驗登錄狀態,代碼如下:
onLoad: function (options) {
wx.login({
success: res => {
that.setData({
code: res.code
})
}
})//先登錄在獲取手機號
},
getPhoneNumber(e) {
let encryptedData = e.detail.encryptedData
let iv = e.detail.iv
wx.checkSession({
success() {
//session_key 未過期,並且在本生命週期一直有效
},
fail() {
// session_key 已經失效,需要重新執行登錄流程
wx.login({
success: res => {
code = res.code
that.setData({
code: code
})
}
})
},
complete() {
//將code,encryptedData,iv傳給後臺進行解密
}
})
}