refactor(routing): 重构路由模块以提高可维护性
- 将路由配置从单一文件拆分为多个模块化文件 - 新增 routes/modules 目录,每个路由对应一个模块文件 - 在 routes.ts 中使用模块映射替代直接定义路由数组 - 添加路由类型定义文件 routes/types.tsmaster
parent
c0ac04289d
commit
aa5b4d983b
@ -0,0 +1,11 @@
|
||||
import React from 'react';
|
||||
|
||||
function IDEContainer() {
|
||||
return (
|
||||
<>
|
||||
<div>IDE Container</div>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
export default IDEContainer;
|
||||
@ -0,0 +1,6 @@
|
||||
import { IRoute } from '@/routes/types';
|
||||
|
||||
export const applicationModule: IRoute = {
|
||||
name: 'menu.application',
|
||||
key: 'application'
|
||||
};
|
||||
@ -0,0 +1,6 @@
|
||||
import { IRoute } from '@/routes/types';
|
||||
|
||||
export const componentDevelopmentModule: IRoute = {
|
||||
name: 'menu.componentDevelopment',
|
||||
key: 'componentDevelopment'
|
||||
};
|
||||
@ -0,0 +1,6 @@
|
||||
import { IRoute } from '@/routes/types';
|
||||
|
||||
export const componentLibraryModule: IRoute = {
|
||||
name: 'menu.componentLibrary',
|
||||
key: 'componentLibrary'
|
||||
};
|
||||
@ -0,0 +1,6 @@
|
||||
import { IRoute } from '@/routes/types';
|
||||
|
||||
export const componentMarketModule: IRoute = {
|
||||
name: 'menu.componentMarket',
|
||||
key: 'componentMarket'
|
||||
};
|
||||
@ -0,0 +1,6 @@
|
||||
import { IRoute } from '@/routes/types';
|
||||
|
||||
export const compositeCompLibraryModule: IRoute = {
|
||||
name: 'menu.compositeCompLibrary',
|
||||
key: 'compositeCompLibrary'
|
||||
};
|
||||
@ -0,0 +1,12 @@
|
||||
import { IRoute } from '@/routes/types';
|
||||
|
||||
export const dashboardModule: IRoute = {
|
||||
name: 'menu.dashboard',
|
||||
key: 'dashboard',
|
||||
children: [
|
||||
{
|
||||
name: 'menu.dashboard.workplace',
|
||||
key: 'dashboard/workplace'
|
||||
}
|
||||
]
|
||||
};
|
||||
@ -0,0 +1,30 @@
|
||||
import { dashboardModule } from './dashboard';
|
||||
import { sceneModule } from './scene';
|
||||
import { applicationModule } from './application';
|
||||
import { instanceModule } from './instance';
|
||||
import { componentDevelopmentModule } from './componentDevelopment';
|
||||
import { componentLibraryModule } from './componentLibrary';
|
||||
import { compositeCompLibraryModule } from './compositeCompLibrary';
|
||||
import { componentMarketModule } from './componentMarket';
|
||||
|
||||
export {
|
||||
dashboardModule,
|
||||
sceneModule,
|
||||
applicationModule,
|
||||
instanceModule,
|
||||
componentDevelopmentModule,
|
||||
componentLibraryModule,
|
||||
compositeCompLibraryModule,
|
||||
componentMarketModule
|
||||
};
|
||||
|
||||
export const moduleMap = {
|
||||
dashboard: dashboardModule,
|
||||
scene: sceneModule,
|
||||
application: applicationModule,
|
||||
instance: instanceModule,
|
||||
componentDevelopment: componentDevelopmentModule,
|
||||
componentLibrary: componentLibraryModule,
|
||||
compositeCompLibrary: compositeCompLibraryModule,
|
||||
componentMarket: componentMarketModule
|
||||
};
|
||||
@ -0,0 +1,6 @@
|
||||
import { IRoute } from '@/routes/types';
|
||||
|
||||
export const instanceModule: IRoute = {
|
||||
name: 'menu.instance',
|
||||
key: 'instance'
|
||||
};
|
||||
@ -0,0 +1,6 @@
|
||||
import { IRoute } from '@/routes/types';
|
||||
|
||||
export const sceneModule: IRoute = {
|
||||
name: 'menu.scene',
|
||||
key: 'scene'
|
||||
};
|
||||
@ -0,0 +1,11 @@
|
||||
import { AuthParams } from '@/utils/authentication';
|
||||
|
||||
export type IRoute = AuthParams & {
|
||||
name: string;
|
||||
key: string;
|
||||
// 当前页是否展示面包屑
|
||||
breadcrumb?: boolean;
|
||||
children?: IRoute[];
|
||||
// 当前路由是否渲染菜单项,为 true 的话不会在菜单中显示,但可通过路由地址访问。
|
||||
ignore?: boolean;
|
||||
};
|
||||
Loading…
Reference in New Issue