问题描述微信扫码登录的时候,为啥扫码的时候,二维码上可以知道我扫描了并且提示点击确定,如果我没有点击确定,点击了取消,它又能知道我取消了,并且恢复二维码状态这种实时知道用户处于什么状态用了什么技术,是用socket长链接还是轮询?
PC 客户端不太清楚,也许是长连接也许是轮询;网页上微信扫码登录是用的 HTTP 轮询,那个接口你 F12 一下就能看到了。但这不重要,反正总之是以某种形式从服务器获取到了这个二维码的当前状态。大致流程就是:1、客户端从微信服务器那里要了一个二维码,这个二维码里本身携带了可以作为唯一标识的某种参数。2、你用微信 App 扫这个二维码,微信 App 会尝试解析出来上一步生成的那个参数,然后调用一个接口告诉微信服务器 “我扫了,你随意”。3、长连接还是轮询无所谓,反正是客户端也用第一步里返回的参数一直从微信服务器获取状态,直到某次状态发现这个二维码被扫了,那么更新自身 UI。4、后面懒得打了,一样的。
PC 客户端不太清楚,也许是长连接也许是轮询;网页上微信扫码登录是用的 HTTP 轮询,那个接口你 F12 一下就能看到了。
但这不重要,反正总之是以某种形式从服务器获取到了这个二维码的当前状态。
大致流程就是:
1、客户端从微信服务器那里要了一个二维码,这个二维码里本身携带了可以作为唯一标识的某种参数。
2、你用微信 App 扫这个二维码,微信 App 会尝试解析出来上一步生成的那个参数,然后调用一个接口告诉微信服务器 “我扫了,你随意”。
3、长连接还是轮询无所谓,反正是客户端也用第一步里返回的参数一直从微信服务器获取状态,直到某次状态发现这个二维码被扫了,那么更新自身 UI。
4、后面懒得打了,一样的。