zoukankan      html  css  js  c++  java
  • 账号与微信绑定,微信扫码登陆

    今天完成了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绑定。

    代码下次贴

  • 相关阅读:
    MYSQL数据库设计规范与原则
    PHP-CI框架数据库连接默认是长连接,需要注意应用场景
    mysql性能调优与架构设计笔记
    JavaScript学习笔记
    PHP一维数组和二维数字排序整理
    MYSQL常用的Show命令笔记
    设计模式之建造者模式
    设计模式之工厂模式
    设计模式前提篇二(C++编程原则)
    设计模式前提篇一(C++/基础)
  • 原文地址:https://www.cnblogs.com/tingfengqieyu/p/5442729.html
Copyright © 2011-2022 走看看