关于微信扫码登陆的问题

问题描述

  • 微信扫码登录的时候,为啥扫码的时候,二维码上可以知道我扫描了并且提示点击确定,如果我没有点击确定,点击了取消,它又能知道我取消了,并且恢复二维码状态
  • 这种实时知道用户处于什么状态用了什么技术,是用socket长链接还是轮询?
回复
阅读 907
1 个回答

PC 客户端不太清楚,也许是长连接也许是轮询;网页上微信扫码登录是用的 HTTP 轮询,那个接口你 F12 一下就能看到了。

但这不重要,反正总之是以某种形式从服务器获取到了这个二维码的当前状态。

大致流程就是:

1、客户端从微信服务器那里要了一个二维码,这个二维码里本身携带了可以作为唯一标识的某种参数。
2、你用微信 App 扫这个二维码,微信 App 会尝试解析出来上一步生成的那个参数,然后调用一个接口告诉微信服务器 “我扫了,你随意”。
3、长连接还是轮询无所谓,反正是客户端也用第一步里返回的参数一直从微信服务器获取状态,直到某次状态发现这个二维码被扫了,那么更新自身 UI。
4、后面懒得打了,一样的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