收藏
回答

checkSession一直回调success怎么回事?

在手机和开发者工具中,checkSession可以根据用户的使用正常的检查登录态是否过期;

但是在电脑版的微信中打开小程序,checkSession一直走到success的回调中,这是什么原因造成的呢?

在手机和电脑中把小程序删除后,电脑重新打开还是登录态为正常,所以导致无法登陆!

最恐怖的是使用一个新的电脑,在一个手机和电脑都没有打开过小程序的微信中任然出现该问题!

看其他开发者在社区的反馈,说app.js中存在wx.login,排查后我们的代码中是不存在的。

代码:

checkSession的结果:


顺便问下红色的报错部分是什么东西?

最后一次编辑于  2020-07-29
回答关注问题邀请回答
收藏

12 个回答

  • 小程序/小游戏开发-Link
    小程序/小游戏开发-Link
    置顶回答2020-07-30

    checkSession 的作用是到后台检查生成的 sessionKey 是否有效,所以如果你在之前有调用过 login 并且获取了 sessionKey,在新客户端检查收到 success 回调是有可能的。

    正确的做法应该是进入小程序后先检查本地有没有未过期的登录票据(你们自己小程序生成的 sessionId 之类的串),有的话说明后台能找到对应的 sessionKey,这时候才用 checkSession 检查是否过期。如果登录票据都没有,那当然要先 login。

    2020-07-30
    有用 1
    回复 4
    • 比尔盖雨
      比尔盖雨
      发表于小程序端
      2020-07-30
      那我新创建的小程序,使用checkSession也是success怎么解释?
      2020-07-30
      回复
    • Wོ
      Wོ
      2020-11-13回复比尔盖雨
      他解释个🐔他解释   反正checkSession就没鸡儿用   到获取手机号时候还会有个问题   让特么先login再调获取手机号   获取手机号又不由api来调用   要button组件   又不知道用户什么时候点  只能在onLoad里就调用login   特么用户再过个40  50分钟点   seesionkey又过期了   解密失败
      2020-11-13
      5
      回复
    • 范程晖
      范程晖
      2021-01-26回复Wོ
      对的,我就经常遇到这种解密失败的,就很头疼,请问有什么比较好的解决方案吗?
      2021-01-26
      回复
    • Rebirth
      Rebirth
      2021-03-11
      太蛋疼了,提示我code重复,有没有注销啊,现在我还得等5分钟之后才能测试一次
      2021-03-11
      回复
  • undefined
    undefined
    2020-09-21

    这个bug到现在还没修复

    2020-09-21
    有用 2
    回复
  • 楠檀
    楠檀
    2021-08-21

    我也出了这种情况,我自己在pages里写的登录页面,但是微信小程序会自己在最外面的app.js中生成一个wx.login,把那个删除了就不会出现这种问题。我自己是这样改好的

    2021-08-21
    有用 1
    回复
  • Internet
    Internet
    2020-11-29

    持续关注中

    2020-11-29
    有用 1
    回复
  • 倾
    2020-10-20

    因为app.js中默认就有 wx.login() 的调用,所以导致每次测试都是success,可以先手动删除再进行测试即可。

    2020-10-20
    有用 1
    回复
  • 子游
    子游
    2022-02-25

    checkSession真的有毒,app.js里没有写wx.login,page里的onshow写了wx.login,页面不动,半个小时后,还是走success,然而这个时候这个登录凭证实际已经过期了,造成后端无法解密

    2022-02-25
    有用
    回复
  • Rayman
    Rayman
    2021-08-06

    我是在每次获取手机号前重新再wx.login,方法虽然笨但有效

    2021-08-06
    有用
    回复
  • ^_king^_
    ^_king^_
    2021-06-29

    wx.checkSession 具体在哪里调用呢? 我之前是在onshow时候调用,如果不在这里调用,请问应该在哪里调用呢?现在微信出了个限频。。。

    2021-06-29
    有用
    回复
  • 花易折 skr skr ~
    花易折 skr skr ~
    2021-04-11

    应该是频率限制了吧

    https://developers.weixin.qq.com/miniprogram/dev/framework/performance/api-frequency.html

    2021-04-11
    有用
    回复
  • 王彦军
    王彦军
    2021-02-06

    bug 修复速度太慢了

    2021-02-06
    有用
    回复

正在加载...

登录 后发表内容
问题标签