小程式中有很多地方都會用到註冊用戶資料的地方,用戶需要填寫手機號碼等,有了這個元件可以快速取得微信綁定手機號碼,無須用戶填寫。本文主要跟大家分享微信小程式取得手機號碼授權使用者登入功能,需要的朋友參考下吧,希望能幫助大家。
1.getPhoneNumber這個元件透過button來實現(別的標籤無效)。將button中的open-type=“getPhoneNumber”,並且綁定bindgetphonenumber事件取得回調。
<span style="font-size:14px;"><button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"></button></span>
2.在使用這個元件之前必須先呼叫login接口,如果沒有呼叫login點擊button時會提示先呼叫login。
App({ onLaunch: function () { wx.login({ success: function (res) { if (res.code) { //发起网络请求 console.log(res.code) } else { console.log('获取用户登录态失败!' + res.errMsg) } } }); } })
3.透過bindgetphonenumber綁定的事件來取得回呼。回呼的參數有三個,
errMsg:使用者點擊取消或授權的資訊回呼。
iv:加密演算法的初始向量(如果使用者沒有同意授權則為undefined)。
encryptedData: 使用者資訊的加密資料(如果使用者沒有同意授權同樣回傳undefined)
getPhoneNumber: function(e) { console.log(e.detail.errMsg) console.log(e.detail.iv) console.log(e.detail.encryptedData) if (e.detail.errMsg == 'getPhoneNumber:fail user deny'){ wx.showModal({ title: '提示', showCancel: false, content: '未授权', success: function (res) { } }) } else { wx.showModal({ title: '提示', showCancel: false, content: '同意授权', success: function (res) { } }) } }
4.最後我們需要根據自己的業務邏輯來進行處理,如果使用者不同意授權的話可能我們會有一個讓他手動輸入的介面,如果不是強制獲取手機號碼的話可以直接跳轉頁面進行下一步。 (使用者不同意授權errMsg返回'getPhoneNumber:fail user deny')
5.使用者同意授權,我們可以根據login時取得到的code來透過後台以及微信處理拿到session_key,最後透過app_id,session_key,iv,encryptedData(使用者同意授權errMsg返回'getPhoneNumber:ok')
又學會一種小程式功能,希望能幫助大家。
相關推薦:
#以上是實例講解微信小程式取得手機號碼授權使用者登入功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!