Files
userbase/src/router/routes.ts
T
2026-08-14 09:08:01 +08:00

116 lines
4.2 KiB
TypeScript

import type { RouteRecordRaw } from "vue-router";
import GroupUser from "@/views/group-user/index.vue";
import AppList from "@/views/app/AppList.vue";
import AppCategory from "@/views/app/AppCategory.vue";
import ModuleManage from "@/views/app/ModuleManage.vue";
import AppOpen from "@/views/AppOpen.vue";
import RoleAuthzList from "@/views/role-authz/RoleAuthzList.vue";
import RoleManage from "@/views/role-authz/RoleManage.vue";
import GroupAuth from "@/views/GroupAuth.vue";
import PermissionView from "@/views/PermissionView.vue";
import OperationLogList from "@/views/oplog/OperationLogList.vue";
import PushLog from "@/views/push/PushLog.vue";
import PushTest from "@/views/push/PushTest.vue";
const routes: RouteRecordRaw[] = [
{
path: "/",
redirect: "/group-user",
},
// ===== 开发组(组/用户管理,多页嵌套目录)=====
{
path: "/group-user",
name: "GroupUser",
component: GroupUser,
meta: { title: "组,用户管理", icon: "icon-list", modId: 1101 },
},
// ===== 应用管理(单选项卡)=====
// 应用管理主页(= 应用列表),菜单顶层「应用管理」指向此路由(modId 1102)
{
path: "/app-manage/list",
name: "AppList",
component: AppList,
meta: { title: "应用管理", icon: "icon-list", modId: 1102, keepAlive: true },
},
// 应用类型管理(深层子页,不在菜单里):meta.parentId=1102 关联父菜单「应用管理」,
// 由 layout.vue 的 routeChange 推导面包屑「应用管理>应用类型管理」并高亮父菜单
{
path: "/app-manage/category",
name: "AppCategory",
component: AppCategory,
meta: { title: "应用类型管理", modId: 11022, parentId: 1102 },
},
// 模块管理(深层子页,不在菜单里):meta.parentId=1102 关联父菜单「应用管理」
{
path: "/app-manage/module",
name: "ModuleManage",
component: ModuleManage,
meta: { title: "模块管理", modId: 11023, parentId: 1102 },
},
// /app-manage 兜底重定向到主页
{
path: "/app-manage",
redirect: "/app-manage/list",
},
// ===== 角色授权(应用业务角色)=====
// 角色授权主页(= 角色列表/授权工作台),菜单「权限管理」下指向此路由(modId 1110)
{
path: "/role-authz/list",
name: "RoleAuthzList",
component: RoleAuthzList,
meta: { title: "角色授权", icon: "icon-list", modId: 1110, keepAlive: true },
},
// 角色管理(深层子页,不在菜单里):meta.parentId=1110 关联父菜单「角色授权」,
// 由 layout.vue 推导面包屑「角色授权>角色管理」并高亮父菜单(与 /app-manage/category 范式一致)
{
path: "/role-authz/manage",
name: "RoleManage",
component: RoleManage,
meta: { title: "角色管理", modId: 11101, parentId: 1110 },
},
// /role-authz 兜底重定向到主页
{
path: "/role-authz",
redirect: "/role-authz/list",
},
{
path: "/app-open",
name: "AppOpen",
component: AppOpen,
meta: { title: "应用开通", icon: "icon-list", modId: 1103 },
},
{
path: "/group-auth",
name: "GroupAuth",
component: GroupAuth,
meta: { title: "组授权", icon: "icon-list", modId: 1104 },
},
{
path: "/permission-view",
name: "PermissionView",
component: PermissionView,
meta: { title: "权限一览", icon: "icon-list", modId: 1105 },
},
{
path: "/push-log",
name: "PushLog",
component: PushLog,
meta: { title: "推送日志", icon: "icon-list", modId: 1112, keepAlive: true },
},
{
path: "/push-test",
name: "PushTest",
component: PushTest,
meta: { title: "测试推送", icon: "icon-list", modId: 1113 },
},
// ===== 操作日志 =====
{
path: "/oplog",
name: "OperationLogList",
component: OperationLogList,
meta: { title: "操作日志", icon: "icon-list", modId: 1111, keepAlive: true },
},
];
export default routes;