今天完成了pc端微信相关功能的开发,主要是账号与微信绑定,微信扫码登陆。

流程,用户登陆后,在个人中心里有一个和微信绑定界面,用户使用微信扫描后,当前账号和微信账号绑定,可以用来微信扫描登陆。

在登陆界面用户可以微信扫描登陆,前提是该账号和微信已绑定。如下

上图,该界面用户扫码

上图,用户扫码成功后,手机界面显示登陆成功,pc界面也显示登陆成功,几秒后转跳至用户中心。

关键:手机端和电脑端是同一个域名,在ThinkPHP中也是存在于同一个分组下。这样的话,手机端登陆,电脑端也就实现了登陆。其他情况略微复杂。

详细流程梳理:

登陆:二维码携带电脑端的参数session_id访问微信端的控制器,该控制器由于是微信用户的访问所以可以获取该用户的微信open_id,在数据库中user表中查询到open_id对应的用户,手机网页端实现登陆(把用户的uid写入session),这样用户实现了登陆。

同时,电脑登陆二维码界面要有个js函数用ajax不断访问一个控制器,该控制器只需返回用户是否登陆,如果当返回的是登陆后,隐藏二维码并显示登陆成功,几秒后转跳至用户中心。登陆完成。

账号绑定:如果用户没有绑定账号,在登陆中获取到open_id后是查询不到对应的用户uid的,所以也就没法登陆,所以账号绑定是将用户的uid和他访问时的open_id绑定,这样就可以用open_id登陆。

账号绑定界面的二维码携带用户的uid访问微信端的控制器,该控制器由于是微信用户的访问所以可以获取该用户的微信open_id,查询该open_id是否在用户表里存在,如果存在则表明已绑定了账号,如果没有,则将传过来的uid和open_id绑定。

代码下次贴

转载于:https://www.cnblogs.com/tingfengqieyu/p/5442729.html

账号与微信绑定,微信扫码登陆相关推荐

  1. 网页版微信和微信公共号扫码登陆原理分析

    看到知乎上有关于微信扫码登陆原理的讨论.现将自己的分析结果写出来,供大家参考,不正确的地方望指正. 用户打开网页版微信: https://wx.qq.com/,微信为用户生成了一张包含uuid的二维码 ...

  2. 提问:微信网页授权到第三方调用错误、调用微信公众号扫码登陆错误、微信SCOP权限错误或没有权限

    总结: 调用微信扫码,但是微信返回提示SCOP错误,我的微信公众号认证了,也把对应的域名填写了,代码上填写的snsapi的路径是填写在对用网页授权域名下的路径. 错误原因: 应该是微信公众号上的配置错 ...

  3. iOS 11.3 显示:Apple ID 或将实现微信式扫码登陆

    点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 据外媒 9to5mac 近日报道,苹果似乎在筹备基于 "iCloud 个人数据&q ...

  4. 微信扫码登陆PC端(Vue)(小程序)

    本文章基于Vue项目并且已经开发一个完整上线的微信小程序,制作PC端时实现微信小程序扫码登陆PC端. 一.向后端请求token 1.后端会定时生成并更新的一个token 2.正常的接口请求从后端拿到这 ...

  5. 第六天 黑马十次方 用户注册、用户登陆掌握js-cookie、微信扫码登陆、nuxt嵌套路由

    学习目标: ** 完成用户注册功能 完成用户登陆功能,掌握js-cookie的使用 完成微信扫码登陆的功能 完成用户中心嵌套布局,掌握nuxt嵌套路由的使用 ** 1 用户注册 1.1 页面构建 创建 ...

  6. CAS在windows AD下实现企业微信自动扫码登陆的总结

    基础名词 CAS(Central Authentication Service),可以看作中心授权服务器 SSO(Single Sign On),单点登录 SSO相关知识 同域SSO(blog.212 ...

  7. java实现PC网站实现微信扫码登陆

    近期,开发一个项目要求PC网站可以进行扫码登陆. 1.前期工作 需要先在微信开放平台进行注册(https://open.weixin.qq.com/),并认证一个网站应用. 点击查看按钮,我们需要记录 ...

  8. 利用临时二维码实现在电脑浏览器上的微信扫码登陆功能 - EasyWeChat版

    2019独角兽企业重金招聘Python工程师标准>>> 这个方法最开始用在还没有"微信开放平台"的时候,现在也有不少网站在用,简单说就是生成一个临时二维码放到服务 ...

  9. 微信扫码登陆功能(保姆级)

    微信官网文档 https://developers.weixin.qq.com/doc/oplatform/Website_App/WeChat_Login/Wechat_Login.html 一.申 ...

最新文章

  1. 动态导入ECMAScript模块一文看懂
  2. 虚拟机(VMware Workstation Pro)安装多台Linux
  3. Java如何支持函数式编程?
  4. 几个最短路径算法Floyd、Dijkstra、Bellman-Ford、SPFA的比较
  5. nodejs: mkdirs 递归创建目录
  6. 基本类型与字符串的相互转换
  7. Python之数据分析(算数平均值、加权平均值、最大值与最小值)
  8. Mysql访问中间件--Atlas初探
  9. golang的配置文件操作:viper
  10. 10KV变配电增容工程电力监控系统的设计与应用
  11. 阙值,阈值,阀值,傻傻分不清
  12. 【项目】多部门数据对接
  13. Java中IO(三、转换流与打印流)
  14. 华为云计算产品白皮书与案例合集
  15. 学习TDD:TDD的好处
  16. mysql5.7.118安装_MySQL 5.7.XX zip 安装
  17. 五分钟学GIS | 立体效果地图制作
  18. 服务器centos7.5系统下配置完DNS可以P通IP不能解析域名
  19. 解决微雪2.13寸墨水屏分屏问题(1)
  20. D-Magical Bamboos

热门文章

  1. 学校的地下网站(学校的地下网站1080P高清)
  2. 正文内容过长时,offsetHeight的获取和监听变化
  3. PPT2007无法输入中文
  4. 【推荐系统】方法论 | 数据驱动 | 深度学习RS
  5. iOS获取设备型号、设备类型等信息
  6. 利用有道翻译实现英汉互译
  7. jfinal-utils
  8. DDay.iCal - an iCalendar class library
  9. 概括一下服务器丢包率是什么以及影响
  10. 家庭装修要注意哪些事项?