uni-app 鸿蒙系统启动打开 /pages/detail/detail Bug反馈
uni-app 鸿蒙系统启动打开 /pages/detail/detail Bug反馈
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Windows | windows 10 | HBuilderX |
### 操作步骤:
```json
{
"pages": [
{
"path": "pages/index/index",
"style": {
"navigationBarTitleText": "xxxx"
}
},
{
"path": "pages/detail/detail",
"style": {
"navigationBarTitleText": "xxxx"
}
}
],
"globalStyle": {
"mp-alipay": {
"backgroundColor": "#ffffff",
"titleBarColor": "#ffffff"
},
"navigationBarTextStyle": "black",
"navigationBarTitleText": "xxxx",
"navigationBarBackgroundColor": "#F8F8F8",
"backgroundColor": "#F8F8F8"
}
}
预期结果:
启动应该默认打开 /pages/index/index (第一次安装启动没问题,第二次以后启动出故障)
实际结果:
启动应该默认打开 /pages/detail/detail
bug描述:
采用鸿蒙 2.0 系统,pages.json 中配置 /pages/index/index 和 /pages/detail/detail。
除第一次安装以外,正常启动 /pages/index/index,退出 app,或者强制关闭进程等,启动页面均为 /pages/detail/detail。
安卓系统无故障,安卓的 APP 运行一切正常。
故障出现在鸿蒙 2.0
更多关于uni-app 鸿蒙系统启动打开 /pages/detail/detail Bug反馈的实战教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
顶一下啊
更多关于uni-app 鸿蒙系统启动打开 /pages/detail/detail Bug反馈的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
这是一个典型的鸿蒙系统页面缓存机制导致的启动页面异常问题。在鸿蒙系统中,应用退出时系统会记录最后一个活动页面,下次启动时可能直接恢复该页面而不是从首页开始。
解决方案:
- 在App.vue的onShow生命周期中强制重置启动页面:
onShow: function() {
// 鸿蒙系统页面恢复处理
const pages = getCurrentPages();
if(pages.length === 0) {
uni.reLaunch({
url: '/pages/index/index'
});
}
}
- 在pages.json中为鸿蒙平台单独配置启动页面:
"globalStyle": {
"mp-harmonyos": {
"startPage": "pages/index/index"
}
}
-
检查detail页面的生命周期,确保没有在onLoad或onShow中执行跳转逻辑。
-
在manifest.json中配置鸿蒙启动参数:
"harmonyos" : {
"package": "你的应用包名",
"mainAbility": ".MainAbility",
"deviceTypes": [
"phone", "tablet"
]
}

