微信小程序 获取手机号码详解
生活随笔
收集整理的這篇文章主要介紹了
微信小程序 获取手机号码详解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
小程序中有很多地方都會用到注冊用戶信息的地方,用戶需要填寫手機號等,
? ? ? 有了這個組件可以快速獲取微信綁定手機號碼,無須用戶填寫。
1.getPhoneNumber這個組件通過button來實現(別的標簽無效)。將button中的open-type=“getPhoneNumber”,并且綁定bindgetphonenumber事件獲取回調。
< button open-type= "getPhoneNumber" bindgetphonenumber= "getPhoneNumber"> 獲取手機號碼 </ button >這個組件之前必須先調用login接口,如果沒有調用login點擊button時會提示先調用login。
[html]? view plain copy
} }) } else { console.log( '獲取用戶登錄態失敗!' + res.errMsg) } } });
3.通過bindgetphonenumber綁定的事件來獲取回調?;卣{的參數有三個,
errMsg:用戶點擊取消或授權的信息回調。
iv:加密算法的初始向量(如果用戶沒有同意授權則為undefined)。
encryptedData: 用戶信息的加密數據(如果用戶沒有同意授權同樣返回undefined)
[html]? view plain copy
if (e.detail.errMsg == 'getPhoneNumber:fail user deny') { wx.showModal({ title: '提示', showCancel: false, content: '未授權', success: function (res) { } }) } else {
wx.checkSession({ success: function () { console.log( 1); wx.request({ url: 'https://m.xianmaogame.com/sd_idiom/xcx/getPhoneNumber/demo.php', data: { encryptedData:e.detail.encryptedData, iv:e.detail.iv, sessionKey:session_key }, method: 'GET', success: function (res) { console.log( '獲取手機號碼成功'); console.log(res); } }) }, fail: function () { console.log( 2); wx.login({ success: function (res) { if (res.code) { //發起網絡請求 wx.request({ url: '' data: { code: res.code }, success: function (response) { var openId = response.data.openid; var session_key = response.data.session_key wx.request({ url: '', data: { encryptedData: e.detail.encryptedData, iv: e.detail.iv, sessionKey: session_key }, method: 'GET', success: function (res) { console.log( '獲取手機號碼成功'); console.log(res); } }) } }) } else { console.log( '獲取用戶登錄態失敗!' + res.errMsg) } } }); } }) }
5.用戶同意授權,我們可以根據login時獲取到的code來通過后臺以及微信處理拿到session_key,最后通過app_id,session_key,iv,encryptedData(用戶同意授權errMsg返回‘getPhoneNumber:ok’)
6.解密的方法可以去微信官方開發文檔查看,有很詳細說明。 加密數據解密算法(官方文檔)總結
以上是生活随笔為你收集整理的微信小程序 获取手机号码详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 生产者和消费者的理解
- 下一篇: 转java开源