二维码登录网页版微信的实现方式分析
老大今天才发现微信还可以用网页登录的,觉得有必要模仿到自己的系统中 于是乎我就分析研究了一下实现方式
首先 该功能主要是基于消息推送的。
server端维护着两个列表:
①消息用户列表(能够收发信息的用户,手机和PC)
②PC连接列表(主要字段是根据PC的IP产生的uuid,以及连接状态)
1.PC端请求微信网页时,server会生成并返回一个唯一标识uuid,同时在server端会有一个列表维护这种Uuid
2.网页会以长连接的方式与服务端保持通信
3.手机登陆微信 server会将用户信息放入消息用户列表
4.扫描二维码,这个过程就是获取网页上的uuid,手机端带着uuid向server发送请求,
5.如果server端该uuid不存在,则扫码失败
如果存在,则让用户确认是否用网页登录
6.点击确认,则再向server发送请求,server会将pc的信息与手机的用户信息建立关联,同时向与pc维持的通信发消息微信用户信息,PC上网页就会登录该用户了