// 模拟后端动态生成路由 import { defineFakeRoute } from "vite-plugin-fake-server/client"; import { system, monitor } from "@/router/enums"; /** * roles:页面级别权限,这里模拟二种 "admin"、"common" * admin:管理员角色 * common:普通角色 */ const testRouter = [ { id: "906c8094-21a1-1042-f151-3a14dab3cadb", parentId: "00000000-0000-0000-0000-000000000000", path: "/monitor", name: null, meta: { icon: "menus.pureSysMonitor", title: "系统监控", component: null, roles: null, auths: [null], frameSrc: null, frameLoading: null, keepAlive: null, showLink: true }, children: [ { id: "c765691a-32e4-4e88-6e8a-3a14dab3cadb", parentId: "906c8094-21a1-1042-f151-3a14dab3cadb", path: "/monitor/online-user", name: "OnlineUser", meta: { icon: "ri:user-voice-line", title: "在线用户", component: null, roles: null, auths: ["monitor:online:list"], frameSrc: null, frameLoading: null, keepAlive: null, showLink: true } }, { path: "/monitor/operation-logs", name: "OperationLog", meta: { icon: "ri:history-fill", title: "操作日志", component: "monitor/logs/operation/index", showLink: true } }, { id: "580a7b97-15ab-6d43-d011-3a14dab3cadc", parentId: "906c8094-21a1-1042-f151-3a14dab3cadb", path: "/monitor/login-logs", name: "LoginLog", meta: { icon: "ri:window-line", title: "登录日志", component: "monitor/logs/login/index", roles: null, auths: ["monitor:logininfor:list"], frameSrc: null, frameLoading: null, keepAlive: null, showLink: true }, children: null } ] } ]; const systemManagementRouter = { path: "/system", meta: { icon: "ri:settings-3-line", title: "menus.pureSysManagement", rank: system }, children: [ { path: "/system/user/index", name: "SystemUser", meta: { icon: "ri:admin-line", title: "menus.pureUser" //roles: ["admin"] } }, { path: "/system/role/index", name: "SystemRole", meta: { icon: "ri:admin-fill", title: "menus.pureRole" //roles: ["admin"] } }, { path: "/system/menu/index", name: "SystemMenu", meta: { icon: "ep:menu", title: "menus.pureSystemMenu" //roles: ["admin"] } }, { path: "/system/dept/index", name: "SystemDept", meta: { icon: "ri:git-branch-line", title: "menus.pureDept" //roles: ["admin"] } }, { path: "/system/post/index", name: "SystemPost", meta: { icon: "ant-design:deployment-unit-outlined", title: "menus.purePost" //roles: ["admin"] } } ] }; 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.github.io/pure-admin-doc", // 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: `/dev-api/get-async-routes`, method: "get", response: () => { return testRouter; return [ systemManagementRouter, systemMonitorRouter //permissionRouter, // frameRouter, // tabsRouter ]; } } ]);