一面完凉凉,感觉问的有点偏客户端了。
莉莉丝 一面
微信扫码登陆的过程
扫码登录过程:
- 用户访问登录页面,前端向后端请求登录的二维码和key,这个key用来索引用户登录状态。
- 服务端生成二维码,并将key(假设是"123")保存(本地或redis),然后将二维码和参数返给前端,这里可以后端生成二维码并上传到OSS,然后返回给前端二维码的地址;也可以直接返回给前端字符串,前端自己去生成二维码:https://www.npmjs.com/package/qrcodejs。
- 前端获取到key="123"和二维码后,就使用key开始轮询登录状态,等待用户扫码登录。(这里的轮询可以用websocket长连接代替)。
- 用户手机已经扫码后,移动端跳转到授权登录页(携带参数key=“123”)。
- 用户点击登录后,前端调用后端接口,通知后端:“"123"对应的用户是我,我已经授权PC网页登录了,我的用户信息是:XXXXX”。
- 后端找到"123"对应的信息,更新用户登录状态为true,并更新用户信息。前端轮询再发轮询时候,后端发现状态改变,则返回给前端登录成功,并返回登录的用户信息。
- 前端收到登录成功的返回,就更新登录状态,展示用户信息,停止轮询。
两台电脑二维码进行跳转怎么做?