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绑定。

    代码下次贴

  • 相关阅读:
    python 远程 部署和运行
    学习笔记——UML类图
    Core Data 多线程操作实战篇
    Core Data系列六——Custom Migration
    Core Data系列五——数据迁移方案
    NSOperation以及NSOperationQueue的使用
    Magical Record设计小谈
    Core Data系列四——多线程设计
    Core Data系列三——基本使用
    Core Data系列二——基础概念
  • 原文地址:https://www.cnblogs.com/tingfengqieyu/p/5442729.html
Copyright © 2011-2022 走看看