Name Date Size

..25-Oct-20244 KiB

.gitignoreH A D25-Oct-2024133

AppScope/H25-Oct-20244 KiB

build-profile.json5H A D25-Oct-20241.8 KiB

code-linter.json5H A D25-Oct-2024941

entry/H25-Oct-20244 KiB

harA/H25-Oct-20244 KiB

harB/H25-Oct-20244 KiB

hspA/H25-Oct-20244 KiB

hspB/H25-Oct-20244 KiB

hvigor/H25-Oct-20244 KiB

hvigorfile.tsH A D25-Oct-2024234

images/H25-Oct-20244 KiB

oh-package.json5H A D25-Oct-2024792

ohosTest.mdH A D25-Oct-20241 KiB

README.mdH A D25-Oct-20243.9 KiB

README.md

1# Navigation系统路由
2
3### 介绍
4
5本项目提供系统路由的验证,运用系统路由表的方式,跳转到模块(HSP/HAR)的页面,可以不用配置不同跳转模块间的依赖。当发生页面跳转时,未跳转页面不会加载,
6已经加载过的页面不会再次加载。 解决了不同模块依赖耦合的问题,以及首页加载时间长的问题。
7详细配置可参考[系统路由表](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/ui/arkts-navigation-navigation.md)。
8
9由于环境的差异,不建议下载后直接编译,应先当创建项目,参考示例代码进行编写。
10
11### 效果预览
12
13<img src="./images/NavIndex.jpeg" width="200" height="360" /> 
14
15| EntryPageOne                                                     | EntryPageTwo                                                     | HarAPageOne                                                     | 
16|------------------------------------------------------------------|------------------------------------------------------------------|-----------------------------------------------------------------|
17| <img src="./images/EntryPageOne.jpeg" width="200" height="360"/> | <img src="./images/EntryPageTwo.jpeg" width="200" height="360"/> | <img src="./images/HarAPageOne.jpeg" width="200" height="360"/> |
18| HarAPageTwo                                                      | HspAPageOne                                                      | HspAPageTwo                                                     |
19| <img src="./images/HarAPageTwo.jpeg" width="200" height="360"/>  | <img src="./images/HspAPageOne.jpeg" width="200" height="360"/>  | <img src="./images/HspAPageTwo.jpeg" width="200" height="360"/> |
20
21使用说明
22
231. 主页会提供一个NavIndex的导航页,点击按钮会跳转到不同的来自HAR和HSP包的页面
24
252. 每个HAR和HSP包的页面也存在跳转到别的页面的按钮
26
27### 工程目录
28
29```
30├──entry/src/main/ets/
31│  ├──common
32│  │  └──utils
33│  │     └──Logger.ets                          // 日志打印封装
34│  ├──entryability
35│  │  └──EntryAbility.ets                       // 程序入口  
36│  └──pages
37│     ├──EntryPageOne.ets                       // 页面1
38│     ├──EntryPageTwo.ets                       // 页面2
39│     └──Index.ets                              // 界面实现
40├──entry/src/main/resources                     // 应用资源目录
41├──harA
42├──harB
43├──hspA
44└──hspB
45```
46
47### 具体实现
48
491.创建hapA harA hspA hspB
50
512.在跳转目标模块的配置文件[module.json5](entry/src/main/module.json5)添加路由表配置
52
533.添加完路由配置文件地址后,需要在工程resources/base/profile中创建[route_map.json](entry/src/main/resources/base/profile/router_map.json)
54文件
55
564.在跳转目标页面中,需要配置入口Builder函数,函数名称需要和[route_map.json](entry/src/main/resources/base/profile/router_map.json)
57配置文件中的buildFunction保持一致。
58
595.应用通过调用pushDestinationByName等方式,可以获取跳转目标页面的错误信息。
60
616.运行时需设置引用所有HSP模块。设置运行后,点击Run > entry来启动应用/服务的编译构建。
62
63### 相关权限
64
65不涉及
66
67### 依赖
68
69不涉及。
70
71### 约束与限制
72
731. 本示例仅支持标准系统上运行,支持设备:RK3568。
74
752. 本示例仅支持API12版本SDK,版本号:5.0.0.26,镜像版本号:OpenHarmony 5.0.0.26。
76
773. 本示例需要使用DevEco Studio NEXT Developer Beta5 (Build Version: 5.0.3.700)才可编译运行;
78
79### 下载
80
81如需单独下载本工程,执行如下命令:
82
83```
84git init
85git config core.sparsecheckout true
86echo code/BasicFeature/ApplicationModels/SystemRouter > .git/info/sparse-checkout
87git remote add origin https://gitee.com/openharmony/applications_app_samples.git
88git pull origin master
89```
90