Commit Graph

8 Commits

Author SHA1 Message Date
huangzd1997 37d021500a task-33(会话/菜单/权限): 路由菜单权限守卫统一准入判定
新增纯函数 isRouteAllowed(无 menuKey 开放页放行/super_admin 全放行/其余按
key 命中);beforeEach 越权回退首个可见页、全无则回根路由空态。8 用例全过。
2026-09-05 14:43:58 +08:00
huangzd1997 a7b184fbd7 task-32(会话/菜单/权限): 普通用户菜单 key 查找下沉为共享纯函数
hasMenuKey 深度优先查找(空 key/空树返回 false,不改输入)抽到 helpers 供
守卫复用,去掉路由内私有 hasMenu 副本。8 用例全过。
2026-09-05 14:43:58 +08:00
huangzd1997 f4f7268045 task-12(壳层/路由): 实现路由级错误页面(404 兜底)
新增 src/pages/error/NotFoundPage.vue(el-result + 返回首页),router 在业务路由
之后注册 :pathMatch(.*)* 兜底(无 menuKey,不参与权限门禁),保留壳层 chrome;
main.css 增加 .not-found 布局。
2026-09-05 14:43:53 +08:00
huangzd1997 f1fa5f7adf task-10(壳层/路由): 实现页面级异步组件加载边界
lazy-config 暴露 loading 延迟/超时/文案与懒加载判定;lazy-page 用
defineAsyncComponent 提供 loading/error 组件,router 对所有注册路由统一包裹;
main.css 增加 .page-loading/.page-error 兜底样式。
2026-09-05 14:43:53 +08:00
huangzd1997 ab7255a55b task-9(壳层/路由): 实现路由 meta 菜单 key 约定与 RouteMeta 类型增强
新增 src/types/vue-router.d.ts 模块增强(RouteMeta.title/menuKey),meta.ts 提供
metaMenuKey/命名校验,router 守卫改类型化访问去掉 as cast,AdminLayout 标题同步
去 cast;校验首批注册表 menuKey 合规。
2026-09-05 14:43:53 +08:00
huangzd1997 02e0dc20b8 task-8(壳层/路由): 实现业务域路由注册表
新增 src/router/routes.ts:adminPages 登记业务域页面(account 首批),routeOf 生成
路由记录,validateAdminPages 校验路径唯一/相对/含 title/load;router/index.ts 改
消费 adminRouteRecords,移除内联懒加载与路径字面量。
2026-09-05 14:43:53 +08:00
huangzd1997 8e828c1204 task-7(壳层/路由): 根路由跳转到首个可见页面,移除硬编码默认页
helpers.firstVisiblePath 深度优先返回首个可路由页面,无页面返回空串;
store 增加 firstVisible;守卫在根路由/无权限时跳首个可见页,全部无页面则
停留根路由展示无菜单空态,删除 redirect:'/account/users' 硬编码。
2026-09-05 14:43:53 +08:00
huangzd1997 6f0357e41c task-2(壳层/路由): 冻结 /admin-vue/ base 与 History 路由契约为单一事实源
新增 src/config/app.ts(APP_BASE_PATH/ensureAppBasePath/joinAdminPath),
vite.config base、router createWebHistory、AdminLayout logo 路径统一消费常量,
禁止散落字面量;8 用例覆盖归一化/幂等/空段/单段/非法输入与字面量单源。
2026-09-05 14:43:52 +08:00