概述
<button class="login" open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">微信授权一键登录</button>
getPhoneNumber(e) {
let self = this
if (e.detail.errMsg && e.detail.errMsg == 'getPhoneNumber:fail user deny') {
console.log('用户拒绝获取手机号码');
return false
}
self.encryptedData = e.detail.encryptedData; //需要解密的内容
self.iv = e.detail.iv; //偏移量
self.wxLogin()
},
wxLogin() {
let self = this
uni.login({
provider: 'weixin',
success: function(res) {
if (res.code) {
self.$u.post('/getopenid', {
loginCode: res.code
}).then(res => {
if (res.openid) {
let appId = '';//微信小程序appid
let session_key = res.session_key;
const pc = new RdWXBizDataCrypt(appId, session_key);
const data = pc.decryptData(self.encryptedData, self.iv);
if (data) {
self.$store.commit('SET_PHONE', data.phoneNumber)
self.mobile = data.phoneNumber
}
self.open_id = res.openid
self.$store.commit('SET_OPENID', res.openid)
self.creatUser()
}
})
} else {
uni.showModal({
title: '授权失败',
content: '错误原因' + res.message,
showCancel: false
});
}
},
fail: (err) => {
uni.showModal({
title: '授权失败',
content: '获取授权失败:' + err
});
}
})
},
creatUser() {
this.$u.post('/adduser', {
openid: this.open_id,
mobile: this.mobile
}).then(res => {
if (res.status == 200) {
if (res.data.trueName && res.data.identityCard) {
this.$store.commit('SET_CERFICATE', true)
if (this.type) {
if (this.type == 'index') {
uni.switchTab({
url: '/pages/index/index'
})
}
//跳转回原地址
} else {
uni.switchTab({
url: '/pages/my/my'
})
}
} else {
//没实名认证去认证
this.$store.commit('SET_CERFICATE', false)
uni.navigateTo({
url: '/pages/certifacate/certifacate?type=' + this.type
})
}
}
})
},
qdzsd: 前端开发时有可能用到的文件 - Gitee.com
最后
以上就是平常美女为你收集整理的uniapp 手机号授权登录 微信低版本兼容问题的全部内容,希望文章能够帮你解决uniapp 手机号授权登录 微信低版本兼容问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复