vue网站第三方登录-微信登录

技术:vue

实现效果

点击微信登录入口➡打开微信登录二维码➡手机扫码授权➡进入系统相应页面
在这里插入图片描述

开发前的准备
在微信开放平台注册开发者帐号,并拥有一个已审核通过的网站应用,并获得相应的 AppID 和AppSecret,申请微信登录且通过审核后,可开始接入流程。

具体实现流程请移步微信官网API

实现方法

1.准备一个回调页面(redirect_uri); 注意:如果项目设置了路由拦截,请避免此页面被拦截

2.从后端获取appid、state加上回调页面地址拼接成链接
(也可以让后端提供一个接口直接返回拼接好的地址)链接示例:
https://open.weixin.qq.com/connect/qrconnect?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect,
地址栏里打开此链接就是二维码页面;
(注意:redirect_uri地址要进行encodeURIComponent编码;)

3.用户允许授权后,将会重定向到redirect_uri的网址上,并且带上 code 和state参数,在此页面可以根据使用场景经行后续操作

代码样例(以下代码仅供参考,具体请根据项目需求灵活运用)
//登录页
//点击微信登录,打开二维码授权页面
 goWechatLogin() {
            let returnUri = encodeURIComponent(`http://******`)
            let url = `https://open.weixin.qq.com/connect/qrconnect?appid=******&redirect_uri=${returnUri}&response_type=code&scope=SCOPE&state=*****#wechat_redirect`
            window.location.href = url
        },

//回调页
//用户允许授权后,将会重定向到redirect_uri的网址上,并且带上 code 和state参数(redirect_uri?code=CODE&state=STATE)
//把code、state用接口传给后端( 封装的请求接口的方法:userApi.weixinLogin)
 userApi.weixinLogin({
                code: this.$route.query.code,
                state: this.$route.query.state,
            }).then((res) => {
                if (res.data.result == 1 && res.data.resCode == "00000") {
					//储存用户信息,或者根据返回信息做相应操作,例如需要此用户绑定手机号,若未绑定则进入绑定手机号页面,已绑定则进入系统首页...
                   
                } 
            })


如果微信授权后进入的页面是固定的且不需要进行任何操作,直接指定redirect_uri为系统里某个页面,那么只需要打开拼接好的链接即可。
  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当使用Vue 3和Koa实现第三方登录,比如微信扫码,你可以按照以下步骤进行操作: 1. 创建一个Vue 3项目,可以使用Vue CLI来初始化项目结构。 2. 在Vue项目中安装需要的依赖,包括axios用于发送HTTP请求、vue-router用于路由管理等。 3. 创建一个登录页面,包括一个扫码按钮和一个显示扫码结果的区域。 4. 当用户点击扫码按钮时,前端将向后端发送请求,请求后端生成一个二维码并返回给前端。 5. 前端使用第三方库(如qrcode.js)将后端返回的二维码显示在页面上。 6. 前端通过轮询或WebSocket等方式向后端发送请求,检查用户是否已经扫码并获取到登录结果。 7. 后端接收到前端发送的请求后,调用微信开放平台的API生成一个登录二维码,并将二维码地址返回给前端。 8. 用户使用微信扫描二维码后,微信将用户信息发送给后端。 9. 后端接收到微信发送的用户信息后,进行验证,并生成一个登录凭证(如JWT)返回给前端。 10. 前端接收到登录凭证后,可以将凭证保存在本地(如localStorage)中,并跳转到其他页面。 11. 在后续请求中,前端可以将登录凭证添加到请求的Header中,后端通过验证凭证来判断用户的登录状态。 12. 后端在接收到带有登录凭证的请求时,可以解析凭证,获取用户信息,并进行相关业务处理。 这只是一个简单的实现方案,具体的实现细节可能会因为微信开放平台的API和业务需求而有所不同。你可以参考微信开放平台的文档和相关示例代码来完成具体的实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值