微信小程序獲取手機號授權(quán)用戶登錄功能
小程序中有很多地方都會用到注冊用戶信息的地方,用戶需要填寫手機號等,有了這個組件可以快速獲取微信綁定手機號碼,無須用戶填寫。
1.getPhoneNumber這個組件通過button來實現(xiàn)(別的標(biāo)簽無效)。將button中的open-type=“getPhoneNumber”,并且綁定bindgetphonenumber事件獲取回調(diào)。
<span style="font-size:14px;"><button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"></button></span>
2.在使用這個組件之前必須先調(diào)用login接口,如果沒有調(diào)用login點擊button時會提示先調(diào)用login。
App({
onLaunch: function () {
wx.login({
success: function (res) {
if (res.code) {
//發(fā)起網(wǎng)絡(luò)請求
console.log(res.code)
} else {
console.log('獲取用戶登錄態(tài)失?。? + res.errMsg)
}
}
});
}
})
3.通過bindgetphonenumber綁定的事件來獲取回調(diào)。回調(diào)的參數(shù)有三個,
errMsg:用戶點擊取消或授權(quán)的信息回調(diào)。
iv:加密算法的初始向量(如果用戶沒有同意授權(quán)則為undefined)。
encryptedData: 用戶信息的加密數(shù)據(jù)(如果用戶沒有同意授權(quán)同樣返回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: '未授權(quán)',
success: function (res) { }
})
} else {
wx.showModal({
title: '提示',
showCancel: false,
content: '同意授權(quán)',
success: function (res) { }
})
}
}
4.最后我們需要根據(jù)自己的業(yè)務(wù)邏輯來進行處理,如果用戶不同意授權(quán)的話可能我們會有一個讓他手動輸入的界面,如果不是強制獲取手機號的話可以直接跳轉(zhuǎn)頁面進行下一步。(用戶不同意授權(quán)errMsg返回‘getPhoneNumber:fail user deny')
5.用戶同意授權(quán),我們可以根據(jù)login時獲取到的code來通過后臺以及微信處理拿到session_key,最后通過app_id,session_key,iv,encryptedData(用戶同意授權(quán)errMsg返回‘getPhoneNumber:ok')
總結(jié)
以上所述是小編給大家介紹的微信小程序獲取手機號授權(quán)用戶登錄功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
layui+ssm實現(xiàn)數(shù)據(jù)表格雙擊編輯更新數(shù)據(jù)功能
在使用layui加載后端數(shù)據(jù)請求時,對數(shù)據(jù)選項框進行雙擊即可實現(xiàn)數(shù)據(jù)的輸入編輯更改,本文結(jié)合示例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2023-12-12
JS格式化字符串的兩種方法(反引號與String.prototype)
本文一共介紹了兩種實現(xiàn)方式,使用反引號或自定義方法實現(xiàn),需要的朋友可以參考下2023-06-06
JavaScript實現(xiàn)多個重疊層點擊切換效果的方法
這篇文章主要介紹了JavaScript實現(xiàn)多個重疊層點擊切換效果的方法,實例分析了javascript實現(xiàn)點擊切換效果的相關(guān)技巧,需要的朋友可以參考下2015-04-04

