2023-01-14 21:02:18 +08:00
|
|
|
// eslint-disable-next-line
|
|
|
|
import { UserLayout, BasicLayout, BlankLayout } from '@/layouts'
|
|
|
|
|
|
|
|
const RouteView = {
|
|
|
|
name: 'RouteView',
|
|
|
|
render: h => h('router-view')
|
|
|
|
}
|
|
|
|
|
|
|
|
export const asyncRouterMap = [
|
|
|
|
{
|
|
|
|
path: '/',
|
|
|
|
name: 'index',
|
|
|
|
component: BasicLayout,
|
|
|
|
meta: { title: 'menu.home' },
|
2023-01-14 20:46:22 +08:00
|
|
|
redirect: '/dashboard/analysis',
|
2023-01-14 21:02:18 +08:00
|
|
|
children: [
|
|
|
|
// dashboard
|
|
|
|
{
|
|
|
|
path: '/dashboard',
|
|
|
|
name: 'dashboard',
|
2023-01-14 20:46:02 +08:00
|
|
|
redirect: '/dashboard/analysis',
|
|
|
|
hideChildrenInMenu: true,
|
2023-01-14 21:02:18 +08:00
|
|
|
component: RouteView,
|
2023-09-12 22:08:59 +08:00
|
|
|
meta: { title: 'menu.dashboard', keepAlive: true, icon: 'dashboard', permission: ['dashboard'] },
|
2023-01-14 21:02:18 +08:00
|
|
|
children: [
|
|
|
|
{
|
2023-01-14 20:46:02 +08:00
|
|
|
path: '/dashboard/analysis',
|
2023-01-14 21:02:18 +08:00
|
|
|
name: 'Analysis',
|
|
|
|
component: () => import('@/views/dashboard/Analysis'),
|
2023-01-14 20:46:02 +08:00
|
|
|
meta: { title: 'menu.dashboard.analysis', keepAlive: true, permission: ['dashboard'] }
|
2023-06-06 23:23:59 +08:00
|
|
|
},
|
|
|
|
{
|
|
|
|
path: '/dashboard/pods',
|
|
|
|
name: 'PodList',
|
|
|
|
component: () => import('@/views/dashboard/PodList'),
|
|
|
|
meta: { title: 'menu.dashboard.analysis', keepAlive: true, permission: ['dashboard'] }
|
2023-01-14 21:02:18 +08:00
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
// profile
|
|
|
|
{
|
|
|
|
path: '/basic-config-list',
|
|
|
|
name: 'basicConfigList',
|
|
|
|
component: () => import('@/views/config/GroupList'),
|
2023-09-12 22:08:59 +08:00
|
|
|
meta: { title: '组管理', icon: 'team', permission: ['group'] }
|
2023-01-14 21:02:18 +08:00
|
|
|
},
|
|
|
|
{
|
|
|
|
path: '/basic-config',
|
|
|
|
name: 'basicConfig',
|
|
|
|
hidden: true,
|
|
|
|
component: () => import('@/views/config/basicConfigForm/BasicConfigForm'),
|
|
|
|
meta: { title: '基础信息配置', hidden: true, hideChildrenInMenu: true, icon: 'profile', permission: ['basicConfig'] }
|
|
|
|
},
|
|
|
|
{
|
2023-10-12 23:09:22 +08:00
|
|
|
path: '/retry',
|
2023-01-14 21:02:18 +08:00
|
|
|
name: 'RetryTask',
|
|
|
|
component: RouteView,
|
2023-10-12 23:09:22 +08:00
|
|
|
redirect: '/retry/list',
|
|
|
|
meta: { title: '重试任务管理', icon: 'schedule', hideChildrenInMenu: true, keepAlive: true, permission: ['retryTask'] },
|
2023-01-14 21:02:18 +08:00
|
|
|
children: [
|
2023-10-23 23:38:45 +08:00
|
|
|
{
|
|
|
|
path: '/retry/scene/list',
|
|
|
|
name: 'SceneList',
|
|
|
|
component: () => import('@/views/task/SceneList'),
|
|
|
|
meta: { title: '场景列表', icon: 'profile', keepAlive: true, permission: ['retryTask'] }
|
|
|
|
},
|
|
|
|
{
|
|
|
|
path: '/retry/scene/config',
|
|
|
|
name: 'SceneFrom',
|
|
|
|
hidden: true,
|
|
|
|
component: () => import('@/views/task/form/SceneFrom'),
|
|
|
|
meta: { title: '场景配置', icon: 'profile', keepAlive: true, permission: ['retryTask'] }
|
|
|
|
},
|
|
|
|
{
|
|
|
|
path: '/retry/notify/list',
|
|
|
|
name: 'NotifyList',
|
|
|
|
component: () => import('@/views/task/NotifyList'),
|
|
|
|
meta: { title: '通知配置', icon: 'profile', keepAlive: true, permission: ['retryTask'] }
|
|
|
|
},
|
2023-01-14 21:02:18 +08:00
|
|
|
{
|
2023-10-12 23:09:22 +08:00
|
|
|
path: '/retry/list',
|
|
|
|
name: 'RetryTaskList',
|
|
|
|
component: () => import('@/views/task/RetryTaskList'),
|
|
|
|
meta: { title: '重试任务', icon: 'profile', keepAlive: true, permission: ['retryTask'] }
|
|
|
|
},
|
|
|
|
{
|
|
|
|
path: '/retry/info',
|
2023-01-14 21:02:18 +08:00
|
|
|
name: 'RetryTaskInfo',
|
2023-10-12 23:09:22 +08:00
|
|
|
hidden: true,
|
2023-01-14 21:02:18 +08:00
|
|
|
component: () => import('@/views/task/RetryTaskInfo'),
|
|
|
|
meta: { title: '任务管理详情', icon: 'profile', keepAlive: true, permission: ['retryTask'] }
|
|
|
|
},
|
|
|
|
{
|
2023-10-12 23:09:22 +08:00
|
|
|
path: '/retry/dead-letter/list',
|
2023-01-14 21:02:18 +08:00
|
|
|
name: 'RetryDeadLetterList',
|
|
|
|
component: () => import('@/views/task/RetryDeadLetterList'),
|
2023-10-12 23:09:22 +08:00
|
|
|
meta: { title: '死信队列', icon: 'profile', permission: ['retryDeadLetter'] }
|
2023-01-14 21:02:18 +08:00
|
|
|
},
|
|
|
|
{
|
2023-10-12 23:09:22 +08:00
|
|
|
path: '/retry/dead-letter/info',
|
2023-01-14 21:02:18 +08:00
|
|
|
name: 'RetryDeadLetterInfo',
|
2023-10-12 23:09:22 +08:00
|
|
|
hidden: true,
|
2023-01-14 21:02:18 +08:00
|
|
|
component: () => import('@/views/task/RetryDeadLetterInfo'),
|
|
|
|
meta: { title: '死信队列管理详情', icon: 'profile', permission: ['retryDeadLetter'] }
|
2023-10-12 23:09:22 +08:00
|
|
|
},
|
2023-01-14 21:02:18 +08:00
|
|
|
{
|
2023-10-12 23:09:22 +08:00
|
|
|
path: '/retry/log/list',
|
2023-01-14 21:02:18 +08:00
|
|
|
name: 'RetryLogList',
|
|
|
|
component: () => import('@/views/task/RetryLogList'),
|
2023-10-12 23:09:22 +08:00
|
|
|
meta: { title: '重试日志', icon: 'profile', permission: ['retryLog'] }
|
2023-01-14 21:02:18 +08:00
|
|
|
},
|
|
|
|
{
|
2023-10-12 23:09:22 +08:00
|
|
|
path: '/retry/log/info',
|
2023-01-14 21:02:18 +08:00
|
|
|
name: 'RetryLogInfo',
|
2023-10-12 23:09:22 +08:00
|
|
|
hidden: true,
|
2023-01-14 21:02:18 +08:00
|
|
|
component: () => import('@/views/task/RetryLogInfo'),
|
|
|
|
meta: { title: '重试日志详情', icon: 'profile', permission: ['retryLog'] }
|
|
|
|
}
|
2023-10-12 23:09:22 +08:00
|
|
|
]
|
2023-09-12 22:08:59 +08:00
|
|
|
},
|
2023-01-14 21:02:18 +08:00
|
|
|
{
|
2023-10-11 23:25:45 +08:00
|
|
|
path: '/job',
|
|
|
|
name: 'Job',
|
|
|
|
component: RouteView,
|
2023-10-12 23:09:22 +08:00
|
|
|
redirect: '/job/list',
|
2023-10-20 18:48:53 +08:00
|
|
|
meta: { title: '定时任务管理', icon: 'profile', permission: ['job'] },
|
2023-10-11 23:25:45 +08:00
|
|
|
children: [
|
|
|
|
{
|
2023-10-12 23:09:22 +08:00
|
|
|
path: '/job/list',
|
2023-10-11 23:25:45 +08:00
|
|
|
name: 'JobList',
|
|
|
|
component: () => import('@/views/job/JobList'),
|
2023-10-20 18:48:53 +08:00
|
|
|
meta: { title: '任务信息', icon: 'profile', permission: ['job'] }
|
2023-10-11 23:25:45 +08:00
|
|
|
},
|
|
|
|
{
|
2023-10-12 23:09:22 +08:00
|
|
|
path: '/job/info',
|
|
|
|
name: 'JobInfo',
|
|
|
|
hidden: true,
|
|
|
|
component: () => import('@/views/job/JobInfo'),
|
2023-10-20 18:48:53 +08:00
|
|
|
meta: { title: '定时任务详情', icon: 'profile', permission: ['job'] }
|
2023-10-12 23:09:22 +08:00
|
|
|
},
|
2023-10-15 23:18:21 +08:00
|
|
|
{
|
|
|
|
path: '/job/config',
|
|
|
|
name: 'JobFrom',
|
|
|
|
hidden: true,
|
|
|
|
component: () => import('@/views/job/from/JobFrom'),
|
2023-10-20 18:48:53 +08:00
|
|
|
meta: { title: '任务配置', icon: 'profile', permission: ['job'] }
|
2023-10-15 23:18:21 +08:00
|
|
|
},
|
2023-10-12 23:09:22 +08:00
|
|
|
{
|
|
|
|
path: '/job/batch/list',
|
2023-10-14 17:08:17 +08:00
|
|
|
name: 'JobBatchList',
|
|
|
|
component: () => import('@/views/job/JobBatchList'),
|
2023-10-11 23:25:45 +08:00
|
|
|
meta: { title: '任务批次', icon: 'profile', permission: ['retryLog'] }
|
2023-10-12 23:09:22 +08:00
|
|
|
},
|
2023-10-14 17:08:17 +08:00
|
|
|
{
|
|
|
|
path: '/job/batch/info',
|
|
|
|
name: 'JobBatchInfo',
|
|
|
|
hidden: true,
|
|
|
|
component: () => import('@/views/job/JobBatchInfo'),
|
|
|
|
meta: { title: '任务批次详情', icon: 'profile', permission: ['retryLog'] }
|
|
|
|
},
|
2023-10-12 23:09:22 +08:00
|
|
|
{
|
|
|
|
path: '/job/task/list',
|
2023-10-14 17:08:17 +08:00
|
|
|
name: 'JobTaskList',
|
|
|
|
hidden: true,
|
|
|
|
component: () => import('@/views/job/JobTaskList'),
|
2023-10-12 23:09:22 +08:00
|
|
|
meta: { title: '任务项', icon: 'profile', permission: ['retryLog'] }
|
2023-10-14 17:08:17 +08:00
|
|
|
},
|
|
|
|
{
|
|
|
|
path: '/job/log/list',
|
|
|
|
name: 'JobLogMessageList',
|
|
|
|
hidden: true,
|
|
|
|
component: () => import('@/views/job/JobLogMessageList'),
|
|
|
|
meta: { title: '任务调度日志', icon: 'profile', permission: ['retryLog'] }
|
2023-10-11 23:25:45 +08:00
|
|
|
}
|
|
|
|
]
|
2023-10-12 23:09:22 +08:00
|
|
|
},
|
|
|
|
{
|
|
|
|
path: '/user-list',
|
|
|
|
name: 'UserList',
|
|
|
|
component: () => import('@/views/user/UserList'),
|
|
|
|
meta: { title: '用户管理', icon: 'user', permission: ['user'] }
|
|
|
|
},
|
|
|
|
{
|
|
|
|
path: '/user-form',
|
|
|
|
name: 'UserForm',
|
|
|
|
hidden: true,
|
|
|
|
component: () => import('@/views/user/UserForm'),
|
|
|
|
meta: { title: '新增或更新用户', icon: 'profile', permission: ['userForm'] }
|
2023-01-14 21:02:18 +08:00
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
path: '*',
|
|
|
|
redirect: '/404',
|
|
|
|
hidden: true
|
|
|
|
}
|
|
|
|
]
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 基础路由
|
|
|
|
* @type { *[] }
|
|
|
|
*/
|
|
|
|
export const constantRouterMap = [
|
|
|
|
{
|
|
|
|
path: '/user',
|
|
|
|
component: UserLayout,
|
|
|
|
redirect: '/user/login',
|
|
|
|
hidden: true,
|
|
|
|
children: [
|
|
|
|
{
|
|
|
|
path: 'login',
|
|
|
|
name: 'login',
|
|
|
|
component: () => import(/* webpackChunkName: "user" */ '@/views/user/Login')
|
|
|
|
},
|
|
|
|
{
|
|
|
|
path: 'recover',
|
|
|
|
name: 'recover',
|
|
|
|
component: undefined
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
path: '/404',
|
|
|
|
component: () => import(/* webpackChunkName: "fail" */ '@/views/exception/404')
|
|
|
|
}
|
|
|
|
]
|