微信登录两种实现方法:

说在前面:由于微信的限制不得不将vue的路由模式切换为history模式。

第一种:

后端实现二维码,将二维码的跳转链接返回前端,并且传一个state给前端做标识,前端需要点击跳转到一个单独的微信登录页面,然后开始调用轮询接口传入state监听用户扫码的操作

检测后端返回字段,success为后端检测到用户点击了授权,error为用户取消授权,

用户授权后用state继续请求微信数据,成功拿到用户数据

第二种: 前端生成二维码

首先根据官方文档,需要建立一个放置二维码的容器(由于我的项目登录采用的是弹窗,所以不能再mounted中渲染二维码,因为弹窗在父组件加载时就已经渲染好,所以使用watch侦听控制登录弹窗的参数进行以下操作)

对其进行监听,此时验证码渲染完毕,

设置二维码的函数如下:

self_redirect:   true:手机点击确认登录后可以在 iframe 内跳转到 redirect_uri,false:手机点击确认登录后可以在 top window 跳转到 redirect_uri。默认为 false。

id:为二维码的容器id

appid:后台配置好的appid 问后台拿!

scope:网页应用目前仅填写snsapi_login即可

redirect_url:扫码成功后的回调地址,由于本项目需要多个地方进行登录操作,所以需要模板字符串拼接回调。

state:为了防止csrf(跨站请求伪造攻击),设置一个3位的随机数

配置好后用户点击登录就会跳转到扫码的页面,同时会发现地址后边已经携带了query

然后可以在router.js文件中监听到query值

紧接着调用vuex的action中保存的微信登录接口

判断 resultStatus和resultData中有值说明已经拿到了微信的数据,更新vuex

注意:设置微信二维码的回调地址一定要和部署好的地址路径一致,只能在线上进行调试。

Vue前端实现微信扫码登录相关推荐

  1. Vue 实现企业微信扫码登录

    前端 Vue 实现企业微信扫码登录 需求:公司用的企业微信,PC 端的管理后台,想通过企业微信扫码登录.相比传统的账号密码方便很多. 企业微信扫码登录流程文档:(链接) 对于前端来说,重要的是如何构造 ...

  2. Vue前端开发——微信扫码支付

    1.安装 qrcodejs2 (注意:安装的是qrcodejs2,不要安装qrcode ---> 会报错) npm install qrcodejs2 --save 2.Course.vue中页 ...

  3. vue PC端微信扫码登录

    我用的element,要是在弹窗里面使用,还是用自定义弹窗比较好,据说用官方的el-dialog会出不来.上代码: 在index.html页面里面引入对应的脚本 <script src=&quo ...

  4. 前端实现 微信扫码登录网站 pc端(二维码嵌套页面) 超详细,包会

    一.准备工作 本人申明:本案例使用到的appid和AppSecret都是无效的 appid:应用唯一标识,在微信开放平台提交应用审核通过后获得 AppSecret:在微信开放平台提交应用审核通过后获得 ...

  5. 项目整合微信扫码登录功能

    项目整合微信登录功能 一.准备工作 https://open.weixin.qq.com 1.注册 2.邮箱激活 3.完善开发者资料 4.开发者资质认证 准备营业执照,1-2个工作日审批.300元 5 ...

  6. vue实现pc端扫码登录

    vue pc端微信扫码登录 文章目录 vue pc端微信扫码登录 效果图 方式一:npm 安装并引入插件 参数说明 使用 自定义样式 方式二:通过js 引用js文件 vue 使用 注意 效果图 方式一 ...

  7. vue实现网页端企业微信扫码登录功能(前端部分)

     时至今日,企业微信在企业日常工作中的使用越来越频繁也越来越重要,不少企业已使用企业微信进行着日常的工作安排管理.在这种背景下,各类系统和企业微信对接的需求也不断增加,今天要说的就是一个比较常见的需求 ...

  8. 【vue+pc端】实现微信扫码登录pc端,后端通过微信开发平台,前端生成二维码(仅供参考)

    这两周的需求是通过微信扫码登录pc端,刚定下需求原型图还没出来前,后端特意发了微信开发平台的链接给我,关于如何生成二维码的文档,以及扫码跳转后如何传code给他. 请戳这里准备工作|微信开放文档 我最 ...

  9. vue 微信扫码登录嵌入方式及开发踩的坑点

    文章目录 1. 微信扫码登录开发文档 申请AppID,AppSecret,配置回调地址 2. 微信扫码登录方式 3. 微信扫码登录代码 4. 使用 href 更改内嵌的样式 5. 坑点1:redire ...

最新文章

  1. python密码学编程pdf-Python密码学编程 PDF 下载
  2. 04-Debug FS
  3. 为啥有的程序员不爱说话,却表达能力爆表?(附教程)
  4. java HashMap的keyset方法
  5. arcgis批量处理nc文件_ArcGIS处理NetCDF(.nc)的多维科学数据
  6. Spring Cloud 是什么
  7. iOS 上的相机捕捉 swift
  8. Linux下Tomcat性能优化--文件句柄数增大
  9. python课程预告_Python3编程预告
  10. 微信公众号推送天气预报Python
  11. 1-selenium-安装及模拟谷歌邮箱登录
  12. 解决Proteus中的[SPICE] * stepping time与[SPICE] TRAN Timestep too small错误
  13. layer mobile使用方法
  14. iapp禁止抓包软件代码
  15. cad画直角命令_cad中怎么把直角倒角
  16. Auto.js实现自动删除朋友圈照片
  17. 发布、发版、上线流程
  18. php 将信息写入文件格式,PHP 将信息写入文件
  19. Python中有关文件的操作
  20. 31_ElasticSearch 修改IK分词器源码来基于mysql热更新词库

热门文章

  1. linux关闭8080端口,Linux修改iptables,取消8080的访问限制
  2. STM32—LED单灯闪烁之软件延时
  3. IDEA插件系列(20):Grep Console插件——显示多颜色调试日志
  4. 《网络安全应急响应技术实战指南》知识点总结(第10章 流量劫持网络安全应急响应)
  5. Unity Shader 之 正方形图片四角圆角的简单实现(不用遮罩Mask)
  6. x264和x265编码技术的区别
  7. MySQL倒序查询最后三条语句_MySQL 中 一条 order by index limit 语句的分析
  8. Android单应用开多进程与单进程跑多应用
  9. 连接Ubuntu 出现 Algorithm Negotiation failed 错误
  10. STM32+光敏模块