import { DEFAULT_LAYOUT } from './routes/base' import type { AppRouteRecordRaw } from './routes/types' // 本地菜单数据 - 接口未准备好时使用 export const localMenuData: AppRouteRecordRaw[] = [{ path: '/dashboard', name: 'dashboard', component: DEFAULT_LAYOUT, meta: { locale: '仪表盘', requiresAuth: true, icon: 'icon-dashboard', order: 0, }, children: [ { path: 'workplace', name: 'Workplace', component: () => import('@/views/dashboard/workplace/index.vue'), meta: { locale: 'menu.dashboard.workplace', requiresAuth: true, roles: ['*'], }, }, /** simple */ { path: 'monitor', name: 'Monitor', component: () => import('@/views/dashboard/monitor/index.vue'), meta: { locale: 'menu.dashboard.monitor', requiresAuth: true, roles: ['admin'], }, }, /** simple end */ ], }, { path: '/overview', name: 'Overview', component: DEFAULT_LAYOUT, meta: { locale: '系统概况', requiresAuth: true, icon: 'icon-home', order: 1, hideChildrenInMenu: true, }, children: [ { path: '', name: 'OverviewIndex', component: () => import('@/views/redirect/index.vue'), meta: { locale: '系统概况', requiresAuth: true, roles: ['*'], }, }, ], }, { path: '/visual', name: 'VisualDashboard', component: DEFAULT_LAYOUT, meta: { locale: '可视化大屏管理', requiresAuth: true, icon: 'icon-apps', order: 2, }, children: [ { path: 'component', name: 'VisualComponent', component: () => import('@/views/redirect/index.vue'), meta: { locale: '大屏管理', requiresAuth: true, roles: ['*'], }, }, { path: 'view-publish', name: 'ViewPublish', component: () => import('@/views/redirect/index.vue'), meta: { locale: '已发布大屏列表', requiresAuth: true, roles: ['*'], }, }, ], }, { path: '/dc', name: 'DataCenter', component: DEFAULT_LAYOUT, meta: { locale: '服务器及PC管理', requiresAuth: true, icon: 'icon-storage', order: 3, }, children: [ { path: 'pc', name: 'OfficePC', component: () => import('@/views/redirect/index.vue'), meta: { locale: '办公PC管理', requiresAuth: true, roles: ['*'], }, }, { path: 'server', name: 'ServerManagement', component: () => import('@/views/redirect/index.vue'), meta: { locale: '服务器管理', requiresAuth: true, roles: ['*'], }, }, ], }, { path: '/dc/cluster', name: 'ClusterCollection', component: DEFAULT_LAYOUT, meta: { locale: '集群采集控制中心', requiresAuth: true, icon: 'icon-settings', order: 4, }, children: [ { path: 'database', name: 'DatabaseCollection', component: () => import('@/views/redirect/index.vue'), meta: { locale: '数据库采集管理', requiresAuth: true, roles: ['*'], }, }, { path: 'middleware', name: 'MiddlewareCollection', component: () => import('@/views/redirect/index.vue'), meta: { locale: '中间件采集管理', requiresAuth: true, roles: ['*'], }, }, { path: 'network', name: 'NetworkDeviceCollection', component: () => import('@/views/redirect/index.vue'), meta: { locale: '网络设备采集管理', requiresAuth: true, roles: ['*'], }, }, ], }, { path: '/monitor', name: 'Monitor', component: DEFAULT_LAYOUT, meta: { locale: '综合监控', requiresAuth: true, icon: 'icon-desktop', order: 5, }, children: [ { path: 'log', name: 'LogMonitor', component: () => import('@/views/redirect/index.vue'), meta: { locale: '日志监控', requiresAuth: true, roles: ['*'], }, }, { path: 'virtualization', name: 'VirtualizationMonitor', component: () => import('@/views/redirect/index.vue'), meta: { locale: '虚拟化监控', requiresAuth: true, roles: ['*'], }, }, { path: 'storage', name: 'StorageMonitor', component: () => import('@/views/redirect/index.vue'), meta: { locale: '存储设备监控', requiresAuth: true, roles: ['*'], }, }, { path: 'network', name: 'NetworkMonitor', component: () => import('@/views/redirect/index.vue'), meta: { locale: '网络设备监控', requiresAuth: true, roles: ['*'], }, }, { path: 'power', name: 'PowerMonitor', component: () => import('@/views/redirect/index.vue'), meta: { locale: '电力/UPS/空调/温湿度', requiresAuth: true, roles: ['*'], }, }, { path: 'url', name: 'URLMonitor', component: () => import('@/views/redirect/index.vue'), meta: { locale: 'URL监控', requiresAuth: true, roles: ['*'], }, }, { path: 'guard', name: 'GuardMonitor', component: () => import('@/views/redirect/index.vue'), meta: { locale: '消防/门禁/漏水/有害气体', requiresAuth: true, roles: ['*'], }, }, { path: 'security', name: 'SecurityMonitor', component: () => import('@/views/redirect/index.vue'), meta: { locale: '安全设备监控', requiresAuth: true, roles: ['*'], }, }, ], }, { path: '/netarch', name: 'NetworkArchitecture', component: DEFAULT_LAYOUT, meta: { locale: '网络架构管理', requiresAuth: true, icon: 'icon-nav', order: 6, }, children: [ { path: 'auto-topo', name: 'AutoTopo', component: () => import('@/views/redirect/index.vue'), meta: { locale: '自动感知拓扑图', requiresAuth: true, roles: ['*'], }, }, { path: 'topo-group', name: 'TopoGroup', component: () => import('@/views/redirect/index.vue'), meta: { locale: '拓扑管理', requiresAuth: true, roles: ['*'], }, }, { path: 'traffic', name: 'TrafficAnalysis', component: () => import('@/views/redirect/index.vue'), meta: { locale: '流量分析管理', requiresAuth: true, roles: ['*'], }, }, { path: 'ip', name: 'IPAddress', component: () => import('@/views/redirect/index.vue'), meta: { locale: 'IP地址管理', requiresAuth: true, roles: ['*'], }, }, ], }, { path: '/alert', name: 'Alert', component: DEFAULT_LAYOUT, meta: { locale: '告警管理', requiresAuth: true, icon: 'icon-bulb', order: 7, }, children: [ { path: 'setting', name: 'AlertSetting', component: () => import('@/views/redirect/index.vue'), meta: { locale: '告警策略管理', requiresAuth: true, roles: ['*'], }, }, { path: 'tackle', name: 'AlertTackle', component: () => import('@/views/redirect/index.vue'), meta: { locale: '告警受理处理', requiresAuth: true, roles: ['*'], }, }, { path: 'history', name: 'AlertHistory', component: () => import('@/views/redirect/index.vue'), meta: { locale: '告警历史', requiresAuth: true, roles: ['*'], }, }, { path: 'template', name: 'AlertTemplate', component: () => import('@/views/redirect/index.vue'), meta: { locale: '告警模版', requiresAuth: true, roles: ['*'], }, }, { path: 'notice', name: 'AlertNotice', component: () => import('@/views/redirect/index.vue'), meta: { locale: '告警通知设置', requiresAuth: true, roles: ['*'], }, }, { path: 'level', name: 'AlertLevel', component: () => import('@/views/redirect/index.vue'), meta: { locale: '告警级别管理', requiresAuth: true, roles: ['*'], }, }, ], }, { path: '/feedback', name: 'Feedback', component: DEFAULT_LAYOUT, meta: { locale: '工单管理', requiresAuth: true, icon: 'icon-list', order: 8, }, children: [ { path: 'all', name: 'AllTickets', component: () => import('@/views/redirect/index.vue'), meta: { locale: '所有工单', requiresAuth: true, roles: ['*'], }, }, { path: 'undo', name: 'PendingTickets', component: () => import('@/views/redirect/index.vue'), meta: { locale: '我的工单', requiresAuth: true, roles: ['*'], }, }, ], }, { path: '/datacenter', name: 'DataCenterManagement', component: DEFAULT_LAYOUT, meta: { locale: '数据中心管理', requiresAuth: true, icon: 'icon-drive-file', order: 9, }, children: [ { path: 'rack', name: 'RackManagement', component: () => import('@/views/redirect/index.vue'), meta: { locale: '机柜管理', requiresAuth: true, roles: ['*'], }, }, { path: 'house', name: 'DataCenterHouse', component: () => import('@/views/redirect/index.vue'), meta: { locale: '数据中心', requiresAuth: true, roles: ['*'], }, }, { path: 'floor', name: 'FloorManagement', component: () => import('@/views/redirect/index.vue'), meta: { locale: '楼层管理', requiresAuth: true, roles: ['*'], }, }, ], }, { path: '/assets', name: 'Assets', component: DEFAULT_LAYOUT, meta: { locale: '资产管理', requiresAuth: true, icon: 'icon-apps', order: 10, }, children: [ { path: 'classify', name: 'AssetClassify', component: () => import('@/views/redirect/index.vue'), meta: { locale: '设备分类管理', requiresAuth: true, roles: ['*'], }, }, { path: 'device', name: 'AssetDevice', component: () => import('@/views/redirect/index.vue'), meta: { locale: '设备管理', requiresAuth: true, roles: ['*'], }, }, { path: 'supplier', name: 'AssetSupplier', component: () => import('@/views/redirect/index.vue'), meta: { locale: '供应商管理', requiresAuth: true, roles: ['*'], }, }, ], }, { path: '/kb', name: 'KnowledgeBase', component: DEFAULT_LAYOUT, meta: { locale: '知识库管理', requiresAuth: true, icon: 'icon-file', order: 11, }, children: [ { path: 'items', name: 'KnowledgeItems', component: () => import('@/views/redirect/index.vue'), meta: { locale: '知识管理', requiresAuth: true, roles: ['*'], }, }, { path: 'tags', name: 'KnowledgeTags', component: () => import('@/views/redirect/index.vue'), meta: { locale: '标签管理', requiresAuth: true, roles: ['*'], }, }, { path: 'review', name: 'KnowledgeReview', component: () => import('@/views/redirect/index.vue'), meta: { locale: '我的审核', requiresAuth: true, roles: ['*'], }, }, { path: 'favorite', name: 'KnowledgeFavorite', component: () => import('@/views/redirect/index.vue'), meta: { locale: '我的收藏', requiresAuth: true, roles: ['*'], }, }, { path: 'recycle', name: 'KnowledgeRecycle', component: () => import('@/views/redirect/index.vue'), meta: { locale: '回收站', requiresAuth: true, roles: ['*'], }, }, ], }, { path: '/report', name: 'Report', component: DEFAULT_LAYOUT, meta: { locale: '报告管理', requiresAuth: true, icon: 'icon-nav', order: 12, }, children: [ { path: 'host', name: 'ServerReport', component: () => import('@/views/redirect/index.vue'), meta: { locale: '服务器报告', requiresAuth: true, roles: ['*'], }, }, { path: 'fault', name: 'FaultReport', component: () => import('@/views/redirect/index.vue'), meta: { locale: '故障报告', requiresAuth: true, roles: ['*'], }, }, { path: 'device', name: 'DeviceReport', component: () => import('@/views/redirect/index.vue'), meta: { locale: '网络设备报告', requiresAuth: true, roles: ['*'], }, }, { path: 'traffic', name: 'TrafficReport', component: () => import('@/views/redirect/index.vue'), meta: { locale: '流量统计报告', requiresAuth: true, roles: ['*'], }, }, { path: 'history', name: 'HistoryReport', component: () => import('@/views/redirect/index.vue'), meta: { locale: '历史报告', requiresAuth: true, roles: ['*'], }, }, { path: 'statistics', name: 'StatisticsReport', component: () => import('@/views/redirect/index.vue'), meta: { locale: '统计报告', requiresAuth: true, roles: ['*'], }, }, ], }, { path: '/system-settings', name: 'SystemSettings', component: DEFAULT_LAYOUT, meta: { locale: '系统设置', requiresAuth: true, icon: 'icon-settings', order: 13, }, children: [ { path: 'system-monitoring', name: 'SystemMonitoring', component: () => import('@/views/redirect/index.vue'), meta: { locale: '系统监控', requiresAuth: true, roles: ['*'], }, }, { path: 'system-logs', name: 'SystemLogs', component: () => import('@/views/redirect/index.vue'), meta: { locale: '系统日志', requiresAuth: true, roles: ['*'], }, }, { path: 'account-management', name: 'AccountManagement', component: () => import('@/views/redirect/index.vue'), meta: { locale: '用户管理', requiresAuth: true, roles: ['*'], }, }, { path: 'menu-management', name: 'MenuManagement', component: () => import('@/views/redirect/index.vue'), meta: { locale: '菜单设置', requiresAuth: true, roles: ['*'], }, }, { path: 'license-center', name: 'LicenseCenter', component: () => import('@/views/redirect/index.vue'), meta: { locale: '许可授权中心', requiresAuth: true, roles: ['*'], }, }, ], }, { path: '/help', name: 'HelpCenter', component: DEFAULT_LAYOUT, meta: { locale: '帮助中心', requiresAuth: true, icon: 'icon-bulb', order: 14, hideChildrenInMenu: true, }, children: [ { path: '', name: 'HelpCenterIndex', component: () => import('@/views/redirect/index.vue'), meta: { locale: '帮助中心', requiresAuth: true, roles: ['*'], }, }, ], }, ] export default localMenuData