feat(机柜管理): 优化机柜导入导出功能
- 新增机柜导入预览功能,支持数据验证和错误提示 - 支持按选中机柜导出,优化导出文件名和提示信息 - 重构导入逻辑,分离Excel解析和验证逻辑 - 修复机柜关联设备查询问题,使用正确的关系别名 - 更新API文档,添加导入预览和选中导出接口说明
This commit is contained in:
+235
@@ -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
|
||||
|
||||
### 新增功能
|
||||
|
||||
Reference in New Issue
Block a user