/**
* @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, 注意去除风格后缀和大小写,如想要配置图标为 则取值应为 stepBackward 或 StepBackward,如想要配置图标为 则取值应为 user 或者 User
* @doc https://umijs.org/docs/guides/routes
*/
export default [
{
path: '/user',
layout: false,
routes: [
{
path: '/user',
redirect: '/user/login',
},
{
name: 'login',
path: '/user/login',
component: './User/Login',
},
{
name: 'register',
path: '/user/register',
component: './User/Register/index',
}
]
},
{
path: '/mjp',
layout: false,
routes: [
{
path: '/mjp',
redirect: '/mjp/task',
},
{
name: 'login',
path: '/mjp/login',
component: './MJPackage/TokenLogin',
},
{
name: 'task',
path: '/mjp/task',
component: './MJPackage/TaskMessageInfo',
},
{
name: 'task',
path: '/mjp/price',
component: './MJPackage/MJPriceInfo',
}
]
},
{
path: '/welcome',
name: 'welcome',
icon: 'smile',
component: './Welcome',
},
{
path: '/userCenter',
name: 'userCenter',
icon: 'User',
component: './User/UserCenter/UserCenter.tsx',
},
{
name: 'prompt',
path: '/prompt',
icon: 'Profile',
access: 'canPrompt',
routes: [
{
name: 'prompt-type',
path: '/prompt/prompt-type',
component: './Prompt/PromptTypeManagement/index',
access: 'canPrompt',
},
{
name: 'prompt-management',
path: '/prompt/prompt-management',
component: './Prompt/PromptManagement/index',
access: 'canPrompt',
}
]
},
{
name: 'options',
path: '/options',
icon: 'Tool',
access: 'canOptions',
routes: [
{
name: 'laitoolOptions',
path: '/options/laitoolOptions',
component: './Options/LaitoolOptions/LaitoolOptions/index',
access: 'canLaiToolOptions',
},
{
name: 'systemOptions',
path: '/options/systemOptions',
component: './Options/SystemOptions/index',
access: 'canSystemOptions',
}
]
},
{
path: '/optionManagement',
name: 'optionManagement',
icon: 'Product',
access: 'canOptionManagement',
component: './Options/OptionsManagement',
},
{
path: '/roleManagement',
name: 'roleManagement',
icon: 'Team',
access: 'canRoleManagement',
component: './Role/RoleManagement/index',
},
{
path: '/userManagement',
name: 'userManagement',
icon: 'User',
access: 'canUserManagement',
component: './User/UserManage/UserManagement/index',
},
{
path: '/machineManagement',
name: 'machineManagement',
icon: 'Desktop',
access: 'canMachineManagement',
component: './Machine/MachineManagement/index',
},
{
path: '/sofrwareControlManagement',
name: 'sofrwareControlManagement',
icon: 'Reconciliation',
access: 'canSofrwareControlManagement',
component: './Software/SofrwareControl/SofrwareControlManagement',
},
{
name: 'other',
path: '/other',
icon: 'Profile',
access: 'canSystemOptions',
routes: [
{
name: 'machine-id-authorization',
path: '/other/machine-id-authorization',
component: './Other/MachineIdAuthorization/index',
access: 'canSystemOptions',
},
{
name: 'data-info',
path: '/other/data-info',
component: './Other/DataInfo/index',
access: 'canSystemOptions',
}
]
},
{
name: 'mjpackage',
path: '/mjpackage',
icon: 'Discord',
access: 'canSystemOptions',
routes: [
{
name: 'token-management',
path: '/mjpackage/token-management',
component: './MJPackage/TokenManagement',
access: 'canSystemOptions',
},
{
name: 'task-management',
path: '/mjpackage/task-management',
component: './MJPackage/TaskManagement',
access: 'canSystemOptions',
}
]
},
{
path: '/',
redirect: '/welcome',
},
{
path: '*',
layout: false,
component: './404',
},
];