从搜索热启动进入小程序,重置了我的登录态,getStorage()无效,必现bug
发布于 6 年前 作者 li46 5068 次浏览 来自 官方Issues

问题是这样的:

登录成功后我会通过setStorage()将用户的登录信息放入缓存

然后在app.js的onLaunch()中getStorage()来判断用户是否已经登陆过

 wx.getStorage({
      key: 'loginInfo',
      success: function(res) {
        if (that.isHasLoginInfoCallback) {
          that.isHasLoginInfoCallback(res);
        }
      },
      fail: function(res) {
        
      }
    })

然后在首页我会通过一个标志位来确定用户有没有登录

当我成功登录后,再次从最近使用的小程序打开、重启微信打开小程序都没有问题

但是在我成功登录后,再次从搜索小程序列表打开时,我的登录状态不见了

也就是说,在从搜索栏热启动小程序的时候,会刷新我的小程序的状态,如果从搜索进入算热启动,那么为什么我在home页保存的标志位会被重置,如果算是冷启动,那么为什么它不走onLaunch()和onLoad(),也不去getStorage()读取缓存呢?

必现的问题,我也不能确定这是否是bug,但是你们能否告诉我从搜索栏进入有什么特别的流程吗?

而且我这个也特别不好调试,想要调试就得发新版,开发版和体验版都无法从搜索栏进入,我目前比较困扰,找不到问题原因,希望你们能帮忙解决一下。

回到顶部