微信小程序登录与电话获取流程
这两天实验室需要紧急开发采购微信小程序,虽然我不会,但是看过一点教程就上车了。
今天实现小程序登录与电话获取,流程如下:首先wx.login(获取到code) --> 通过auth.code2Session接入参code等属性(获取openid等,一般在服务器端调用确保安全,但是前端也可以直接调用) -->使用button的open-type属性赋值“getPhoneNumber”来获取电话(加密的) -->传给后台进行解密(微信提供了解密demo)
<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">获取手机号</button>
// 登录
wx.login({
success: res => {
// 发送 res.code 到后台换取 openId, sessionKey, unionId
if (res.code) {
//发起网络请求
console.log(res)
var code = res.code
wx.request({
url:'https://api.weixin.qq.com/sns/jscode2session?appid=*****&secret=*****&js_code='+code+'&grant_type=authorization_code',
// method: "post",
success (res) {
console.log(res);
// that.setData(res.data);
}
})
} else {
console.log('获取用户登录态失败!' + res.errMsg)
}
}
})
// 获取用户信息
wx.getSetting({
success: res => {
if (res.authSetting['scope.userInfo']) {
// 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
wx.getUserInfo({
success: res => {
//
}
}
})
}
}
})
//获取电话
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) { }
})
}
},

浙公网安备 33010602011771号