bunny-admin-element-thin-i18n/mock/asyncRoutes.ts

300 lines
6.7 KiB
TypeScript
Raw Normal View History

2024-05-11 14:48:02 +08:00
// 模拟后端动态生成路由
import { defineFakeRoute } from "vite-plugin-fake-server/client";
import { frame, monitor, permission, system } from "@/router/enums";
2024-05-11 14:48:02 +08:00
/**
* roles "admin""common"
* admin
* common
*/
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"]
}
}
]
};
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"]
}
},
{
path: "/monitor/system-test",
component: "monitor/test/index",
name: "SystemTest",
meta: {
icon: "ri:file-search-line",
title: "menus.systemctlTest",
roles: ["admin"]
}
2024-05-11 14:48:02 +08:00
}
]
};
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/index",
name: "PermissionButton",
meta: {
title: "menus.purePermissionButton",
roles: ["admin", "common"],
auths: ["permission:btn:add", "permission:btn:edit", "permission:btn:delete"]
}
}
]
};
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 about = {
path: "/about",
meta: {
icon: "ri:bookmark-2-line",
2024-05-12 02:05:33 +08:00
title: "menus.pureAbout"
2024-05-11 14:48:02 +08:00
},
children: [
{
path: "/about/index",
2024-05-12 02:05:33 +08:00
name: "About",
2024-05-11 14:48:02 +08:00
meta: {
2024-05-12 02:05:33 +08:00
icon: "ri:bookmark-2-line",
title: "menus.pureAbout"
2024-05-11 14:48:02 +08:00
}
}
]
};
2024-05-12 02:05:33 +08:00
2024-05-11 14:48:02 +08:00
export default defineFakeRoute([
{
url: "/get-async-routes",
method: "get",
response: () => {
return {
success: true,
data: [systemManagementRouter, systemMonitorRouter, permissionRouter, frameRouter, about]
2024-05-11 14:48:02 +08:00
};
}
}
]);