一對一原始碼,選擇手機號登入併發送驗證碼
阿新 • • 發佈:2022-03-22
一對一原始碼,選擇手機號登入併發送驗證碼實現的相關程式碼
1使用button按鈕,
並新增屬性open-type=“getPhoneNumber” bindgetphonenumber=“bindgetphonenumber”
<button class="login-title" open-type="getPhoneNumber" bindgetphonenumber="bindgetphonenumber">
<text class="login-click">點選登入</text>
<view class="login-vip">登入享受更多專屬特權</view>
</button>
2. 在js新增對應的方法bindgetphonenumber()
//獲取使用者資訊 ①第一步通過login登入獲取code
bindgetphonenumber(e) {
let telThat = this;
wx.login({
success(res) {
if (e.detail.errMsg == "getPhoneNumber:ok") { //允許授權
//res.code是通過login獲取的,傳遞給後端,後端會通過code獲取session_key、unionid
//e.detail.iv通過使用者點選允許授權獲取到的
//e.detail.encryptedData通過使用者點選授權獲取到的,加密的使用者資訊(包含使用者暱稱、手機號等)
telThat.getPho(res.code, e.detail.iv, e.detail.encryptedData);
}
}
})
},
//獲取解密後的使用者手機號 ②第二步通過後端介面獲取解密後的使用者資訊(包含使用者暱稱、手機號等)
getPho(code, iv, encryptedData) {
let thatCo = this;
var date = util.getDate(new Date());
var str = 'hdH7trswgIJJbKCV6ppmcCIU8C0etXmI';
var tokenWx = md5.hex_md5('get_decode_userinfo' + date + str);
http.req('/api/index_wx.php', { //自己的介面路徑
act: 'get_decode_userinfo', //自己介面的引數
token: tokenWx, //自己介面的引數
wxcode: code, //上方login獲取到的code
iv: iv, //允許授權獲取到的iv
encryptedData: encryptedData, //允許授權獲取到的encryptedData
}, (res) => {
if (res && res.code == 200) {
//解密後的資料為res
// 將手機號儲存到本地
wx.setStorage({
key: "phos",
data: this.data.pho
})
}
})
},
3. 獲取storage中的手機號,此時的key要和setStorage中的key屬性值要一致
let loThat = this;
var returnPho1 = setTimeout(function () {
wx.getStorage({
key: 'phos',
success(res) {
loThat.setData({
pho: res.data
})
}
})
clearTimeout(returnPho1)
}, 500);
以上就是 一對一原始碼,選擇手機號登入併發送驗證碼實現的相關程式碼,更多內容歡迎關注之後的文章