This commit is contained in:
ygx
2026-03-07 20:11:25 +08:00
parent 8fab91c5c7
commit f7bbb5ee46
74 changed files with 6540 additions and 2636 deletions

View File

@@ -0,0 +1,932 @@
import type { MenuItem } from '@/api/module/pmn'
// 本地菜单数据(扁平格式)- 接口未准备好时使用
// 这是从 fetchMenu 接口返回的原始扁平数据格式
export const localMenuFlatItems: MenuItem[] = [
{
id: 8,
identity: '019b591d-0064-7dcc-9c78-59b5f4aa31a7',
title: '系统概况',
title_en: 'Home',
code: 'ops:系统概况',
description: '首页菜单',
app_id: 2,
menu_path: '/overview',
menu_icon: 'Home',
type: 1,
sort_key: 1,
created_at: '2025-12-26T13:23:51.54067+08:00',
},
{
id: 13,
identity: '019b591d-00c3-7955-aa1b-80b5a0c8d6bd',
title: '可视化大屏管理',
title_en: 'Visual Dashboard Management',
code: 'ops:可视化大屏管理',
description: '可视化大屏管理菜单',
app_id: 2,
menu_path: '/visual/',
menu_icon: 'Virus',
type: 1,
sort_key: 2,
created_at: '2025-12-26T13:23:51.62748+08:00',
},
{
id: 14,
identity: '019b591d-00dc-7486-aa93-51e798d3253a',
title: '大屏管理',
title_en: 'My Components',
code: 'ops:可视化大屏管理:我的组件',
description: '可视化大屏管理 - 我的组件',
app_id: 2,
parent_id: 13,
menu_path: '/visual/component',
menu_icon: 'appstore',
type: 1,
sort_key: 3,
is_web_page: true,
web_url: 'https://ops.apinb.com/view/#/project/items',
created_at: '2025-12-26T13:23:51.644296+08:00',
},
{
id: 85,
identity: '019bf309-a961-7bba-a03d-83eb78a82437',
title: '已发布大屏列表',
title_en: 'View Publish',
code: '已发布大屏列表',
app_id: 2,
parent_id: 13,
menu_path: '/visual/view-publish',
type: 1,
sort_key: 4,
is_web_page: true,
web_url: 'https://ops.apinb.com/view/#/project/management',
created_at: '2026-01-25T10:44:15.33024+08:00',
},
{
id: 16,
identity: '019b591d-00f4-73a0-bbdb-aa7da79ed390',
title: '服务器及PC管理',
title_en: '服务器及pc管理',
code: 'ops:服务器及pc管理',
description: '服务器及PC管理菜单',
app_id: 2,
menu_path: '/dc/',
menu_icon: 'Building',
type: 1,
sort_key: 5,
created_at: '2025-12-26T13:23:51.675908+08:00',
},
{
id: 18,
identity: '019b591d-011a-7dca-b85c-4802ad0e5d05',
title: '办公PC管理',
title_en: '办公pc管理',
code: 'ops:服务器及pc管理:办公pc管理',
description: '服务器及PC管理 - 办公PC管理',
app_id: 2,
parent_id: 16,
menu_path: '/dc/pc',
menu_icon: 'appstore',
type: 1,
sort_key: 6,
created_at: '2025-12-26T13:23:51.706903+08:00',
},
{
id: 17,
identity: '019b591d-010b-790f-adbc-401ee42c20ae',
title: '服务器管理',
title_en: '服务器管理',
code: 'ops:服务器及pc管理:服务器管理',
description: '服务器及PC管理 - 服务器管理',
app_id: 2,
parent_id: 16,
menu_path: '/dc/server',
menu_icon: 'appstore',
type: 1,
sort_key: 7,
created_at: '2025-12-26T13:23:51.691593+08:00',
},
{
id: 19,
identity: '019b591d-0122-7959-a3c3-f5226d0bf278',
title: '集群采集控制中心',
title_en: 'Cluster Collection Control Center',
code: 'ops:集群采集控制中心',
description: '集群采集控制中心菜单',
app_id: 2,
menu_path: '/dc/',
menu_icon: 'Adjustments',
type: 1,
sort_key: 8,
created_at: '2025-12-26T13:23:51.715137+08:00',
},
{
id: 20,
identity: '019b591d-013a-7c89-be2d-5f03e5d7c5da',
title: '数据库采集管理',
title_en: 'Database Collection Management',
code: 'ops:集群采集控制中心:数据库采集管理',
description: '集群采集控制中心 - 数据库采集管理',
app_id: 2,
parent_id: 19,
menu_path: '/dc/database',
menu_icon: 'appstore',
type: 1,
sort_key: 9,
created_at: '2025-12-26T13:23:51.738821+08:00',
},
{
id: 21,
identity: '019b591d-014a-710a-8b3f-30713e516d70',
title: '中间件采集管理',
title_en: 'Middleware Collection Management',
code: 'ops:集群采集控制中心:中间件采集管理',
description: '集群采集控制中心 - 中间件采集管理',
app_id: 2,
parent_id: 19,
menu_path: '/dc/middleware',
menu_icon: 'appstore',
type: 1,
sort_key: 10,
created_at: '2025-12-26T13:23:51.754068+08:00',
},
{
id: 22,
identity: '019b591d-0159-7e46-a5e0-fb69c6b62a25',
title: '网络设备采集管理',
title_en: 'Network Device Collection Management',
code: 'ops:集群采集控制中心:网络设备采集管理',
description: '集群采集控制中心 - 网络设备采集管理',
app_id: 2,
parent_id: 19,
menu_path: '/dc/network',
menu_icon: 'appstore',
type: 1,
sort_key: 11,
created_at: '2025-12-26T13:23:51.769935+08:00',
},
{
id: 23,
identity: '019b591d-0160-736e-a42d-180fef3fb3be',
title: '综合监控',
title_en: 'Comprehensive Monitoring',
code: 'ops:综合监控',
description: '综合监控菜单',
app_id: 2,
menu_path: '/monitor/',
menu_icon: 'Desktop',
type: 1,
sort_key: 12,
created_at: '2025-12-26T13:23:51.77834+08:00',
},
{
id: 31,
identity: '019b591d-01e3-7adc-b10f-26550a6e3700',
title: '日志监控',
title_en: 'Log Monitoring',
code: 'ops:综合监控:日志监控',
description: '综合监控 - 日志监控',
app_id: 2,
parent_id: 23,
menu_path: '/monitor/log',
menu_icon: 'appstore',
type: 1,
sort_key: 13,
created_at: '2025-12-26T13:23:51.907711+08:00',
},
{
id: 30,
identity: '019b591d-01d4-78b0-89ea-a6ba12914379',
title: '虚拟化监控',
title_en: 'Virtualization Monitoring',
code: 'ops:综合监控:虚拟化监控',
description: '综合监控 - 虚拟化监控',
app_id: 2,
parent_id: 23,
menu_path: '/monitor/virtualization',
menu_icon: 'appstore',
type: 1,
sort_key: 14,
created_at: '2025-12-26T13:23:51.892569+08:00',
},
{
id: 27,
identity: '019b591d-01a5-776f-ac4b-3cd896dd3f48',
title: '存储设备监控',
title_en: 'Storage Device Monitoring',
code: 'ops:综合监控:存储设备监控',
description: '综合监控 - 存储设备监控',
app_id: 2,
parent_id: 23,
menu_path: '/monitor/storage',
menu_icon: 'appstore',
type: 1,
sort_key: 15,
created_at: '2025-12-26T13:23:51.845487+08:00',
},
{
id: 25,
identity: '019b591d-0187-7a06-888f-0e924c11544c',
title: '网络设备监控',
title_en: 'Network Device Monitoring',
code: 'ops:综合监控:网络设备监控',
description: '综合监控 - 网络设备监控',
app_id: 2,
parent_id: 23,
menu_path: '/monitor/network',
menu_icon: 'appstore',
type: 1,
sort_key: 16,
created_at: '2025-12-26T13:23:51.815656+08:00',
},
{
id: 33,
identity: '019b591d-0202-7c99-b768-68f674b1daaa',
title: '电力/UPS/空调/温湿度',
title_en: 'Power/UPS/AC/Temperature',
code: 'ops:综合监控:电力_ups_空调_温湿度',
description: '综合监控 - 电力/UPS/空调/温湿度',
app_id: 2,
parent_id: 23,
menu_path: '/monitor/power',
menu_icon: 'appstore',
type: 1,
sort_key: 17,
created_at: '2025-12-26T13:23:51.938825+08:00',
},
{
id: 32,
identity: '019b591d-01f3-7698-9aad-9f9dbb3be203',
title: 'URL监控',
title_en: 'URL Monitoring',
code: 'ops:综合监控:url监控',
description: '综合监控 - URL监控',
app_id: 2,
parent_id: 23,
menu_path: '/monitor/url',
menu_icon: 'appstore',
type: 1,
sort_key: 18,
created_at: '2025-12-26T13:23:51.923432+08:00',
},
{
id: 34,
identity: '019b591d-0210-7e32-ad40-ebbf2f48282f',
title: '消防/门禁/漏水/有害气体',
title_en: 'Fire/Access/Leakage/Gas',
code: 'ops:综合监控:消防_门禁_漏水_有害气体',
description: '综合监控 - 消防/门禁/漏水/有害气体',
app_id: 2,
parent_id: 23,
menu_path: '/monitor/guard',
menu_icon: 'appstore',
type: 1,
sort_key: 19,
created_at: '2025-12-26T13:23:51.95293+08:00',
},
{
id: 26,
identity: '019b591d-0194-7bde-8437-1cd85a507548',
title: '安全设备监控',
title_en: 'Security Device Monitoring',
code: 'ops:综合监控:安全设备监控',
description: '综合监控 - 安全设备监控',
app_id: 2,
parent_id: 23,
menu_path: '/monitor/security',
menu_icon: 'appstore',
type: 1,
sort_key: 20,
created_at: '2025-12-26T13:23:51.828777+08:00',
},
{
id: 35,
identity: '019b591d-021a-74a3-8092-c15b990f3c7e',
title: '网络架构管理',
title_en: 'Network Architecture Management',
code: 'ops:网络架构管理',
description: '网络架构管理菜单',
app_id: 2,
menu_path: '/netarch/',
menu_icon: 'Laptop',
type: 1,
sort_key: 21,
created_at: '2025-12-26T13:23:51.969818+08:00',
},
{
id: 83,
identity: '019b8e92-3714-7376-936c-570b015b653b',
title: '自动感知拓扑图',
title_en: 'Auto Topo',
code: 'AutoTopo',
app_id: 2,
parent_id: 35,
menu_path: '/netarch/auto-topo',
type: 1,
sort_key: 22,
created_at: '2026-01-05T22:31:45.684645+08:00',
},
{
id: 36,
identity: '019b591d-0231-7667-a9fc-cfeb05da5aab',
title: '拓扑管理',
title_en: 'Topology Management',
code: 'ops:网络架构管理:拓扑管理',
description: '网络架构管理 - 拓扑管理',
app_id: 2,
parent_id: 35,
menu_path: '/netarch/topo-group',
menu_icon: 'appstore',
type: 1,
sort_key: 23,
created_at: '2025-12-26T13:23:51.985419+08:00',
},
{
id: 37,
identity: '019b591d-0240-7d6d-90b8-a0a6303665dc',
title: '流量分析管理',
title_en: 'Traffic Analysis Management',
code: 'ops:网络架构管理:流量分析管理',
description: '网络架构管理 - 流量分析管理',
app_id: 2,
parent_id: 35,
menu_path: '/netarch/traffic',
menu_icon: 'appstore',
type: 1,
sort_key: 24,
created_at: '2025-12-26T13:23:52.000879+08:00',
},
{
id: 38,
identity: '019b591d-024c-7564-942d-cf33e0ed6204',
title: 'IP地址管理',
title_en: 'IP Address Management',
code: 'ops:网络架构管理:ip地址管理',
description: '网络架构管理 - IP地址管理',
app_id: 2,
parent_id: 35,
menu_path: '/netarch/ip',
menu_icon: 'appstore',
type: 1,
sort_key: 25,
created_at: '2025-12-26T13:23:52.012353+08:00',
},
{
id: 39,
identity: '019b591d-0258-7316-9b58-d664678bb3af',
title: '告警管理',
title_en: 'Alert Management',
code: 'ops:告警管理',
description: '告警管理菜单',
app_id: 2,
menu_path: '/alert/',
menu_icon: 'ShieldLock',
type: 1,
sort_key: 26,
created_at: '2025-12-26T13:23:52.032311+08:00',
},
{
id: 45,
identity: '019b591d-02be-713f-91fe-5f5d668380c8',
title: '告警策略管理',
title_en: 'Alert Policy Management',
code: 'ops:告警管理:告警策略管理',
description: '告警管理 - 告警策略管理',
app_id: 2,
parent_id: 39,
menu_path: '/alert/setting',
menu_icon: 'appstore',
type: 1,
sort_key: 27,
created_at: '2025-12-26T13:23:52.126081+08:00',
},
{
id: 43,
identity: '019b591d-029e-7c52-ac1d-d94263e00f8e',
title: '告警受理处理',
title_en: 'Alert Handling',
code: 'ops:告警管理:告警受理处理',
description: '告警管理 - 告警受理处理',
app_id: 2,
parent_id: 39,
menu_path: '/alert/tackle',
menu_icon: 'appstore',
type: 1,
sort_key: 28,
created_at: '2025-12-26T13:23:52.094807+08:00',
},
{
id: 44,
identity: '019b591d-02ae-7587-9e11-7c3d395ea256',
title: '告警历史',
title_en: 'Alert History',
code: 'ops:告警管理:告警历史',
description: '告警管理 - 告警历史',
app_id: 2,
parent_id: 39,
menu_path: '/alert/history',
menu_icon: 'appstore',
type: 1,
sort_key: 29,
created_at: '2025-12-26T13:23:52.110362+08:00',
},
{
id: 40,
identity: '019b591d-026f-785d-b473-ac804133e251',
title: '告警模版',
title_en: 'Alert Template',
code: 'ops:告警管理:告警模版',
description: '告警管理 - 告警模版',
app_id: 2,
parent_id: 39,
menu_path: '/alert/template',
menu_icon: 'appstore',
type: 1,
sort_key: 30,
created_at: '2025-12-26T13:23:52.047548+08:00',
},
{
id: 41,
identity: '019b591d-027d-7eae-b9b9-23fd1b7ece75',
title: '告警通知设置',
title_en: 'Alert Notification Settings',
code: 'ops:告警管理:告警通知设置',
description: '告警管理 - 告警通知设置',
app_id: 2,
parent_id: 39,
menu_path: '/alert/notice',
menu_icon: 'appstore',
type: 1,
sort_key: 31,
created_at: '2025-12-26T13:23:52.061962+08:00',
},
{
id: 42,
identity: '019b591d-028e-7bb4-acf3-8bcb0c5b4b75',
title: '告警级别管理',
title_en: 'Alert Level Management',
code: 'ops:告警管理:告警级别管理',
description: '告警管理 - 告警级别管理',
app_id: 2,
parent_id: 39,
menu_path: '/alert/level',
menu_icon: 'appstore',
type: 1,
sort_key: 32,
created_at: '2025-12-26T13:23:52.078767+08:00',
},
{
id: 46,
identity: '019b591d-02c5-7ba6-ac39-847b5bbdc9c6',
title: '工单管理',
title_en: 'Ticket Management',
code: 'ops:工单管理',
description: '工单管理菜单',
app_id: 2,
menu_path: '/feedback/',
menu_icon: 'Layout',
type: 1,
sort_key: 33,
created_at: '2025-12-26T13:23:52.142086+08:00',
},
{
id: 48,
identity: '019b591d-02ec-7e47-adab-c1968a136eae',
title: '所有工单',
title_en: 'All Tickets',
code: 'ops:工单管理:所有工单',
description: '工单管理 - 所有工单',
app_id: 2,
parent_id: 46,
menu_path: '/feedback/all',
menu_icon: 'appstore',
type: 1,
sort_key: 34,
created_at: '2025-12-26T13:23:52.172935+08:00',
},
{
id: 47,
identity: '019b591d-02dd-75c9-b365-097ef1d5bca3',
title: '我的工单',
title_en: 'Pending Tickets',
code: 'ops:工单管理:待处理工单',
description: '工单管理 - 待处理工单',
app_id: 2,
parent_id: 46,
menu_path: '/feedback/undo',
menu_icon: 'appstore',
type: 1,
sort_key: 35,
created_at: '2025-12-26T13:23:52.157379+08:00',
},
{
id: 49,
identity: '019b591d-02f4-7781-8ef4-3993952290d3',
title: '数据中心管理',
title_en: 'Data Center Management',
code: 'ops:数据中心管理',
description: '数据中心管理菜单',
app_id: 2,
menu_path: '/datacenter/',
menu_icon: 'Storage',
type: 1,
sort_key: 36,
created_at: '2025-12-26T13:23:52.189288+08:00',
},
{
id: 52,
identity: '019b591d-0324-7b16-be4a-d0256a4a66a9',
title: '机柜管理',
title_en: 'Rack Management',
code: 'ops:数据中心管理:机柜管理',
description: '数据中心管理 - 机柜管理',
app_id: 2,
parent_id: 49,
menu_path: '/datacenter/rack',
menu_icon: 'appstore',
type: 1,
sort_key: 37,
created_at: '2025-12-26T13:23:52.228726+08:00',
},
{
id: 50,
identity: '019b591d-0305-75ac-89be-d0c5dd863383',
title: '数据中心',
title_en: 'Data Center',
code: 'ops:数据中心管理:数据中心',
description: '数据中心管理 - 数据中心',
app_id: 2,
parent_id: 49,
menu_path: '/datacenter/house',
menu_icon: 'appstore',
type: 1,
sort_key: 38,
created_at: '2025-12-26T13:23:52.197371+08:00',
},
{
id: 51,
identity: '019b591d-031c-726e-a7ac-0dff6f236d6c',
title: '楼层管理',
title_en: 'Floor Management',
code: 'ops:数据中心管理:楼层管理',
description: '数据中心管理 - 楼层管理',
app_id: 2,
parent_id: 49,
menu_path: '/datacenter/floor',
menu_icon: 'appstore',
type: 1,
sort_key: 39,
created_at: '2025-12-26T13:23:52.220159+08:00',
},
{
id: 54,
identity: '019b591d-0343-7ce7-91bd-d82497ea0a11',
title: '资产管理',
title_en: 'Asset Management',
code: 'ops:资产管理',
description: '资产管理菜单',
app_id: 2,
menu_path: '/assets/',
menu_icon: 'Social',
type: 1,
sort_key: 40,
created_at: '2025-12-26T13:23:52.268069+08:00',
},
{
id: 56,
identity: '019b591d-036b-7cb0-8678-4e1a7c73442f',
title: '设备分类管理',
title_en: 'Device Category Management',
code: 'ops:资产管理:设备分类管理',
description: '资产管理 - 设备分类管理',
app_id: 2,
parent_id: 54,
menu_path: '/assets/classify',
menu_icon: 'appstore',
type: 1,
sort_key: 41,
created_at: '2025-12-26T13:23:52.299831+08:00',
},
{
id: 57,
identity: '019b591d-037b-7248-8227-2ae17b0210fb',
title: '设备管理',
title_en: 'Device Management',
code: 'ops:资产管理:设备管理',
description: '资产管理 - 设备管理',
app_id: 2,
parent_id: 54,
menu_path: '/assets/device',
menu_icon: 'appstore',
type: 1,
sort_key: 42,
created_at: '2025-12-26T13:23:52.315149+08:00',
},
{
id: 55,
identity: '019b591d-035b-766f-9acf-a8e8dbcc5882',
title: '供应商管理',
title_en: 'Supplier Management',
code: 'ops:资产管理:供应商管理',
description: '资产管理 - 供应商管理',
app_id: 2,
parent_id: 54,
menu_path: '/assets/supplier',
menu_icon: 'appstore',
type: 1,
sort_key: 43,
created_at: '2025-12-26T13:23:52.283421+08:00',
},
{
id: 63,
identity: '019b591d-03d1-74e6-9547-a4321b0c0328',
title: '知识库管理',
title_en: 'Knowledge Base Management',
code: 'ops:知识库管理',
description: '知识库管理菜单',
app_id: 2,
menu_path: '/kb/',
menu_icon: 'FilePdf',
type: 1,
sort_key: 44,
created_at: '2025-12-26T13:23:52.40915+08:00',
},
{
id: 65,
identity: '019b591d-03f8-78a9-ba28-c41ff1873569',
title: '知识管理',
title_en: 'Knowledge Base',
code: 'ops:知识库管理:知识库',
description: '知识库管理 - 知识库',
app_id: 2,
parent_id: 63,
menu_path: '/kb/items',
menu_icon: 'appstore',
type: 1,
sort_key: 45,
created_at: '2025-12-26T13:23:52.440567+08:00',
},
{
id: 64,
identity: '019b591d-03e8-7d4b-b8cf-7a5142320c61',
title: '标签管理',
title_en: 'Tag Management',
code: 'ops:知识库管理:标签管理',
description: '知识库管理 - 标签管理',
app_id: 2,
parent_id: 63,
menu_path: '/kb/tags',
menu_icon: 'appstore',
type: 1,
sort_key: 46,
created_at: '2025-12-26T13:23:52.424871+08:00',
},
{
id: 67,
identity: '019b591d-0410-7c89-a545-98ca76421c41',
title: '我的审核',
title_en: 'Review',
code: 'ops:知识库管理:审核',
description: '知识库管理 - 审核',
app_id: 2,
parent_id: 63,
menu_path: '/kb/review',
menu_icon: 'appstore',
type: 1,
sort_key: 47,
created_at: '2025-12-26T13:23:52.464821+08:00',
},
{
id: 68,
identity: '019b591d-0427-7292-b964-ea747ac59748',
title: '我的收藏',
title_en: 'My Favorites',
code: 'ops:知识库管理:我的收藏',
description: '知识库管理 - 我的收藏',
app_id: 2,
parent_id: 63,
menu_path: '/kb/favorite',
menu_icon: 'appstore',
type: 1,
sort_key: 48,
created_at: '2025-12-26T13:23:52.487168+08:00',
},
{
id: 66,
identity: '019b591d-0408-748f-a43e-3fc6aaabe397',
title: '回收站',
title_en: 'Recycle Bin',
code: 'ops:知识库管理:回收站',
description: '知识库管理 - 回收站',
app_id: 2,
parent_id: 63,
menu_path: '/kb/recycle',
menu_icon: 'appstore',
type: 1,
sort_key: 49,
created_at: '2025-12-26T13:23:52.456298+08:00',
},
{
id: 69,
identity: '019b591d-042e-7d67-98c6-432768a6fd97',
title: '报告管理',
title_en: 'Report Management',
code: 'ops:报告管理',
description: '报表管理菜单',
app_id: 2,
menu_path: '/report/',
menu_icon: 'Git',
type: 1,
sort_key: 50,
created_at: '2025-12-26T13:23:52.502439+08:00',
},
{
id: 73,
identity: '019b591d-0475-7b37-929a-2b652b7de8cd',
title: '服务器报告',
title_en: 'Server Report',
code: 'ops:报表管理:服务器报表',
description: '报表管理 - 服务器报表',
app_id: 2,
parent_id: 69,
menu_path: '/report/host',
menu_icon: 'appstore',
type: 1,
sort_key: 51,
created_at: '2025-12-26T13:23:52.565735+08:00',
},
{
id: 72,
identity: '019b591d-0465-769b-8eca-a3ed252243d8',
title: '故障报告',
title_en: 'Fault Report',
code: 'ops:报表管理:故障报告',
description: '报表管理 - 故障报告',
app_id: 2,
parent_id: 69,
menu_path: '/report/fault',
menu_icon: 'appstore',
type: 1,
sort_key: 52,
created_at: '2025-12-26T13:23:52.549432+08:00',
},
{
id: 74,
identity: '019b591d-0484-7ca3-8535-5d87dd16305a',
title: '网络设备报告',
title_en: 'Network Device Report',
code: 'ops:报表管理:网络设备报表',
description: '报表管理 - 网络设备报表',
app_id: 2,
parent_id: 69,
menu_path: '/report/device',
menu_icon: 'appstore',
type: 1,
sort_key: 53,
created_at: '2025-12-26T13:23:52.580828+08:00',
},
{
id: 71,
identity: '019b591d-0455-7a93-9386-7825fa1e2aee',
title: '流量统计报告',
title_en: 'Traffic Statistics',
code: 'ops:报表管理:流量统计',
description: '报表管理 - 流量统计',
app_id: 2,
parent_id: 69,
menu_path: '/report/traffic',
menu_icon: 'appstore',
type: 1,
sort_key: 54,
created_at: '2025-12-26T13:23:52.533693+08:00',
},
{
id: 75,
identity: '019b591d-0495-7891-8893-5f93b073c4ba',
title: '历史报告',
title_en: 'History Report',
code: 'ops:报表管理:历史报表',
description: '报表管理 - 历史报表',
app_id: 2,
parent_id: 69,
menu_path: '/report/history',
menu_icon: 'appstore',
type: 1,
sort_key: 55,
created_at: '2025-12-26T13:23:52.597561+08:00',
},
{
id: 70,
identity: '019b591d-0446-7270-b3a6-b0a0e4623962',
title: '统计报告',
title_en: 'Statistics Report',
code: 'ops:报表管理:统计报告',
description: '报表管理 - 统计报告',
app_id: 2,
parent_id: 69,
menu_path: '/report/statistics',
menu_icon: 'appstore',
type: 1,
sort_key: 56,
created_at: '2025-12-26T13:23:52.518159+08:00',
},
{
id: 78,
identity: '019b5dc5-d82f-7290-b805-f549db554120',
title: '系统设置',
title_en: 'System Settings',
code: 'system-settings',
app_id: 2,
menu_path: '/system-settings/',
menu_icon: 'Settings',
type: 1,
sort_key: 57,
created_at: '2025-12-27T11:06:45.679492+08:00',
},
{
id: 82,
identity: '019b5e13-a5c0-7be8-88ff-7cc000325fbe',
title: '系统监控',
title_en: 'System Monitoring',
code: 'SystemSettingsSystemMonitoring',
description: '系统监控',
app_id: 2,
parent_id: 78,
menu_path: '/system-settings/system-monitoring',
menu_icon: 'icon-file',
type: 1,
sort_key: 58,
created_at: '2025-12-27T12:31:44.577167+08:00',
},
{
id: 81,
identity: '019b5e13-019b-7e4c-9466-3173e25d8c57',
title: '系统日志',
title_en: 'System Logs',
code: 'SystemSettingsSystemLogs',
description: '系统日志',
app_id: 2,
parent_id: 78,
menu_path: '/system-settings/system-logs',
type: 1,
sort_key: 59,
created_at: '2025-12-27T12:31:02.556301+08:00',
},
{
id: 80,
identity: '019b5e12-8192-7d79-9dfc-b193e1ef53a0',
title: '用户管理',
title_en: 'Account Management',
code: 'SystemSettingsAccountManagement',
description: '用户管理',
app_id: 2,
parent_id: 78,
menu_path: '/system-settings/account-management',
type: 1,
sort_key: 60,
created_at: '2025-12-27T12:30:29.779261+08:00',
},
{
id: 79,
identity: '019b5e12-0315-7d3a-b85c-1a0a557d6853',
title: '菜单设置',
title_en: 'Menu Management',
code: 'SystemSettingsMenuManagement',
description: '菜单设置',
app_id: 2,
parent_id: 78,
menu_path: '/system-settings/menu-management',
type: 1,
sort_key: 61,
created_at: '2025-12-27T12:29:57.398258+08:00',
},
{
id: 84,
identity: '019be0c6-2c0c-7c15-b003-9b9b4384f422',
title: '许可授权中心',
title_en: 'LicenseCenter',
code: 'LicenseCenter',
app_id: 2,
parent_id: 78,
menu_path: '/system-settings/license-center',
type: 1,
sort_key: 62,
created_at: '2026-01-21T21:37:22.445144+08:00',
},
{
id: 86,
identity: '019cc7bf-9bd4-78ed-bbcb-c5169236ca72',
title: '帮助中心',
title_en: 'Help Center',
code: 'ops:帮助中心',
app_id: 2,
menu_path: '/help',
menu_icon: 'icon-bulb',
type: 1,
sort_key: 63,
created_at: '2026-03-07T18:02:29.205051+08:00',
},
]
export default localMenuFlatItems

