🎉 完善基础模块
This commit is contained in:
10
web-admin/src/router/createModulePage.tsx
Normal file
10
web-admin/src/router/createModulePage.tsx
Normal file
@@ -0,0 +1,10 @@
|
||||
import { ModuleLandingPage } from '@/features/discovery/ModuleLandingPage'
|
||||
|
||||
export function createModulePage(moduleName: string) {
|
||||
function RouteComponent() {
|
||||
return <ModuleLandingPage moduleName={moduleName} />
|
||||
}
|
||||
|
||||
RouteComponent.displayName = `ModulePage(${moduleName})`
|
||||
return RouteComponent
|
||||
}
|
||||
25
web-admin/src/router/fsRoutes.tsx
Normal file
25
web-admin/src/router/fsRoutes.tsx
Normal file
@@ -0,0 +1,25 @@
|
||||
import type { AppRoute, FileRouteModule } from './routeTypes'
|
||||
|
||||
const routeModules = import.meta.glob('./pages/**/page.tsx', {
|
||||
eager: true,
|
||||
}) as Record<string, FileRouteModule>
|
||||
|
||||
function toRoutePath(modulePath: string) {
|
||||
const normalized = modulePath
|
||||
.replace('./pages/', '')
|
||||
.replace(/\/page\.tsx$/, '')
|
||||
.split('/')
|
||||
.filter(Boolean)
|
||||
.map((segment) => segment.replace(/^\[(.+)\]$/, ':$1'))
|
||||
.join('/')
|
||||
|
||||
return normalized
|
||||
}
|
||||
|
||||
export const appRoutes: AppRoute[] = Object.entries(routeModules)
|
||||
.map(([modulePath, routeModule]) => ({
|
||||
path: toRoutePath(modulePath),
|
||||
menuName: routeModule.routeMeta.menuName,
|
||||
component: routeModule.default,
|
||||
}))
|
||||
.sort((left, right) => left.path.localeCompare(right.path))
|
||||
7
web-admin/src/router/pages/admin/api/page.tsx
Normal file
7
web-admin/src/router/pages/admin/api/page.tsx
Normal file
@@ -0,0 +1,7 @@
|
||||
import { ApiManagementPage } from '@/features/apis/ApiManagementPage'
|
||||
|
||||
export const routeMeta = {
|
||||
menuName: 'api',
|
||||
}
|
||||
|
||||
export default ApiManagementPage
|
||||
7
web-admin/src/router/pages/admin/apiToken/page.tsx
Normal file
7
web-admin/src/router/pages/admin/apiToken/page.tsx
Normal file
@@ -0,0 +1,7 @@
|
||||
import { ApiTokenPage } from '@/features/tokens/ApiTokenPage'
|
||||
|
||||
export const routeMeta = {
|
||||
menuName: 'apiToken',
|
||||
}
|
||||
|
||||
export default ApiTokenPage
|
||||
7
web-admin/src/router/pages/admin/authority/page.tsx
Normal file
7
web-admin/src/router/pages/admin/authority/page.tsx
Normal file
@@ -0,0 +1,7 @@
|
||||
import { RoleManagementPage } from '@/features/roles/RoleManagementPage'
|
||||
|
||||
export const routeMeta = {
|
||||
menuName: 'authority',
|
||||
}
|
||||
|
||||
export default RoleManagementPage
|
||||
7
web-admin/src/router/pages/admin/dictionary/page.tsx
Normal file
7
web-admin/src/router/pages/admin/dictionary/page.tsx
Normal file
@@ -0,0 +1,7 @@
|
||||
import { DictionaryManagementPage } from '@/features/dictionaries/DictionaryManagementPage'
|
||||
|
||||
export const routeMeta = {
|
||||
menuName: 'dictionary',
|
||||
}
|
||||
|
||||
export default DictionaryManagementPage
|
||||
7
web-admin/src/router/pages/admin/loginLog/page.tsx
Normal file
7
web-admin/src/router/pages/admin/loginLog/page.tsx
Normal file
@@ -0,0 +1,7 @@
|
||||
import { LoginLogPage } from '@/features/logs/LoginLogPage'
|
||||
|
||||
export const routeMeta = {
|
||||
menuName: 'loginLog',
|
||||
}
|
||||
|
||||
export default LoginLogPage
|
||||
7
web-admin/src/router/pages/admin/menu/page.tsx
Normal file
7
web-admin/src/router/pages/admin/menu/page.tsx
Normal file
@@ -0,0 +1,7 @@
|
||||
import { MenuManagementPage } from '@/features/menus/MenuManagementPage'
|
||||
|
||||
export const routeMeta = {
|
||||
menuName: 'menu',
|
||||
}
|
||||
|
||||
export default MenuManagementPage
|
||||
7
web-admin/src/router/pages/admin/operation/page.tsx
Normal file
7
web-admin/src/router/pages/admin/operation/page.tsx
Normal file
@@ -0,0 +1,7 @@
|
||||
import { OperationLogPage } from '@/features/logs/OperationLogPage'
|
||||
|
||||
export const routeMeta = {
|
||||
menuName: 'operation',
|
||||
}
|
||||
|
||||
export default OperationLogPage
|
||||
7
web-admin/src/router/pages/admin/page.tsx
Normal file
7
web-admin/src/router/pages/admin/page.tsx
Normal file
@@ -0,0 +1,7 @@
|
||||
import { createModulePage } from '@/router/createModulePage'
|
||||
|
||||
export const routeMeta = {
|
||||
menuName: 'superAdmin',
|
||||
}
|
||||
|
||||
export default createModulePage('superAdmin')
|
||||
7
web-admin/src/router/pages/admin/sysError/page.tsx
Normal file
7
web-admin/src/router/pages/admin/sysError/page.tsx
Normal file
@@ -0,0 +1,7 @@
|
||||
import { ErrorLogPage } from '@/features/errors/ErrorLogPage'
|
||||
|
||||
export const routeMeta = {
|
||||
menuName: 'sysError',
|
||||
}
|
||||
|
||||
export default ErrorLogPage
|
||||
7
web-admin/src/router/pages/admin/sysParams/page.tsx
Normal file
7
web-admin/src/router/pages/admin/sysParams/page.tsx
Normal file
@@ -0,0 +1,7 @@
|
||||
import { ParamsManagementPage } from '@/features/params/ParamsManagementPage'
|
||||
|
||||
export const routeMeta = {
|
||||
menuName: 'sysParams',
|
||||
}
|
||||
|
||||
export default ParamsManagementPage
|
||||
7
web-admin/src/router/pages/admin/system/page.tsx
Normal file
7
web-admin/src/router/pages/admin/system/page.tsx
Normal file
@@ -0,0 +1,7 @@
|
||||
import { SystemConfigPage } from '@/features/system/SystemConfigPage'
|
||||
|
||||
export const routeMeta = {
|
||||
menuName: 'system',
|
||||
}
|
||||
|
||||
export default SystemConfigPage
|
||||
7
web-admin/src/router/pages/admin/user/page.tsx
Normal file
7
web-admin/src/router/pages/admin/user/page.tsx
Normal file
@@ -0,0 +1,7 @@
|
||||
import { UserManagementPage } from '@/features/users/UserManagementPage'
|
||||
|
||||
export const routeMeta = {
|
||||
menuName: 'user',
|
||||
}
|
||||
|
||||
export default UserManagementPage
|
||||
7
web-admin/src/router/pages/common/breakpoint/page.tsx
Normal file
7
web-admin/src/router/pages/common/breakpoint/page.tsx
Normal file
@@ -0,0 +1,7 @@
|
||||
import { BreakpointPage } from '@/features/breakpoint/BreakpointPage'
|
||||
|
||||
export const routeMeta = {
|
||||
menuName: 'breakpoint',
|
||||
}
|
||||
|
||||
export default BreakpointPage
|
||||
7
web-admin/src/router/pages/common/page.tsx
Normal file
7
web-admin/src/router/pages/common/page.tsx
Normal file
@@ -0,0 +1,7 @@
|
||||
import { createModulePage } from '@/router/createModulePage'
|
||||
|
||||
export const routeMeta = {
|
||||
menuName: 'common',
|
||||
}
|
||||
|
||||
export default createModulePage('common')
|
||||
7
web-admin/src/router/pages/dashboard/page.tsx
Normal file
7
web-admin/src/router/pages/dashboard/page.tsx
Normal file
@@ -0,0 +1,7 @@
|
||||
import { DashboardPage } from '@/features/dashboard/DashboardPage'
|
||||
|
||||
export const routeMeta = {
|
||||
menuName: 'dashboard',
|
||||
}
|
||||
|
||||
export default DashboardPage
|
||||
7
web-admin/src/router/pages/example/customer/page.tsx
Normal file
7
web-admin/src/router/pages/example/customer/page.tsx
Normal file
@@ -0,0 +1,7 @@
|
||||
import { createModulePage } from '@/router/createModulePage'
|
||||
|
||||
export const routeMeta = {
|
||||
menuName: 'customer',
|
||||
}
|
||||
|
||||
export default createModulePage('customer')
|
||||
7
web-admin/src/router/pages/example/page.tsx
Normal file
7
web-admin/src/router/pages/example/page.tsx
Normal file
@@ -0,0 +1,7 @@
|
||||
import { createModulePage } from '@/router/createModulePage'
|
||||
|
||||
export const routeMeta = {
|
||||
menuName: 'example',
|
||||
}
|
||||
|
||||
export default createModulePage('example')
|
||||
7
web-admin/src/router/pages/person/page.tsx
Normal file
7
web-admin/src/router/pages/person/page.tsx
Normal file
@@ -0,0 +1,7 @@
|
||||
import { ProfilePage } from '@/features/person/ProfilePage'
|
||||
|
||||
export const routeMeta = {
|
||||
menuName: 'person',
|
||||
}
|
||||
|
||||
export default ProfilePage
|
||||
7
web-admin/src/router/pages/plugin/anInfo/page.tsx
Normal file
7
web-admin/src/router/pages/plugin/anInfo/page.tsx
Normal file
@@ -0,0 +1,7 @@
|
||||
import { createModulePage } from '@/router/createModulePage'
|
||||
|
||||
export const routeMeta = {
|
||||
menuName: 'anInfo',
|
||||
}
|
||||
|
||||
export default createModulePage('anInfo')
|
||||
7
web-admin/src/router/pages/plugin/installPlugin/page.tsx
Normal file
7
web-admin/src/router/pages/plugin/installPlugin/page.tsx
Normal file
@@ -0,0 +1,7 @@
|
||||
import { createModulePage } from '@/router/createModulePage'
|
||||
|
||||
export const routeMeta = {
|
||||
menuName: 'installPlugin',
|
||||
}
|
||||
|
||||
export default createModulePage('installPlugin')
|
||||
7
web-admin/src/router/pages/plugin/page.tsx
Normal file
7
web-admin/src/router/pages/plugin/page.tsx
Normal file
@@ -0,0 +1,7 @@
|
||||
import { createModulePage } from '@/router/createModulePage'
|
||||
|
||||
export const routeMeta = {
|
||||
menuName: 'plugin',
|
||||
}
|
||||
|
||||
export default createModulePage('plugin')
|
||||
7
web-admin/src/router/pages/plugin/plugin-email/page.tsx
Normal file
7
web-admin/src/router/pages/plugin/plugin-email/page.tsx
Normal file
@@ -0,0 +1,7 @@
|
||||
import { createModulePage } from '@/router/createModulePage'
|
||||
|
||||
export const routeMeta = {
|
||||
menuName: 'plugin-email',
|
||||
}
|
||||
|
||||
export default createModulePage('plugin-email')
|
||||
7
web-admin/src/router/pages/plugin/pubPlug/page.tsx
Normal file
7
web-admin/src/router/pages/plugin/pubPlug/page.tsx
Normal file
@@ -0,0 +1,7 @@
|
||||
import { createModulePage } from '@/router/createModulePage'
|
||||
|
||||
export const routeMeta = {
|
||||
menuName: 'pubPlug',
|
||||
}
|
||||
|
||||
export default createModulePage('pubPlug')
|
||||
7
web-admin/src/router/pages/state/page.tsx
Normal file
7
web-admin/src/router/pages/state/page.tsx
Normal file
@@ -0,0 +1,7 @@
|
||||
import { ServerStatePage } from '@/features/server/ServerStatePage'
|
||||
|
||||
export const routeMeta = {
|
||||
menuName: 'state',
|
||||
}
|
||||
|
||||
export default ServerStatePage
|
||||
@@ -0,0 +1,7 @@
|
||||
import { createModulePage } from '@/router/createModulePage'
|
||||
|
||||
export const routeMeta = {
|
||||
menuName: 'aiWorkflow',
|
||||
}
|
||||
|
||||
export default createModulePage('aiWorkflow')
|
||||
@@ -0,0 +1,7 @@
|
||||
import { createModulePage } from '@/router/createModulePage'
|
||||
|
||||
export const routeMeta = {
|
||||
menuName: 'exportTemplate',
|
||||
}
|
||||
|
||||
export default createModulePage('exportTemplate')
|
||||
7
web-admin/src/router/pages/systemTools/mcpTest/page.tsx
Normal file
7
web-admin/src/router/pages/systemTools/mcpTest/page.tsx
Normal file
@@ -0,0 +1,7 @@
|
||||
import { McpTestPage } from '@/features/mcp/McpTestPage'
|
||||
|
||||
export const routeMeta = {
|
||||
menuName: 'mcpTest',
|
||||
}
|
||||
|
||||
export default McpTestPage
|
||||
7
web-admin/src/router/pages/systemTools/mcpTool/page.tsx
Normal file
7
web-admin/src/router/pages/systemTools/mcpTool/page.tsx
Normal file
@@ -0,0 +1,7 @@
|
||||
import { McpToolPage } from '@/features/mcp/McpToolPage'
|
||||
|
||||
export const routeMeta = {
|
||||
menuName: 'mcpTool',
|
||||
}
|
||||
|
||||
export default McpToolPage
|
||||
7
web-admin/src/router/pages/systemTools/page.tsx
Normal file
7
web-admin/src/router/pages/systemTools/page.tsx
Normal file
@@ -0,0 +1,7 @@
|
||||
import { createModulePage } from '@/router/createModulePage'
|
||||
|
||||
export const routeMeta = {
|
||||
menuName: 'systemTools',
|
||||
}
|
||||
|
||||
export default createModulePage('systemTools')
|
||||
16
web-admin/src/router/routeTypes.ts
Normal file
16
web-admin/src/router/routeTypes.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
import type { ComponentType } from 'react'
|
||||
|
||||
export type RouteMeta = {
|
||||
menuName: string
|
||||
}
|
||||
|
||||
export type FileRouteModule = {
|
||||
default: ComponentType
|
||||
routeMeta: RouteMeta
|
||||
}
|
||||
|
||||
export type AppRoute = {
|
||||
path: string
|
||||
menuName: string
|
||||
component: ComponentType
|
||||
}
|
||||
Reference in New Issue
Block a user