|
|
/*
|
|
|
* @Author: donghao donghao@supervision.ltd
|
|
|
* @Date: 2024-03-27 14:56:27
|
|
|
* @LastEditors: donghao donghao@supervision.ltd
|
|
|
* @LastEditTime: 2024-06-17 14:42:27
|
|
|
* @FilePath: \general-ai-manage\config\routes.ts
|
|
|
* @Description: 页面路由池
|
|
|
*/
|
|
|
/**
|
|
|
* @name umi 的路由配置
|
|
|
* @description 只支持 path,component,routes,redirect,wrappers,name,icon 的配置
|
|
|
* @param path path 只支持两种占位符配置,第一种是动态参数 :id 的形式,第二种是 * 通配符,通配符只能出现路由字符串的最后。
|
|
|
* @param component 配置 location 和 path 匹配后用于渲染的 React 组件路径。可以是绝对路径,也可以是相对路径,如果是相对路径,会从 src/pages 开始找起。
|
|
|
* @param routes 配置子路由,通常在需要为多个路径增加 layout 组件时使用。
|
|
|
* @param redirect 配置路由跳转
|
|
|
* @param wrappers 配置路由组件的包装组件,通过包装组件可以为当前的路由组件组合进更多的功能。 比如,可以用于路由级别的权限校验
|
|
|
* @param name 配置路由的标题,默认读取国际化文件 menu.ts 中 menu.xxxx 的值,如配置 name 为 login,则读取 menu.ts 中 menu.login 的取值作为标题
|
|
|
* @param icon 配置路由的图标,取值参考 https://ant.design/components/icon-cn, 注意去除风格后缀和大小写,如想要配置图标为 <StepBackwardOutlined /> 则取值应为 stepBackward 或 StepBackward,如想要配置图标为 <UserOutlined /> 则取值应为 user 或者 User
|
|
|
* @doc https://umijs.org/docs/guides/routes
|
|
|
*/
|
|
|
|
|
|
/** 主页路由模块 */
|
|
|
|
|
|
// 首页
|
|
|
export const homeRoute = [
|
|
|
{
|
|
|
name: 'home-business-project',
|
|
|
path: '/home/business-project',
|
|
|
component: './Project/BusinessProject',
|
|
|
access: 'canReadMenu',
|
|
|
key: 'BusinessProject001',
|
|
|
level: 1, // 一级菜单
|
|
|
},
|
|
|
];
|
|
|
|
|
|
// 算力中心
|
|
|
export const computePowerCenterRoute = [
|
|
|
{
|
|
|
name: 'computePower-center',
|
|
|
path: '/home/computePower-center',
|
|
|
component: './ComputePowerCenter',
|
|
|
access: 'canReadMenu',
|
|
|
key: 'ComputePowerCenter001',
|
|
|
level: 1, // 一级菜单
|
|
|
},
|
|
|
];
|
|
|
|
|
|
// 系统日志
|
|
|
// 算力中心
|
|
|
export const logRoute = [
|
|
|
{
|
|
|
name: 'log-index',
|
|
|
path: '/home/log-index',
|
|
|
component: './Log',
|
|
|
access: 'canReadMenu',
|
|
|
key: 'LogIndex001',
|
|
|
level: 1, // 一级菜单
|
|
|
},
|
|
|
];
|
|
|
/**
|
|
|
* @模型路由模块
|
|
|
* @param modelRouteIndex 一级菜单
|
|
|
* @param subModelRoute 二级菜单
|
|
|
* @param level 菜单级数
|
|
|
* @param isHideMenu 是否隐藏菜单
|
|
|
* @param icon 字体图标
|
|
|
* @param rootMenuKey 根目录key 识别高亮
|
|
|
*/
|
|
|
|
|
|
const modelRouteIndex = {
|
|
|
name: 'model-manage',
|
|
|
path: '/home/model-index',
|
|
|
component: './Model/ModelIndex',
|
|
|
access: 'canReadMenu',
|
|
|
// menuIcon: 'icon-moxingliebiao-unselected',
|
|
|
key: 'model000',
|
|
|
};
|
|
|
const subModelRoute = [
|
|
|
{
|
|
|
name: 'model-index',
|
|
|
path: '/home/model-index',
|
|
|
component: './Model/ModelIndex',
|
|
|
access: 'canReadMenu',
|
|
|
// menuIcon: 'icon-moxingliebiao-unselected',
|
|
|
defaultIcon: 'modelListActiveIcon',
|
|
|
// activeIcon: modelListActiveIicon,
|
|
|
key: 'model001',
|
|
|
rootMenuKey: 'model000',
|
|
|
},
|
|
|
{
|
|
|
name: 'model-runtime-lib',
|
|
|
path: '/home/runtime-lib',
|
|
|
component: './Model/ModelRuntimeLib',
|
|
|
access: 'canReadMenu',
|
|
|
key: 'model002',
|
|
|
menuIcon: 'icon-moxingyunhangku-unselected',
|
|
|
level: 2,
|
|
|
rootMenuKey: 'model000',
|
|
|
},
|
|
|
{
|
|
|
name: 'model-detail',
|
|
|
path: '/home/model-detail/:id',
|
|
|
component: './Model/ModelDetail',
|
|
|
access: 'canReadMenu',
|
|
|
key: 'model003',
|
|
|
isHideMenu: true,
|
|
|
level: 2,
|
|
|
rootMenuKey: 'model000',
|
|
|
},
|
|
|
];
|
|
|
|
|
|
export const modelRoute = [
|
|
|
{
|
|
|
...modelRouteIndex,
|
|
|
level: 1,
|
|
|
subMenu: [...subModelRoute],
|
|
|
},
|
|
|
...subModelRoute,
|
|
|
];
|
|
|
|
|
|
/**
|
|
|
* @外部菜单
|
|
|
*/
|
|
|
export const outerMenuRoute = {
|
|
|
name: 'home',
|
|
|
path: '/home',
|
|
|
layout: false,
|
|
|
access: 'canReadMenu',
|
|
|
component: '@/layouts/HomeLayout',
|
|
|
routes: [...homeRoute, ...modelRoute, ...computePowerCenterRoute, ...logRoute],
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
* @内部菜单
|
|
|
*/
|
|
|
export const innerMenuRoutes = [
|
|
|
{
|
|
|
name: 'business-info-index',
|
|
|
path: '/business/index',
|
|
|
component: './Project/BusinessInfo',
|
|
|
access: 'canReadMenu',
|
|
|
key: '1001',
|
|
|
menuIcon: 'icon-qiyexinxi',
|
|
|
},
|
|
|
{
|
|
|
name: 'business-device-group',
|
|
|
path: '/business/deviceGroup',
|
|
|
component: './Business/DeviceGroup',
|
|
|
access: 'canReadMenu',
|
|
|
key: '1002',
|
|
|
menuIcon: 'icon-jiedianshezhi',
|
|
|
},
|
|
|
{
|
|
|
name: 'business-model-index',
|
|
|
path: '/business/businessModel',
|
|
|
component: './Business/BusinessModel',
|
|
|
access: 'canReadMenu',
|
|
|
key: '1003',
|
|
|
menuIcon: 'icon-yewumoxing',
|
|
|
},
|
|
|
{
|
|
|
name: 'business-server-state',
|
|
|
path: '/business/serverState',
|
|
|
component: './Business/BusinessState',
|
|
|
access: 'canReadMenu',
|
|
|
key: '1004',
|
|
|
menuIcon: 'icon-fuwuqizhuangtai',
|
|
|
},
|
|
|
{
|
|
|
name: 'business-device-state',
|
|
|
path: '/business/deviceState',
|
|
|
component: './Business/BusinessState/deviceSate',
|
|
|
access: 'canReadMenu',
|
|
|
key: '1005',
|
|
|
menuIcon: 'icon-shebeizhuangtai',
|
|
|
},
|
|
|
];
|
|
|
|
|
|
// 全路由模块
|
|
|
export default [
|
|
|
outerMenuRoute,
|
|
|
{
|
|
|
path: '/user',
|
|
|
layout: false,
|
|
|
routes: [
|
|
|
{
|
|
|
name: 'login',
|
|
|
path: '/user/login',
|
|
|
component: './User/Login',
|
|
|
},
|
|
|
],
|
|
|
},
|
|
|
...innerMenuRoutes,
|
|
|
{
|
|
|
path: '/',
|
|
|
redirect: '/home/business-project',
|
|
|
},
|
|
|
{
|
|
|
path: '*',
|
|
|
layout: false,
|
|
|
component: './404',
|
|
|
},
|
|
|
// test demo
|
|
|
// {
|
|
|
// path: '/admin',
|
|
|
// name: 'admin',
|
|
|
// icon: 'crown',
|
|
|
// routes: [
|
|
|
// {
|
|
|
// path: '/admin',
|
|
|
// redirect: '/admin/index',
|
|
|
// },
|
|
|
// {
|
|
|
// path: '/admin/index',
|
|
|
// name: 'admin-index',
|
|
|
// component: './Admin',
|
|
|
// },
|
|
|
// {
|
|
|
// path: '/admin/previewFile',
|
|
|
// name: 'admin-preview-file',
|
|
|
// component: './Admin/previewFile',
|
|
|
// },
|
|
|
// ],
|
|
|
// },
|
|
|
];
|