首页不是Tab页面引发的多个问题
发布于 5 年前 作者 osun 20391 次浏览 来自 问答

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

登录页面称为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 回复

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

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

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

渲染层不发生改变。

OnWebviewEvent: __DOMReady, WebviewId: 1127363488 not found

就酱

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

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

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

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

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

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

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

分享压根没用到

模板消息也没用

扫描更不可能

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

头晕中

wx.switchTab 不就是跳tab的么

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

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

谢谢大哥

tab页能用redirectTo吗?

回到顶部