微信扫码登录功能
首先了解微信扫码登录的流程和详解,详见微信扫码登录,这边仅是vue前端相关流程
一.创建微信登录按钮及方法,配置相关参数
1.创建微信登录按钮
<!--微信授权登录按钮-->
<img src="@/assets/images/weixin.png" /><a style="line-height: 60px;height: 60px; margin: 0 5px;" type="text" @click="handLoginByWx">微信扫码登录</a>
2.配置登录相关参数,跳转微信登录二维码授权页面
handLoginByWx() {
const hrefUrl = window.location.href
if (!this.code) {
window.location.href = `
https://open.weixin.qq.com/connect/qrconnect
?appid=APPID
&redirect_uri=${encodeURIComponent(hrefUrl)}
&response_type=code
&scope=snsapi_login
`
}
}
3.进行扫码授权确认
手机扫码二维码确认授权
4.回调
由于vue这边有路由守卫,故相关获取回调返回的code值在路由守卫中进行处理
var temp = (to.path).split('&')
var pram = temp[1]
var item = pram.split('=')
var code = item[1]
next({
path: '/login',
query: { 'code': code }
})
5.登录页监听地址是否存在code
登录页面监听是否获取到微信授权返回的code值,若存在则调用后台提供的接口将code返回给后端
6.根据后端返回的凭证再调用登录接口进行登录
|