往期推文全新看点
- 鸿蒙(HarmonyOS)北向开发知识点记录~
- 鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~
- 鸿蒙应用开发与鸿蒙系统开发哪个更有前景?
- 嵌入式开发适不适合做鸿蒙南向开发?看完这篇你就了解了~
- 对于大前端开发来说,转鸿蒙开发究竟是福还是祸?
- 鸿蒙岗位需求突增!移动端、PC端、IoT到底该怎么选?
- 记录一场鸿蒙开发岗位面试经历~
- 持续更新中……
介绍
本示例介绍在Navigation中如何完成路由拦截:首次登录时记录登录状态,再次登录时可以直接访问主页无需重复登录,当退出登录时,下次需重新登录。
效果图预览

使用说明
- 点击Navigation路由拦截案例。
- 在弹出的半模态页面中勾选"阅读并同意协议",点击按钮"手机号码一键登录"。
- 进入主页,点击返回上级页面按钮,重新点击Navigation路由拦截案例,即可直接进入主页,不需要重复登录。
- 点击主页的"退出登录"按钮,退出案例,此时点击Navigation路由拦截案例需重新登录。
实现思路
1、在路由模块增加路由拦截器interceptor.ets,定义拦截容器、注册方法和公共拦截逻辑,
/**
* 定义拦截实现接口
*
* @param routerInfo 需要拦截的路由名
* @param param 路由参数
*/
export interface InterceptorExecute {
executeFunction(router: RouterInfo, param?: string): boolean;
}
/**
* 定义拦截器方法
*/
export class Interceptor {
// 定义拦截器容器
private static list: Array<InterceptorExecute> = [];
/**
* 注册拦截页面
*
* @param interceptorFnc 子模块传过来的自定义拦截函数
*/
public static registerInterceptorPage(interceptorFnc: InterceptorExecute): void {
Interceptor.list.push(interceptorFnc);
}
/**
* 公共拦截器逻辑
*


1234

被折叠的 条评论
为什么被折叠?



