问题是这样的:
登录成功后我会通过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,但是你们能否告诉我从搜索栏进入有什么特别的流程吗?
而且我这个也特别不好调试,想要调试就得发新版,开发版和体验版都无法从搜索栏进入,我目前比较困扰,找不到问题原因,希望你们能帮忙解决一下。
请问下怎么解决的呢?
我是在App.js 调用的onShow。
然后在Page页面里既使用了onLoad也使用了onShow调用同一个判断是否登录的方法。
以防出现这种问题。
请问楼主还有什么好的解决方案吗。
麻烦提供能复现问题的代码片段https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html