# HarmonyOs **Repository Path**: zhang-jun-bo/harmony-os ## Basic Information - **Project Name**: HarmonyOs - **Description**: 鸿蒙路由,桥接,上下脚标 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-08-22 - **Last Updated**: 2024-08-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Navigation系统路由 ### 桥接实现逻辑 1. 在页面即将开始展示的时候,初始化桥接函数,也就是将js方法挂载到window上,js里面有统一的一个执行鸿蒙侧方法的函数 2. 这时候页面显示出来了,比如点击一个方法,这个方法会执行window上挂载的方法,根据函数名找到对应的方法,并添加回调,执行对应函数名的鸿蒙侧方法,然后再通过js执行js回调方法 桥接实现路径 首先通过webviewPage下的Web(). .onPageBegin(() => { // 往window上挂载方法 this.jsBridge.initJsBridge(); }) 将桥接挂载上, h5在调用的时候调用 window.ohosCallNative.callNative方法会调到jsBridge.js文件下的ohosCallNative,在通过 // 调用鸿蒙侧代码 JSBridgeHandle.call(method, JSON.stringify(paramsObj)); 调用鸿蒙代码 在通过jsBridge.ets下的call,调用到对应的桥接(代码里可以优化,switch单独封装起来,使得代码整洁) 路由实现 通过Router模块下的RouterManager,创建NavPathStack来实现 RouterManager.stack.pushPathByName("Advertisement", null, false) 调用这个方法,实现路由跳转 RouterManager。stack创建NavPathStack,再存入名称 容器里加上NavDestination(),就能实现跳转了 返回就使用RouterManager.stack.pop()即可弹出栈 1.创建hapA harA hspA hspB 2.在跳转目标模块的配置文件module.json5添加路由表配置 3.添加完路由配置文件地址后,需要在工程resources/base/profile中创建route_map.json文件 4.在跳转目标页面中,需要配置入口Builder函数,函数名称需要和router_map.json配置文件中的buildFunction保持一致。 5.应用通过调用pushDestinationByName等方式,可以获取跳转目标页面的错误信息。 # 还有注解式开发,自动转配路由桥接怎么实现