check-管理后台菜单修改前检查.md 9.0 KB


description: "管理后台菜单修改前检查指令"

管理后台菜单修改前先按需求检查所需文件,为修改提供上下文

概述

本文档提供了管理后台菜单功能相关的所有文件检查清单,包括菜单配置、页面组件、API路由、实体定义等。

1. 菜单配置文件

1.1 主菜单配置文件

  • 文件: src/client/admin/menu.tsx
  • 状态: ✅ 已存在
  • 功能: 定义管理后台所有菜单项结构、图标、路径和权限
  • 关键配置:
    • 菜单项数组 menuItems (第85-328行)
    • 用户菜单项 userMenuItems (第331-349行)
    • 菜单搜索Hook useMenuSearch
    • 菜单状态管理Hook useMenu

1.2 菜单项结构

  • 顶级菜单: 9个主要模块
  • 子菜单: 多个模块包含二级菜单
  • 权限控制: 部分菜单项包含权限配置

2. 前端页面文件

2.1 路由配置文件

  • 文件: src/client/admin/routes.tsx
  • 状态: ✅ 已存在
  • 功能: 定义所有页面路由与组件的映射关系
  • 关键配置:
    • 路由路径与页面组件对应关系
    • 错误页面处理
    • 路由保护配置

2.2 页面组件文件

根据菜单配置,需要检查以下页面组件文件:

监控管理模块

  • src/client/admin/pages/DeviceMonitor.tsx - 设备实时监控
  • src/client/admin/pages/TemperatureHumidity.tsx - 温湿度监控
  • src/client/admin/pages/SmokeWater.tsx - 烟感及水浸监控
  • src/client/admin/pages/DeviceMap.tsx - 设备地图监控
  • src/client/admin/pages/AlertRecords.tsx - 告警记录
  • src/client/admin/pages/AlertHandleLogs.tsx - 告警处理记录
  • src/client/admin/pages/AlertNotifyConfig.tsx - 告警通知配置
  • src/client/admin/pages/DeviceAlertRule.tsx - 设备告警规则
  • src/client/admin/pages/MonitorTask.tsx - 监控任务

资产管理模块

  • src/client/admin/pages/ZichanCategory.tsx - 资产分类
  • src/client/admin/pages/ZichanArea.tsx - 资产区域
  • src/client/admin/pages/Zichan.tsx - 资产信息
  • src/client/admin/pages/ZichanTransfer.tsx - 资产流转

设备管理模块

  • src/client/admin/pages/DeviceTypes.tsx - 设备类型
  • src/client/admin/pages/DeviceInstances.tsx - 设备实例
  • src/client/admin/pages/ModbusRtuDevices.tsx - Modbus RTU设备
  • src/client/admin/pages/GreenhouseProtocol.tsx - 温室协议设置
  • src/client/admin/pages/RackInfo.tsx - 机柜管理
  • src/client/admin/pages/RackServerType.tsx - 机柜服务器类型
  • src/client/admin/pages/RackServer.tsx - 机柜服务器

其他模块

  • src/client/admin/pages/WorkOrders.tsx - 工单管理
  • src/client/admin/pages/MonitorStats.tsx - 监控数据统计
  • src/client/admin/pages/InspectionResults.tsx - 巡检结果查询
  • src/client/admin/pages/Users.tsx - 用户管理
  • src/client/admin/pages/ThemeSettings.tsx - 主题设置
  • src/client/admin/pages/TimeCalibration.tsx - 时间校准
  • src/client/admin/pages/Settings.tsx - 系统配置
  • src/client/admin/pages/KnowInfo.tsx - 知识库
  • src/client/admin/pages/Files.tsx - 文件库
  • src/client/admin/pages/Messages.tsx - 消息中心
  • src/client/admin/pages/SmsModule.tsx - 短信模块

3. 后端API文件

3.1 API路由注册文件

  • 文件: src/server/api.ts
  • 状态: ✅ 已存在
  • 功能: 注册所有API路由到Hono应用
  • 关键配置:
    • 路由导入和注册 (第4-36行)
    • 路由类型定义 (第196-229行)

3.2 各模块API路由

根据菜单功能,需要检查以下API路由:

监控相关API

  • src/server/api/monitor-data/ - 监控数据API
  • src/server/api/monitor-map/ - 监控地图API
  • src/server/api/monitor-task/ - 监控任务API
  • src/server/api/monitor-stats/ - 监控统计API
  • src/server/api/alerts/ - 告警API
  • src/server/api/alert-handle-logs/ - 告警处理记录API
  • src/server/api/alert-notify-configs/ - 告警通知配置API
  • src/server/api/alert-rules/ - 告警规则API

资产相关API

  • src/server/api/zichan/ - 资产信息API
  • src/server/api/zichan-category/ - 资产分类API
  • src/server/api/zichan-area/ - 资产区域API
  • src/server/api/zichan-transfer/ - 资产流转API

