🎉 完善基础模块

This commit is contained in:
2026-04-07 13:25:39 +08:00
parent c6f6930416
commit 22bb5fdc94
40 changed files with 2003 additions and 1 deletions

View 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
}

View 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))

View File

@@ -0,0 +1,7 @@
import { ApiManagementPage } from '@/features/apis/ApiManagementPage'
export const routeMeta = {
menuName: 'api',
}
export default ApiManagementPage

View File

@@ -0,0 +1,7 @@
import { ApiTokenPage } from '@/features/tokens/ApiTokenPage'
export const routeMeta = {
menuName: 'apiToken',
}
export default ApiTokenPage

View File

@@ -0,0 +1,7 @@
import { RoleManagementPage } from '@/features/roles/RoleManagementPage'
export const routeMeta = {
menuName: 'authority',
}
export default RoleManagementPage

View File

@@ -0,0 +1,7 @@
import { DictionaryManagementPage } from '@/features/dictionaries/DictionaryManagementPage'
export const routeMeta = {
menuName: 'dictionary',
}
export default DictionaryManagementPage

View File

@@ -0,0 +1,7 @@
import { LoginLogPage } from '@/features/logs/LoginLogPage'
export const routeMeta = {
menuName: 'loginLog',
}
export default LoginLogPage

View File

@@ -0,0 +1,7 @@
import { MenuManagementPage } from '@/features/menus/MenuManagementPage'
export const routeMeta = {
menuName: 'menu',
}
export default MenuManagementPage

View File

@@ -0,0 +1,7 @@
import { OperationLogPage } from '@/features/logs/OperationLogPage'
export const routeMeta = {
menuName: 'operation',
}
export default OperationLogPage

View File

@@ -0,0 +1,7 @@
import { createModulePage } from '@/router/createModulePage'
export const routeMeta = {
menuName: 'superAdmin',
}
export default createModulePage('superAdmin')

View File

@@ -0,0 +1,7 @@
import { ErrorLogPage } from '@/features/errors/ErrorLogPage'
export const routeMeta = {
menuName: 'sysError',
}
export default ErrorLogPage

View File

@@ -0,0 +1,7 @@
import { ParamsManagementPage } from '@/features/params/ParamsManagementPage'
export const routeMeta = {
menuName: 'sysParams',
}
export default ParamsManagementPage

View File

@@ -0,0 +1,7 @@
import { SystemConfigPage } from '@/features/system/SystemConfigPage'
export const routeMeta = {
menuName: 'system',
}
export default SystemConfigPage

View File

@@ -0,0 +1,7 @@
import { UserManagementPage } from '@/features/users/UserManagementPage'
export const routeMeta = {
menuName: 'user',
}
export default UserManagementPage

View File

@@ -0,0 +1,7 @@
import { BreakpointPage } from '@/features/breakpoint/BreakpointPage'
export const routeMeta = {
menuName: 'breakpoint',
}
export default BreakpointPage

View File

@@ -0,0 +1,7 @@
import { createModulePage } from '@/router/createModulePage'
export const routeMeta = {
menuName: 'common',
}
export default createModulePage('common')

View File

@@ -0,0 +1,7 @@
import { DashboardPage } from '@/features/dashboard/DashboardPage'
export const routeMeta = {
menuName: 'dashboard',
}
export default DashboardPage

View File

@@ -0,0 +1,7 @@
import { createModulePage } from '@/router/createModulePage'
export const routeMeta = {
menuName: 'customer',
}
export default createModulePage('customer')

View File

@@ -0,0 +1,7 @@
import { createModulePage } from '@/router/createModulePage'
export const routeMeta = {
menuName: 'example',
}
export default createModulePage('example')

View File

@@ -0,0 +1,7 @@
import { ProfilePage } from '@/features/person/ProfilePage'
export const routeMeta = {
menuName: 'person',
}
export default ProfilePage

View File

@@ -0,0 +1,7 @@
import { createModulePage } from '@/router/createModulePage'
export const routeMeta = {
menuName: 'anInfo',
}
export default createModulePage('anInfo')

View File

@@ -0,0 +1,7 @@
import { createModulePage } from '@/router/createModulePage'
export const routeMeta = {
menuName: 'installPlugin',
}
export default createModulePage('installPlugin')

View File

@@ -0,0 +1,7 @@
import { createModulePage } from '@/router/createModulePage'
export const routeMeta = {
menuName: 'plugin',
}
export default createModulePage('plugin')

View File

@@ -0,0 +1,7 @@
import { createModulePage } from '@/router/createModulePage'
export const routeMeta = {
menuName: 'plugin-email',
}
export default createModulePage('plugin-email')

View File

@@ -0,0 +1,7 @@
import { createModulePage } from '@/router/createModulePage'
export const routeMeta = {
menuName: 'pubPlug',
}
export default createModulePage('pubPlug')

View File

@@ -0,0 +1,7 @@
import { ServerStatePage } from '@/features/server/ServerStatePage'
export const routeMeta = {
menuName: 'state',
}
export default ServerStatePage

View File

@@ -0,0 +1,7 @@
import { createModulePage } from '@/router/createModulePage'
export const routeMeta = {
menuName: 'aiWorkflow',
}
export default createModulePage('aiWorkflow')

View File

@@ -0,0 +1,7 @@
import { createModulePage } from '@/router/createModulePage'
export const routeMeta = {
menuName: 'exportTemplate',
}
export default createModulePage('exportTemplate')

View File

@@ -0,0 +1,7 @@
import { McpTestPage } from '@/features/mcp/McpTestPage'
export const routeMeta = {
menuName: 'mcpTest',
}
export default McpTestPage

View File

@@ -0,0 +1,7 @@
import { McpToolPage } from '@/features/mcp/McpToolPage'
export const routeMeta = {
menuName: 'mcpTool',
}
export default McpToolPage

View File

@@ -0,0 +1,7 @@
import { createModulePage } from '@/router/createModulePage'
export const routeMeta = {
menuName: 'systemTools',
}
export default createModulePage('systemTools')

View 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
}