一对一源码,选择手机号登录并发送验证码实现的相关代码
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);
以上就是 一对一源码,选择手机号登录并发送验证码实现的相关代码,更多内容欢迎关注之后的文章