tencentyun/wafer2-client-sdk

使用qcloud.requestLogin接口以后重新登录的问题

Closed this issue · 1 comments

最新版的wafer2-client-sdk因wx.getUserInfo接口的调整,增加了qcloud.requestLogin接口以适配其变化。在小程序中使用qcloud.requestLogin来登录业务后台,要求在页面使用open-type为getUserInfo的button来触发授权,那么问题来了:因为会话有时限的缘故,对于每一次发起的业务后台请求,在wx.checkSession返回fail时都需要再次访问qcloud.requestLogin接口以重新登录,这就意味着小程序需要中断业务逻辑,向用户呈现一个button来再次申请授权。

tencentyun/wafer2-startup#127里,90arther提到官方的流程如下:
`

  1. wx.login
  2. wx.getUserInfo(改用button形式)
  3. 用code换取session_key
  4. 用session_key\iv\encryptData解密
    这个过程,每五到十分钟调用一次,能稳定复现解密失败的问题
    `

用户初次进入小程序时,使用button来获取getUserInfo的授权不会给体验带来太多的负面影响,但如果在处理业务的过程中还需要用户触发button来重新登录的话,那就无法忍受了。

更新了相关实现,可以参考:tencentyun/wafer2-quickstart#10