收藏
回答

每一个接口调用都会调wx:login或wx:getUserInfo会使程序卡死?

每一个接口调用都会去调wx:login或wx:getUserInfo,给用户信息即code让后台去换取unionid.这样会出现一个偶现问题,在后台发版本后,小程序会卡在请求前,一直未进入请求接口里面

最后一次编辑于  09-06
回答关注问题邀请回答
收藏

6 个回答

  • V.Xun🌙
    V.Xun🌙
    09-06

    频繁login容易出现的就是jscode换取的sessionkey,和getUserInfo得到的iv,data时效不匹配,后台解码获取unionId时报错

    09-06
    赞同
    回复
  • 淼淼
    淼淼
    09-06

    每次使用code码去换是会耗资源的,可以把登录状态缓存再本地,过期再请求!unionid又不变,为啥要每次都去拿?

    09-06
    赞同
    回复 1
    • HP
      HP
      09-06
      没办法,现在暂时改不了。不知道是不是这个问题影响的
      09-06
      回复
  • HP
    HP
    09-06

    后台有一个登录架包,每一次请求的时候需要拿unionid去判断这个人是否已经登录了,登录了就正常返回,因为登录系统是另外一个团队做的,不好去改

    09-06
    赞同
    回复 4
    • 老张
      老张
      09-06
      第一,不能保存在缓存里吗?第二,只能获取不到 unionid的才会触发wx.login吧,那也就第一次忙,其他都是读数据库就行了吧。
      09-06
      回复
    • HP
      HP
      09-06回复老张

      一个业务小程序,一个登录小程序,我是负责业务小程序,在业务小程序里面请求都要把IV,CODE什么的都放在请求头上,后台在头上拉取这些值去判断,而且业务接口也没提供一个去匹配unionid是否入库的接口,只能这样去验证是否登录了

      09-06
      回复
    • 老张
      老张
      09-06回复HP
      每次都是重新建立session吗?太不合理了,建议改改。
      09-06
      回复
    • HP
      HP
      09-06回复老张
      没办法,现在暂时改不了。不知道是不是这个问题影响的
      09-06
      回复
  • 仙森ღ₅₂₀¹³¹⁴
    仙森ღ₅₂₀¹³¹⁴
    09-06

    没看懂,是啥骚操作需要 每个接口都去调用 wx.login和wx.getUserInfo

    09-06
    赞同
    回复
  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    09-06

    有必要每一个接口调用都会去调wx:login或wx:getUserInfo吗,第一次授权登录,code换取unionid入库就好啦,unionid相对来说是唯一的

    09-06
    赞同
    回复
  • ʚ青哥ɞ
    ʚ青哥ɞ
    09-06

    什么需求会需要每一个接口调用都会调wx:login或wx:getUserInfo?

    09-06
    赞同
    回复
问题标签