用途:在 OneKey app-monorepo 中创建和配置页面与路由,包括新建页面、配置路由、设置深链接、处理二维码等。
主要能力:支持三类页面类型——modal(模态路由页)、stack(标签页路由页,后续将改名)、fullScreen(已废弃的全屏覆盖层)以及 onboarding(OnboardingV2 全屏页)。可定义路由枚举与参数类型、创建子路由配置、在根路由中注册,并配置页面路径。
使用方式:模态路由在 packages/kit/src/routes/Modal/router.tsx 配置,需先在 packages/shared/src/routes 下定义枚举与参数类型,再创建 router/index.ts 并注册;引导路由在 packages/kit/src/views/Onboardingv2/router/index.tsx 配置;标签页路由在 packages/kit/src/routes/Tab/router.ts 配置。路径由 packages/kit/src/routes/config/index.ts 的 resolveScreens 计算,支持 rewrite 覆盖路径段、exact 截断父路径、/:param 路径参数。浏览器 URL 显示需在 packages/shared/src/utils/routeUtils.ts 的 buildAllowList 中配置 showUrl 与 showParams。
限制与注意:路由路径必须全局唯一,重复会导致启动报错;删除页面前必须确认无外部链接(深链接、二维码、横幅、外部 URL、第三方集成、营销材料等),建议保留路由并改为重定向。Web/原生使用标准路径路由,浏览器扩展使用哈希路由(getStateFromPath.ext.ts)。