liuyun da6edcfcfd
Some checks are pending
CI / backend (push) Waiting to run
CI / frontend (push) Waiting to run
feat(layout): 多页签 keep-alive(子模块 + openspec change)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 22:13:25 +08:00

793 B
Raw Blame History

1. 页面 name

  • 1.1 给 11 个菜单页面补 defineOptions({ name })(/→dashboard、/system/{user,role,resource,org,tenant,dict,config}→末段、/monitor/{audit,login-log,session}→末段)

2. tabs store 辅助

  • 2.1 stores/modules/tabs.ts:TabItem 加 keepAlive 字段;导出 pathToName(path)(/→dashboard,其余取路径末段 kebab)

3. 布局 keep-alive

  • 3.1 layouts/default.vue 用 <keep-alive :include="cachedNames"> 包裹 router-view;cachedNames = 打开且 keepAlive 的页签 name 集合;addTab 传 route.meta.keepAlive !== false;:key="route.path"

4. 验证

  • 4.1 前端 type-check 通过
  • 4.2 冒烟:默认页签切换保留状态;声明 meta.keepAlive:false 的页面切换重建