feat(机柜管理): 优化机柜导入导出功能

- 新增机柜导入预览功能,支持数据验证和错误提示
- 支持按选中机柜导出,优化导出文件名和提示信息
- 重构导入逻辑,分离Excel解析和验证逻辑
- 修复机柜关联设备查询问题,使用正确的关系别名
- 更新API文档,添加导入预览和选中导出接口说明
This commit is contained in:
zhang1106
2026-05-06 15:12:57 +08:00
parent 9c0fd0b3ff
commit fa39f2855f
11 changed files with 2095 additions and 543 deletions
+235
View File
@@ -4,6 +4,241 @@
---
## [2.0.0] - 2026-05-06
### 新增功能
#### 备份管理模块
- 新增数据库备份与恢复功能,支持手动创建备份
- 新增自动备份调度,支持 Cron 表达式配置定时备份
- 新增远端备份,支持 FTP/SFTP/WebDAV/SMB 多协议上传
- 新增备份文件上传/下载/删除/验证管理
- 新增备份恢复进度实时推送(SSE
- 新增备份日志管理,支持日志查询/详情/清理
- 新增 BackupLog 数据模型
#### 操作日志审计模块
- 新增操作日志查询,支持按模块/操作类型/时间范围筛选
- 新增操作日志统计,提供模块和操作类型维度分析
- 新增 OperationLog 数据模型
- 新增操作日志页面,支持日志详情查看
#### 空闲设备管理模块
- 新增空闲设备列表查询与管理
- 新增设备转入空闲状态功能
- 新增空闲设备激活(重新上架)功能
- 新增 IdleDeviceManagement 前端页面
#### 仓库管理模块
- 新增仓库增删改查功能
- 新增 Warehouse 数据模型
- 支持仓库与耗材关联管理
#### 网络拓扑可视化模块
- 新增网络拓扑图可视化展示(基于 ReactFlow)
- 新增交换机拓扑查询,展示设备间连接关系
- 新增设备拓扑查询,展示单设备网络连接
- 新增拓扑控制面板(缩放/布局/筛选)
- 新增拓扑侧边栏(设备详情/连接信息)
- 新增自定义拓扑节点组件(服务器/交换机/路由器/防火墙/存储/通用)
- 新增拓扑数据与布局自定义 Hooks
#### 机房平面图模块
- 新增机房平面图可视化展示(Canvas 渲染)
- 新增机柜位置拖拽编辑功能
- 新增热力图模式,按机柜使用率着色
- 新增小地图导航,快速定位机柜
- 新增平面图工具栏(缩放/搜索/视图切换/机房选择)
- 新增机柜详情面板,展示机柜容量与设备信息
- 新增布局编辑器与位置验证器
- 新增机房布局 API(获取/更新/初始化/批量更新机柜位置)
#### 危险操作日志模块
- 新增危险操作记录功能
- 新增危险操作日志查询与清理
- 新增危险操作确认弹窗组件
#### 维护模式
- 新增维护模式状态查询与解除功能
- 新增维护模式横幅组件
#### Swagger API 文档
- 集成 swagger-jsdoc + swagger-ui-express
- 新增交互式 API 文档,访问路径 `/api-docs`
- 支持在线调试 API 接口
#### 设备管理增强
- 新增设备导入预览功能,导入前可预览数据
- 新增设备 ID 自动生成规则配置
- 新增设备搜索支持自定义字段
- 新增设备导入模板字段与字段配置同步
- 新增设备导入必填验证与机房机柜区分
- 新增设备批量导入性能优化
- 新增设备转入空闲状态 API`PUT /api/devices/:deviceId/to-idle`
- 新增设备 U 位可用性检查 API
#### 耗材管理增强
- 新增耗材批量导入功能(支持 Excel/CSV)
- 新增耗材导入模板下载
- 新增耗材导入任务状态查询
- 新增耗材 SN 序列号追踪功能
- 新增耗材操作日志归档功能
- 新增耗材日志修改与修改历史查询
- 新增耗材日志导出与导入
- 新增耗材出入库记录导出
- 新增耗材库存调整功能(增加/减少/设置)
- 新增耗材乐观锁并发安全控制
- 新增耗材与操作日志解耦
- 新增 ConsumableLogArchive 数据模型
- 新增耗材扫码添加功能
#### 工单管理增强
- 新增工单导出功能
- 新增工单统计页面
- 新增工单评价功能
- 新增工单操作记录(操作步骤/配件/耗时/结果)
- 新增工单分类统计 API
#### 端口与网卡管理增强
- 新增网卡批量导入功能
- 新增端口批量导出功能
- 新增端口添加引导弹窗
- 新增端口命名模板功能
- 新增端口批量导入重新设计
- 新增服务器背板面板组件
- 新增服务器网卡组件
#### 线缆管理增强
- 新增线缆向导弹窗(CableWizardModal
- 新增设备选择弹窗性能优化
- 新新增设备选择弹窗筛选优化
#### 系统配置增强
- 新增系统设置导出/导入功能
- 新增系统 Logo 上传功能
- 新增系统信息公开查询 API
- 新增背景图片上传功能
- 新增字段管理选项可视化编辑功能
#### 业务关联
- 新增 Business 数据模型
- 新增 DeviceBusiness 数据模型
- 支持设备与业务关联管理
#### 待确认设备管理
- 新增 PendingDevice 数据模型
- 新增待确认设备管理页面
- 支持盘点暂存设备管理
### 优化
#### 3D 可视化性能优化
- 优化 Canvas DPR 配置,提升渲染清晰度
- 优化背板渲染控制,减少不必要的渲染
- 重构状态管理,分离 3D 场景状态
- 优化回调函数引用稳定性
- 优化几何体和材质复用
- 优化 LODManager 距离计算性能
- 优化 DeviceModel useFrame 状态更新
- 优化悬停状态避免频繁更新
- 优化 3D 机柜相机控制,支持完整查看
- 固定旋转中心为机柜中轴线
- 为机柜添加 U 位标识
- 优化 3D 设备视觉区分
- 新增 3D 机柜头部重新设计
- 新增纹理缓存机制(TextureCache
#### 前端性能优化
- 优化前端组件渲染性能
- 新增虚拟列表支持(react-window
- 新增 html2canvas 截图支持
- 优化设备详情抽屉展示
#### 安全优化
- 修复注册权限漏洞
- 修复 JWT Secret 安全问题
- 新增全局认证中间件
- 新增路由自动注册机制
- 新增路由排序 Bug 修复
#### 数据库优化
- 新增外键约束修复脚本
- 新增线缆字段迁移脚本
- 新增日志迁移脚本
- 优化迁移脚本幂等执行
### 修复
- 修复设备字段初始化覆盖自定义配置问题
- 修复设备导入必填验证问题
- 修复设备导入机房机柜区分问题
- 修复设备详情功率字段显示问题
- 修复 3D 设备详情自定义字段 displayName 显示问题
- 修复机柜已用 U 统计不准确问题
- 修复空闲设备状态不同步问题
- 修复空闲设备状态不更新问题
- 修复耗材乐观锁并发安全问题
- 修复数据恢复外键约束错误
- 修复 ID 生成器错误处理
- 修复路由排序 Bug
### 数据库模型
| 模型 | 说明 | 状态 |
|------|------|------|
| BackupLog | 备份日志 | 新增 |
| Business | 业务 | 新增 |
| ConsumableLogArchive | 耗材日志归档 | 新增 |
| DeviceBusiness | 设备业务关联 | 新增 |
| OperationLog | 操作日志 | 新增 |
| PendingDevice | 待确认设备 | 新增 |
| Warehouse | 仓库 | 新增 |
### API 接口概览
| 模块 | 接口数 | 主要功能 |
|------|--------|----------|
| 备份管理 | 28 | 备份创建/恢复/上传/下载/自动备份/远端备份/日志 |
| 统计分析 | 1 | 仪表盘统计数据 |
| 操作日志 | 5 | 日志查询/模块/类型/统计/详情 |
| 空闲设备 | 4 | 空闲设备管理 |
| 仓库管理 | 5 | 仓库增删改查 |
| 危险操作 | 3 | 危险操作日志 |
| 拓扑管理 | 2 | 网络拓扑查询 |
| 维护模式 | 2 | 维护模式管理 |
| 背景设置 | 3 | 背景配置/上传 |
### 技术栈更新
| 依赖 | 旧版本 | 新版本 | 说明 |
|------|--------|--------|------|
| Three.js | 0.160.0 | 0.183.2 | 3D 渲染引擎升级 |
| basic-ftp | - | 5.0.3 | 新增 FTP 协议支持 |
| ssh2-sftp-client | - | 9.1.0 | 新增 SFTP 协议支持 |
| webdav | - | 5.3.1 | 新增 WebDAV 协议支持 |
| smb2 | - | 0.2.2 | 新增 SMB 协议支持 |
| node-cron | - | 4.2.1 | 新增定时任务调度 |
| swagger-jsdoc | - | 新增 | API 文档生成 |
| swagger-ui-express | - | 新增 | API 文档展示 |
| framer-motion | - | 12.34.0 | 新增动画库 |
| reactflow | - | 新增 | 新增拓扑图组件 |
| dagre | - | 新增 | 新增图布局算法 |
| styled-components | - | 6.3.9 | 新增 CSS-in-JS |
| swr | - | 2.4.0 | 新增数据请求缓存 |
| html2canvas | - | 新增 | 新增截图功能 |
| react-window | - | 新增 | 新增虚拟列表 |
### 升级注意事项
- 本版本为重大更新,新增多个功能模块,建议在升级前完整备份数据库
- 新增了备份管理、操作日志、空闲设备、仓库、拓扑等数据表,首次启动时会自动创建
- 如使用 MySQL 数据库,务必运行 `node scripts/migrate-all.js` 进行数据迁移
- 3D 渲染引擎已升级到 Three.js 0.183.2,请确认浏览器兼容性
- 新增了 Swagger API 文档,可通过 `/api-docs` 访问
- JWT Secret 安全性已增强,建议更新生产环境的 JWT_SECRET 配置
---
## [1.2.0] - 2026-02-05
### 新增功能