vue分享到微信朋友圈,vue怎么实现登录
微信登录的两种实现方法:
说在前面:由于微信的限制不得不将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动作中的微信登录界面
判断resultStatus和resultData中有表示获得了微信数据的值,更新vuex
注意:设置微信二维码的回调地址一定要和部署好的地址路径一致,只能在线上进行调试。