从发现栏小程序主入口热启动,home页的数据被重置
发布于 7 年前 作者 xiuying54 11756 次浏览 来自 官方Issues

-当前bug的表现

登录成功后我会通过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,但是你们能否告诉我从搜索栏进入有什么特别的流程吗?

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

从发现栏进入小程序,就感觉页面被执行了setData改变标志位为true的操作一样。

-预期表现

从发现栏小程序入口热启动进入小程序,页面的数据不应该被重置,如之前某标志位是true,进入后还应该是true

1 回复

请勿重复发帖,此贴先隐藏

回到顶部