AI写作智能体 自主规划任务,支持联网查询和网页读取,多模态高效创作各类分析报告、商业计划、营销方案、教学内容等。 广告
> 在扫码登录中,redis主要用于设置二维码过期时间,并在不同阶段保存扫码的不同状态 扫码登录流程大概如下: 1. 生成二维码,二维码内容保存一个code,已code作为键,初始内容为{status:0,uid:0,portrait:''} 2. 手机扫描二维码,获得code;手机带上code和用户token请求服务端,服务端根据token查询用户信息,并保存到以code为键的缓存,状态设置为已扫描;{status:1,uid:1,portrait:'http://xxx.png'} 3. 游览器检测登录状态,每隔一秒轮询一次服务端,或者用websocket;如果此时已扫描,则轮询的接口会返回用户的头像到游览器的页面上 4. 手机确认登录,带上code和用户token请求服务端,服务端设置code状态为确认登录;{status:2,uid:1,portrait:'http://xxx.png'} 5. 客户端轮询到为确认状态,设置code状态为已登录,并自动执行登录;{status:3,uid:1,portrait:'http://xxx.png'} 6. 登录成功,清除缓存 status状态: 0 : 初始化 1 : 已扫描 2 : 确认登录 3 : 已登录 至于为什么登录时要设置一个已登录状态,是因为若游览器一秒请求一次服务端,此时服务端上一个请求登录过程超过1秒,还没登录完成时又来一个请求,设置为已登录的话,下一个请求只要看到为已登录状态则不处理直接忽略即可