Vue 网页端(pc)微信授权登录的流程与方法

流程:

请添加图片描述

1.在微信开放平台配置微信相关的配置信息。
重要的是配置回传跳转的路径。
2.在代码内配置微信授权登录的配置代码。
这里有两种方法,
1.在当前页面利用微信提供的api接口,生成二维码图片,用户扫码完成过后,跳转到微信授权登录中间页,判断微信返还的状态,是已注册还是未注册。
2.新开一个页面生成二维码图片,扫码成功后,跳转回原登录页面。

生成二维码的方法

前端拿到后端返还的参数,配置在wxlogin的组件内,即可成功得到二维码图片。
或者直接打开后端返还的messge信息,即可获取二维码图片。
以上的前提是配置好微信开放平台的回传的url地址。否者将无法生成图片,会显示参数配置错误。

vue微信登录的方法:

引入vue-wxlogin

npm install vue-wxlogin --save-dev

方法一:

<wxlogin
class="my-wx-code"
:appid=""
:scope="''"
:theme="''"
:redirect_uri=""
:href="'data:text/css;base64,LmltcG93ZXJCb3ggLnFyY29kZSB7d2lkdGg6IDI2MHB4OyAgIG1hcmdpbjogMCBhdXRvOyBwYWRkaW5nOiAwO30KLmltcG93ZXJCb3ggLnRpdGxlIHtkaXNwbGF5OiBub25lO30KLnN0YXR1c19pY29uIHtkaXNwbGF5OiBub25lOyB9Ci5pbXBvd2VyQm94IC5zdGF0dXMge3RleHQtYWxpZ246IGNlbnRlcjsgZGlzcGxheTogbm9uZTt9Ci5pbXBvd2VyQm94IHsgaGVpZ2h0OiAzNTBweDsgcGFkZGluZzogMDsgbWFyZ2luOiAwIGF1dG87IH0KaS5zdGF0dXNfaWNvbi5pY29uMzhfbXNnLnN1Y2MgewogIGRpc3BsYXk6IG5vbmU7Cn0KLmltcG93ZXJCb3ggLnN0YXR1c190eHQgewoJZGlzcGxheTogbm9uZTsKfQppLnN0YXR1c19pY29uLmljb24zOF9tc2cud2FybiB7CiAgZGlzcGxheTogbm9uZTsKfQ==' ">
</wxlogin>
<!-- 
appid:就是我们获取的appid
scope:默认为snsapi_login
theme:二维码颜色
redirect_uri:回调域名,开发平台获取,当用户授权后就会跳转到这个地址
href:二维码的样式
 -->
<script>
import wxlogin from 'vue-wxlogin'
</script>
//跳转到指定路径 例如/oauth-login页面,进行微信鉴权接口的调用(这里的接口是后端定义的),判断用户是否之前已经注册过。
//例如: 
api.wexinlogin('api/weixinlogin',data).then(()=>{
    
    
  if(res.data.status== '200'){
    
    
    //前往登录成功页面,
    存储用户的状态信息
  }else {
    
    
    //前往登录失败页面,具体爆出为什么会授权失败的原因。

  }
})

方法二:

直接拼接好前端请求地址给后端,后端把这些请求参数拼接完成后,
像微信的api请求后获取到返还的url,再给前端,前端直接跳转到
二维码页面。
返还的二维码页面示例:
https://open.weixin.qq.com/connect/qrconnect?response_type=code&appid=·········&redirect_uri=········&scope=snsapi_login&state=1
redirect_uri这里的url指的是扫码成功后所跳转回的url。
我们可以在跳转完成回去的页面的生命周期内,进行对微信登录状态的判断等。

猜你喜欢

转载自blog.csdn.net/m54584mnkj/article/details/130339033