收藏
回答

wx.checkSession有必要使用吗?

框架类型 终端类型 操作系统 微信版本 基础库版本
小程序 客户端 iOS latest latest
  1. 微信服务器的session有效期和服务器本地session的有效期不可能保持完全一致,这在拉取服务器用户数据时候会存在问题。

  2. 看到的一个文档的文字:


    因为session也存在有效,一旦我们请求业务的CGI后台判断登录态失效了,那么前端可以根据后台返回的错误码来判断是否重新登录。

    所以就没有必要每次wx.checkSession,而且wx.checkSession几乎是没有用的到必要,因为登录态可以由我们业务维护,一旦失效,wx.login()重新换回一个session_key 就ok了嘛。

    结论是:wx.checkSession几乎没有必要调用,而且他本身耗时,长达300+ms。



有人解答下吗

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

28 个回答

  • 小宇宙
    小宇宙
    2018-02-03

    微信的session_key,我只是获取微信用户手机号,unionid用到。

    2018-02-03
    有用
    回复
  • 瘦瘦的搬砖工
    瘦瘦的搬砖工
    2018-02-02

    文档几乎什么都看不出来,网上的文章更是一塌糊涂。如果有好的文章可以推荐下

    2018-02-02
    有用
    回复
  • 瘦瘦的搬砖工
    瘦瘦的搬砖工
    2018-02-02

    我怎么都没理解这个session这么用的,我现在是自己的服务生成一个token ,然后所有后面的请求都带着token,我们系统会解析这个token,然后返回,wx的session和http 的session完全不同,不知道什么情况

    2018-02-02
    有用
    回复
  • 瘦瘦的搬砖工
    瘦瘦的搬砖工
    2018-02-02

    微信的session管理让人头疼 啊

    2018-02-02
    有用
    回复
  • 笨笨
    笨笨
    2018-02-01

    我可以不可以每次需要用到sessionKey的时候都去wx.login一下,获取一个新的key呢,这样比较保险吧

    2018-02-01
    有用
    回复
  • 剑农
    剑农
    2018-02-01

    好吧 谢了

    2018-02-01
    有用
    回复
  • 剑农
    剑农
    2018-02-01

    我改了下我的判断逻辑 你看这样可以不

    1、判断服务器端session是否过期(a.未过期 b.过期)

    2、wx.checkSession判断微信端session是否过期(c.未过期 d.过期)

    3、分别对4种情况做操作

    a-c:

    a-d: wx.login

    b-c:wx-login

    b-d:wx-login


    2018-02-01
    有用
    回复
  • 剑农
    剑农
    2018-02-01

    好吧 还是需要的 只能在checkSession基础上再做服务器端的判断了

    2018-02-01
    有用
    回复

正在加载...

登录 后发表内容