收藏
回答

关于登录态token过期处理,重新请求?

框架类型 问题类型 终端类型 微信版本 基础库版本
小程序 需求 客户端 7.0.4 2.4.4

- 需求的场景描述(希望解决的问题)


我看社区里面大家说了这个问题,但是重新请求怎么放到封装好的request里?是根据返回的错误信息来重新请求?



- 希望提供的能力


回答关注问题邀请回答
收藏

2 个回答

  • Q
    Q
    2019-06-27

    最终还是自己解决了,也是自己比较满意的方案

    是在封装好的请求里加上拦截器,在发送请求前判断如果没有token,就请求一次login,然后再请求要请求的接口

    封装好的请求如果不会加拦截器可以用第三方库,比如flyio,直接使用拦截器,好用

    2019-06-27
    有用 1
    回复 4
    • 余亦然也
      余亦然也
      2019-10-11
      朋友有代码吗?我想参考一下谢谢
      2019-10-11
      回复
    • 刘高艺
      刘高艺
      09-01
      封装request,如何避免过期后多个请求函数重复请求的问题?
      09-01
      回复
    • Q
      Q
      09-02回复刘高艺
      我也在研究这一块,没有较好的方案,可以试试改造request,合并相同请求,但比如login接口的code其实不是一样的,没法合并,如果想解决必须单独给login进行改造,合并login请求
      09-02
      回复
    • 刘高艺
      刘高艺
      09-02
      最近也是遇到这种问题,虽然对过期做了统一的拦截,但是拦截后的重新登录再多个接口请求时候会触发多次
      09-02
      回复
  • ʚ青哥ɞ
    ʚ青哥ɞ
    2019-06-27

    token过期服务端会判断并返回一个状态值比如200,然后你就知道过期了,重新走登录流程

    2019-06-27
    有用
    回复 25
    • Q
      Q
      2019-06-27

      这个我知道,我的意思是这个请求403在未登录结束前请求了就会返回403,这种情况上图说重新登录并重新请求,但是我不明白如何请求刚才的接口

      2019-06-27
      回复
    • ʚ青哥ɞ
      ʚ青哥ɞ
      2019-06-27回复Q

      你的意思是登录流程还没走完就请求了接口,需要重新请求这个接口吗

      2019-06-27
      回复
    • Q
      Q
      2019-06-27回复ʚ青哥ɞ

      是啊

      2019-06-27
      回复
    • Q
      Q
      2019-06-27回复ʚ青哥ɞ

      因为我的登录是放在onLaunch里,有些请求放在page的onload里

      2019-06-27
      回复
    • ʚ青哥ɞ
      ʚ青哥ɞ
      2019-06-27回复Q

      做个本地缓存之类的,有接口请求失败记录一下,登录成功后判断有没有记录,有就再次请求这个接口

      2019-06-27
      回复
    查看更多(20)
登录 后发表内容