设备相关API

  • src/server/api/device-types/ - 设备类型API
  • src/server/api/device-instances/ - 设备实例API
  • src/server/api/modbus-rtu/ - Modbus RTU设备API
  • src/server/api/rack-info/ - 机柜信息API
  • src/server/api/rack-server-type/ - 机柜服务器类型API
  • src/server/api/rack-server/ - 机柜服务器API

其他API

  • src/server/api/workorders/ - 工单API
  • src/server/api/inspections/ - 巡检API
  • src/server/api/inspection-results/ - 巡检结果API
  • src/server/api/users/ - 用户API
  • src/server/api/theme-settings/ - 主题设置API
  • src/server/api/time/ - 时间API
  • src/server/api/know-info/ - 知识库API
  • src/server/api/files/ - 文件API
  • src/server/api/sms-test/ - 短信测试API

4. 客户端API定义

4.1 客户端API文件

  • 文件: src/client/api.ts
  • 状态: ✅ 已存在
  • 功能: 定义所有前端API客户端实例
  • 关键配置:
    • 各模块客户端定义 (第38-157行)
    • 类型导入 (第3-31行)

4.2 各模块客户端

需要检查以下客户端定义:

  • authClient - 认证客户端
  • userClient - 用户客户端
  • zichanClient - 资产客户端
  • deviceTypesClient - 设备类型客户端
  • deviceInstancesClient - 设备实例客户端
  • monitorDataClient - 监控数据客户端
  • alertsClient - 告警客户端
  • workOrderClient - 工单客户端
  • 等其他相关客户端

5. 实体定义文件

5.1 主要实体类

根据菜单功能,需要检查以下实体文件:

监控相关实体

  • src/server/modules/monitor/ 目录下的实体文件
  • 设备监控数据实体
  • 告警规则实体
  • 监控任务实体

资产相关实体

  • src/server/modules/zichan/ 目录下的实体文件
  • 资产信息实体
  • 资产分类实体
  • 资产区域实体

设备相关实体

  • src/server/modules/devices/ 目录下的实体文件
  • 设备类型实体
  • 设备实例实体
  • 机柜相关实体

其他实体

  • src/server/modules/users/ - 用户实体
  • src/server/modules/files/ - 文件实体
  • src/server/modules/workorders/ - 工单实体

6. 服务层文件

6.1 主要服务类

需要检查以下服务文件:

  • src/server/modules/monitor/monitor.service.ts - 监控服务
  • src/server/modules/zichan/zichan.service.ts - 资产服务
  • src/server/modules/devices/device.service.ts - 设备服务
  • src/server/modules/users/user.service.ts - 用户服务
  • 等其他相关服务

7. 权限配置

7.1 菜单权限

  • 位置: src/client/admin/menu.tsx 中的 permission 字段
  • 当前配置:
    • 用户管理: user:manage
    • 系统设置: system:settings
    • 内容管理: content:manage
    • 消息中心: message:view

7.2 权限验证

  • 中间件: src/server/middleware/auth.middleware.ts
  • 权限检查: 确保路由有正确的权限验证

8. 修改检查清单

8.1 添加新菜单项

  1. menu.tsx 中添加菜单项配置
  2. 创建对应的页面组件文件
  3. routes.tsx 中注册路由
  4. 创建或更新对应的API路由
  5. api.ts 中注册API路由
  6. 在客户端API中添加对应客户端
  7. 创建或更新对应的实体和服务
  8. 配置权限控制(如需要)

8.2 修改现有菜单项

  1. 更新 menu.tsx 中的菜单配置
  2. 检查对应的页面组件是否需要修改
  3. 检查API路由是否需要更新
  4. 验证权限配置是否正确

8.3 删除菜单项

  1. menu.tsx 中移除菜单项
  2. 考虑是否删除对应的页面组件
  3. 考虑是否删除对应的API路由
  4. 清理不再使用的客户端API

9. 常见问题

9.1 菜单项不显示

  • 检查权限配置是否正确
  • 验证用户是否有访问权限
  • 检查路由路径是否正确

9.2 页面404错误

  • 检查 routes.tsx 中的路由配置
  • 验证页面组件文件是否存在
  • 检查导入路径是否正确

9.3 API调用失败

  • 检查客户端API定义是否正确
  • 验证API路由是否已注册
  • 检查权限中间件配置

10. 最佳实践

  1. 保持一致性: 菜单项、路由路径、API路径保持命名一致
  2. 权限控制: 为敏感功能添加适当的权限控制
  3. 错误处理: 确保页面和API都有适当的错误处理
  4. 类型安全: 使用TypeScript确保类型安全
  5. 文档更新: 修改菜单时更新相关文档

11. 相关文件链接

11.1 核心配置文件

  • 菜单配置: src/client/admin/menu.tsx
  • 路由配置: src/client/admin/routes.tsx
  • API注册: src/server/api.ts
  • 客户端API: src/client/api.ts

11.2 工具函数

  • 认证中间件: src/server/middleware/auth.middleware.ts
  • 错误处理: src/server/utils/errorHandler.ts
  • Axios配置: src/client/utils/axios-fetch.ts

通过以上检查清单,可以确保在修改管理后台菜单时全面考虑所有相关文件,避免遗漏和错误。