File diff suppressed because it is too large Load Diff

736
src/router/menu-data.ts Normal file
View File

@@ -0,0 +1,736 @@
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

View File

@@ -6,7 +6,7 @@ const DASHBOARD: AppRouteRecordRaw = {
name: 'dashboard',
component: DEFAULT_LAYOUT,
meta: {
locale: 'menu.dashboard',
locale: '仪表盘',
requiresAuth: true,
icon: 'icon-dashboard',
order: 0,

View File

@@ -13,21 +13,11 @@ const LIST: AppRouteRecordRaw = {
},
children: [
{
path: 'search-table', // The midline path complies with SEO specifications
name: 'SearchTable',
component: () => import('@/views/list/search-table/index.vue'),
path: 'search-table-demo',
name: 'SearchTableDemo',
component: () => import('@/views/list/search-table/demo.vue'),
meta: {
locale: 'menu.list.searchTable',
requiresAuth: true,
roles: ['*'],
},
},
{
path: 'card',
name: 'Card',
component: () => import('@/views/list/card/index.vue'),
meta: {
locale: 'menu.list.cardList',
locale: '公共组件Demo',
requiresAuth: true,
roles: ['*'],
},

View File

@@ -0,0 +1,38 @@
import { DEFAULT_LAYOUT } from '../base'
import { AppRouteRecordRaw } from '../types'
const OPS: AppRouteRecordRaw = {
path: '/ops',
name: 'ops',
component: DEFAULT_LAYOUT,
meta: {
locale: 'menu.ops',
requiresAuth: true,
icon: 'icon-settings',
order: 3,
},
children: [
{
path: 'menu-management',
name: 'MenuManagement',
component: () => import('@/views/ops/pages/system-settings/menu-management/index.vue'),
meta: {
locale: 'menu.ops.systemSettings.menuManagement',
requiresAuth: true,
roles: ['*'],
},
},
{
path: 'system-logs',
name: 'SystemLogs',
component: () => import('@/views/ops/pages/system-settings/system-logs/index.vue'),
meta: {
locale: 'menu.ops.systemSettings.systemLogs',
requiresAuth: true,
roles: ['*'],
},
},
],
}
export default OPS

View File

@@ -1,38 +0,0 @@
import { DEFAULT_LAYOUT } from '../base'
import { AppRouteRecordRaw } from '../types'
const USER: AppRouteRecordRaw = {
path: '/user',
name: 'user',
component: DEFAULT_LAYOUT,
meta: {
locale: 'menu.user',
icon: 'icon-user',
requiresAuth: true,
order: 7,
},
children: [
{
path: 'info',
name: 'Info',
component: () => import('@/views/user/info/index.vue'),
meta: {
locale: 'menu.user.info',
requiresAuth: true,
roles: ['*'],
},
},
{
path: 'setting',
name: 'Setting',
component: () => import('@/views/user/setting/index.vue'),
meta: {
locale: 'menu.user.setting',
requiresAuth: true,
roles: ['*'],
},
},
],
}
export default USER