前端开发思路:
1.通过点击按钮,拿到code,传给后台,后台通过code换取session_key 和 openid 这个地方调取 wx.login 这个API
2.调取wx.getUserProfile获取用户信息。wx.getUserInfo这个api不建议使用了,之前微信调整了获取用户头像昵称的api.
3.把数据传递给后台
<button type="primary" class="sqbtn sqbtn1 f13" @click="userSq"> 授权 </button>
// 获取用户信息
getUserProfile() {
return new Promise((reject, resolve) => {
wx.getUserProfile({
lang: 'zh_CN',
desc: '用于完善会员资料',
success: res => {
reject(res)
},
fail: () => {
uni.hideLoading()
uni.showToast({
title: '请点击允许授权'
})
this.$u.func.showToast('请点击允许授权')
resolve()
}
})
})
},
getCode() {
return new Promise((reject, resolve) => {
uni.login({
provider: 'weixin',
success: res => {
reject(res.code)
},
fail: () => {
uni.hideLoading()
this.$u.func.showToast('授权登录失败')
resolve()
}
})
})
},
//用户授权点击事件
async userSq() {
let _this = this
uni.showLoading({
title: '授权登录中......'
})
_this.code=await _this.getCode()
_this.userData = await _this.getUserProfile()
//在这里就可以放我们自己的传递用户信息的接口了
uni.hideLoading()
_this.flag = false
},
以上就是获取用户信息授权登录的接口。