diff --git a/mock/asyncRoutes.ts b/mock/asyncRoutes.ts index d952f66..c3a7318 100644 --- a/mock/asyncRoutes.ts +++ b/mock/asyncRoutes.ts @@ -1,277 +1,7 @@ // 模拟后端动态生成路由 import { defineFakeRoute } from "vite-plugin-fake-server/client"; -import { monitor, permission, frame, tabs } from "@/router/enums"; - -/** - * roles:页面级别权限,这里模拟二种 "admin"、"common" - * admin:管理员角色 - * common:普通角色 - */ -const systemMonitorRouter = { - path: "/monitor", - meta: { - icon: "ep:monitor", - title: "menus.pureSysMonitor", - rank: monitor - }, - children: [ - { - path: "/monitor/online-user", - component: "monitor/online/index", - name: "OnlineUser", - meta: { - icon: "ri:user-voice-line", - title: "menus.pureOnlineUser", - roles: ["admin"] - } - }, - { - path: "/monitor/login-logs", - component: "monitor/logs/login/index", - name: "LoginLog", - meta: { - icon: "ri:window-line", - title: "menus.pureLoginLog", - roles: ["admin"] - } - }, - { - path: "/monitor/operation-logs", - component: "monitor/logs/operation/index", - name: "OperationLog", - meta: { - icon: "ri:history-fill", - title: "menus.pureOperationLog", - roles: ["admin"] - } - }, - { - path: "/monitor/system-logs", - component: "monitor/logs/system/index", - name: "SystemLog", - meta: { - icon: "ri:file-search-line", - title: "menus.pureSystemLog", - roles: ["admin"] - } - } - ] -}; - -const permissionRouter = { - path: "/permission", - meta: { - title: "menus.purePermission", - icon: "ep:lollipop", - rank: permission - }, - children: [ - { - path: "/permission/page/index", - name: "PermissionPage", - meta: { - title: "menus.purePermissionPage", - roles: ["admin", "common"] - } - }, - { - path: "/permission/button", - meta: { - title: "menus.purePermissionButton", - roles: ["admin", "common"] - }, - children: [ - { - path: "/permission/button/router", - component: "permission/button/index", - name: "PermissionButtonRouter", - meta: { - title: "menus.purePermissionButtonRouter", - auths: [ - "permission:btn:add", - "permission:btn:edit", - "permission:btn:delete" - ] - } - }, - { - path: "/permission/button/login", - component: "permission/button/perms", - name: "PermissionButtonLogin", - meta: { - title: "menus.purePermissionButtonLogin" - } - } - ] - } - ] -}; - -const frameRouter = { - path: "/iframe", - meta: { - icon: "ri:links-fill", - title: "menus.pureExternalPage", - rank: frame - }, - children: [ - { - path: "/iframe/embedded", - meta: { - title: "menus.pureEmbeddedDoc" - }, - children: [ - { - path: "/iframe/colorhunt", - name: "FrameColorHunt", - meta: { - title: "menus.pureColorHuntDoc", - frameSrc: "https://colorhunt.co/", - keepAlive: true, - roles: ["admin", "common"] - } - }, - { - path: "/iframe/uigradients", - name: "FrameUiGradients", - meta: { - title: "menus.pureUiGradients", - frameSrc: "https://uigradients.com/", - keepAlive: true, - roles: ["admin", "common"] - } - }, - { - path: "/iframe/ep", - name: "FrameEp", - meta: { - title: "menus.pureEpDoc", - frameSrc: "https://element-plus.org/zh-CN/", - keepAlive: true, - roles: ["admin", "common"] - } - }, - { - path: "/iframe/tailwindcss", - name: "FrameTailwindcss", - meta: { - title: "menus.pureTailwindcssDoc", - frameSrc: "https://tailwindcss.com/docs/installation", - keepAlive: true, - roles: ["admin", "common"] - } - }, - { - path: "/iframe/vue3", - name: "FrameVue", - meta: { - title: "menus.pureVueDoc", - frameSrc: "https://cn.vuejs.org/", - keepAlive: true, - roles: ["admin", "common"] - } - }, - { - path: "/iframe/vite", - name: "FrameVite", - meta: { - title: "menus.pureViteDoc", - frameSrc: "https://cn.vitejs.dev/", - keepAlive: true, - roles: ["admin", "common"] - } - }, - { - path: "/iframe/pinia", - name: "FramePinia", - meta: { - title: "menus.purePiniaDoc", - frameSrc: "https://pinia.vuejs.org/zh/index.html", - keepAlive: true, - roles: ["admin", "common"] - } - }, - { - path: "/iframe/vue-router", - name: "FrameRouter", - meta: { - title: "menus.pureRouterDoc", - frameSrc: "https://router.vuejs.org/zh/", - keepAlive: true, - roles: ["admin", "common"] - } - } - ] - }, - { - path: "/iframe/external", - meta: { - title: "menus.pureExternalDoc" - }, - children: [ - { - path: "/external", - name: "https://pure-admin.cn/", - meta: { - title: "menus.pureExternalLink", - roles: ["admin", "common"] - } - }, - { - path: "/pureUtilsLink", - name: "https://pure-admin-utils.netlify.app/", - meta: { - title: "menus.pureUtilsLink", - roles: ["admin", "common"] - } - } - ] - } - ] -}; - -const tabsRouter = { - path: "/tabs", - meta: { - icon: "ri:bookmark-2-line", - title: "menus.pureTabs", - rank: tabs - }, - children: [ - { - path: "/tabs/index", - name: "Tabs", - meta: { - title: "menus.pureTabs", - roles: ["admin", "common"] - } - }, - // query 传参模式 - { - path: "/tabs/query-detail", - name: "TabQueryDetail", - meta: { - // 不在menu菜单中显示 - showLink: false, - activePath: "/tabs/index", - roles: ["admin", "common"] - } - }, - // params 传参模式 - { - path: "/tabs/params-detail/:id", - component: "params-detail", - name: "TabParamsDetail", - meta: { - // 不在menu菜单中显示 - showLink: false, - activePath: "/tabs/index", - roles: ["admin", "common"] - } - } - ] -}; +// 只保留项目管理、系统管理,不返回其他动态路由 export default defineFakeRoute([ { url: "/get-async-routes", @@ -280,7 +10,7 @@ export default defineFakeRoute([ return { code: 0, message: "操作成功", - data: [systemMonitorRouter, permissionRouter, frameRouter, tabsRouter] + data: [] }; } } diff --git a/src/router/index.ts b/src/router/index.ts index 290d74d..40ca37c 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -38,12 +38,16 @@ import { multipleTabsKey } from "@/utils/auth"; -/** 自动导入全部静态路由,无需再手动引入!匹配 src/router/modules 目录(任何嵌套级别)中具有 .ts 扩展名的所有文件,除了 remaining.ts 文件 - * 如何匹配所有文件请看:https://github.com/mrmlnc/fast-glob#basic-syntax - * 如何排除文件请看:https://cn.vitejs.dev/guide/features.html#negative-patterns +/** 只导入项目管理、系统管理和剩余路由模块 + * 其他路由模块已隐藏 */ const modules: Record = import.meta.glob( - ["./modules/**/*.ts", "!./modules/**/remaining.ts"], + [ + "./modules/project.ts", + "./modules/system.ts", + "./modules/home.ts", + "!./modules/**/remaining.ts" + ], { eager: true } diff --git a/src/router/modules/home.ts b/src/router/modules/home.ts index 3301271..dddefd1 100644 --- a/src/router/modules/home.ts +++ b/src/router/modules/home.ts @@ -1,17 +1,17 @@ import { $t } from "@/plugins/i18n"; import { home } from "@/router/enums"; -const { VITE_HIDE_HOME } = import.meta.env; const Layout = () => import("@/layout/index.vue"); export default { path: "/", name: "Home", component: Layout, - redirect: "/welcome", + redirect: "/project/index", meta: { icon: "ep/home-filled", title: $t("menus.pureHome"), - rank: home + rank: home, + showLink: false }, children: [ { @@ -20,7 +20,7 @@ export default { component: () => import("@/views/welcome/index.vue"), meta: { title: $t("menus.pureHome"), - showLink: VITE_HIDE_HOME === "true" ? false : true + showLink: false } } ] diff --git a/src/router/modules/project.ts b/src/router/modules/project.ts index effe065..524fada 100644 --- a/src/router/modules/project.ts +++ b/src/router/modules/project.ts @@ -25,7 +25,7 @@ export default { meta: { title: "项目详情", showLink: false, - activePath: "/project" + activePath: "/project/index" } } ] diff --git a/src/views/project/detail.vue b/src/views/project/detail.vue index d142ae8..4261d0d 100644 --- a/src/views/project/detail.vue +++ b/src/views/project/detail.vue @@ -421,61 +421,6 @@ onMounted(() => {