首页不是Tab页面引发的多个问题

发布于 6 年前作者 osun20638 次浏览最后编辑 6 年前来自 ask

先说一下背景:涉及到两个页面,登录页面和业务的“首页”。

登录页面称为Page Login,处理初始化数据;

业务的“首页”称为 Page Index,是真真正正的首页,有Tab bar在下面。


由于业务的需求,我们的小程序启动的时候需要加载各种东西,时间很长,所以干脆把这些用户登录的逻辑都放在Page Login,并且设置为app.json的pages的第一个成员,作为小程序认为的首页Home

登录页面做了一个过渡的效果,onLoad的时候同时获取登录用户需要的信息。

如果已经成功登录,就会redirectTo业务的“首页”。

问题来了,这样做的话,redirectTo到Page Index的时候会无端端顶上有一个Home的按钮。

很无语,这个玩意是relaunch回去Page Login的样子。

这就算了,最多我在Page Login的onLoad做一个登录态检测就好了。

如果检测到已经登录,就重新redirectTo业务的“首页”。


尴尬的事情是,不能……

此时redirectTo回去会导致一个严重问题,回不去了……

安卓上小程序会报错,大概意思就是webview not found。

而且我现在又复现不出来这个错误,反而是直接卡住了没反应。

其实问题就两个。

一个是,这个莫名其妙的Home按钮能不能不要显示。因为不属于“分享,消息模板,扫描”中任意一种啊。

完美解决这个问题;

第二个是redirectTo的webview not found问题。


先谢谢微信的同学解答

10 回复
xiuying19
xiuying191 楼6 年前

不客气,不过还是没帮到你

uyu
uyu2 楼6 年前

说错了…… 用的是wx.switchTab跳转回去。

看到输出里面Page Index已经执行onReady里面的事件了。

渲染层不发生改变。

OnWebviewEvent: __DOMReady, WebviewId: 1127363488 not found

就酱

yanliu
yanliu3 楼6 年前

我的意思你没听明白,redirectTo是不能跳到tabbar页的

baiyang
baiyang4 楼6 年前

关键问题是回去之后Tab页面的onReady之类的事件都正常运行了

而且wx.switchTab已经检查过了,成功触发success事件,

但是Page Index的渲染层挂了,WebView not found,所以小程序的界面卡在前一个页面了。

如果没有那个导航栏顶部的Home按钮就不会有这么多幺蛾子……

yang71
yang715 楼6 年前

我也觉得奇怪啊。不应该会有那个Home图标的。

官方文档没说这个东西,我查社区也只是“分享,消息模板,扫描”三个情况

分享压根没用到

模板消息也没用

扫描更不可能

感觉还有别的情况会触发Home图标出现吧

头晕中

fzhao
fzhao6 楼6 年前

wx.switchTab 不就是跳tab的么

leihuang
leihuang7 楼6 年前

android也没有重现,也就是非tabbar页面为app.json的首页,switchTab到index,没有出现home图标,估计是你代码的问题

nzhao
nzhao8 楼6 年前

ios上没有重现,我帮你试下android

oxiang
oxiang9 楼6 年前

谢谢大哥

fang01
fang0110 楼4 年前

tab页能用redirectTo吗?