Files
yunrui_asset/CHANGELOG.md
T

523 lines
16 KiB
Markdown
Raw Normal View History

2026-01-21 15:21:46 +08:00
# CHANGELOG
所有版本变更记录按时间倒序排列。
2026-02-05 13:59:28 +08:00
---
## [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 配置
---
2026-02-05 13:59:28 +08:00
## [1.2.0] - 2026-02-05
### 新增功能
#### 端口与线缆管理
2026-02-26 13:23:27 +08:00
- 新增设备端口管理模块,支持端口类型(网口、光口)、速率、状态配置
- 新增网卡(NetworkCard)管理功能,支持网卡与端口绑定
- 新增线缆(Cable)管理模块,支持机柜间线缆连接追踪
- 端口面板可视化展示,直观管理设备端口
2026-02-05 13:59:28 +08:00
#### 系统功能增强
- 新增系统设置管理,支持站点名称、Logo等配置
2026-02-26 13:23:27 +08:00
- 新增背景配置管理,支持自定义系统背景图
2026-02-05 13:59:28 +08:00
- 完善用户权限管理,支持角色权限分配
### 优化
#### 3D可视化性能优化
- 优化 Scene.jsx 渲染配置,降低设备像素比至 [1, 1.2]
- 减小阴影贴图尺寸至 [1024, 1024]
- 移除 ContactShadows 组件以减少阴影计算
- 简化光源配置,移除冗余 pointLight
- 优化环境光分辨率配置
#### 设备模型优化
- 实现性能模式(PERFORMANCE_MODE)以简化设备细节
- 添加设备滑轨动画控制开关
- 设备弹出动画默认关闭,可通过界面开关启用
- 优化设备状态指示灯渲染性能
#### LOD(多级细节)系统
- 实现 LOD 管理器,根据相机距离自动切换设备细节级别
- 高细节模式:完整设备模型,包含所有端口和细节
- 中等细节模式:简化设备模型,使用 InstancedMesh 渲染端口
- 低细节模式:极简设备模型,仅保留基本轮廓和状态灯
### 修复
- 修复 AnimationManager 导入错误,移除对不存在文件的引用
- 修复设备在缩放时位置偏移的问题
- 修复 LOD 模型中状态灯位置计算错误
- 修复 LODManager 中的几何体参数错误
2026-02-26 13:23:27 +08:00
### 升级注意事项
- 本版本对 3D 渲染进行了优化,建议在性能较低的设备上测试后再升级生产环境
- 新增的端口管理功能需要在管理员后台配置相关字段
2026-02-05 13:59:28 +08:00
---
## [1.1.0] - 2026-01-26
2026-02-26 13:23:27 +08:00
### 新增功能
#### 盘点管理模块
- 新增盘点计划(InventoryPlan)管理,支持制定定期盘点计划
- 新增盘点任务(InventoryTask)分配,支持按机房/机柜分配盘点任务
- 新增盘点记录(InventoryRecord),记录实际盘点结果
- 支持盘点任务状态跟踪:待执行 → 执行中 → 已完成
#### 故障分类管理
- 新增故障分类(FaultCategory)管理
- 支持故障类型自定义
### 优化
2026-02-26 13:23:27 +08:00
#### 用户体验改进
- 优化页面加载速度,减少首屏渲染时间
- 改进数据表格分页机制,支持大数据量展示
- 优化表单验证提示,提供更友好的错误反馈
2026-02-26 13:23:27 +08:00
#### API性能优化
- 优化数据库查询,使用索引提升查询效率
- 增加API响应缓存,减少重复查询
### 修复
2026-02-26 13:23:27 +08:00
- 修复设备批量导入时字段映射错误的问题
- 修复工单分配给不存在用户时的错误处理
- 修复报表导出时日期格式不正确的问题
- 修复部分页面在移动端显示错位的问题
### 升级注意事项
- 本版本新增了盘点管理相关数据表,首次启动时会自动创建
- 如使用 MySQL 数据库,建议运行 `node scripts/migrate-v2.js` 进行数据迁移
---
2026-01-21 15:21:46 +08:00
## [1.0.0] - 2026-01-21
### 新增功能
#### 机房管理模块
2026-02-26 13:23:27 +08:00
- 机房列表查询与展示,支持分页和搜索
2026-01-21 15:21:46 +08:00
- 机房创建、编辑、删除功能
2026-02-26 13:23:27 +08:00
- 机房位置、面积、负责人等详细信息管理
2026-01-21 15:21:46 +08:00
#### 机柜管理模块
- 机柜增删改查操作
- 按机房分类管理机柜
2026-02-26 13:23:27 +08:00
- 机柜容量统计与状态展示(已用U数、剩余U数)
2026-01-21 15:21:46 +08:00
- 3D机柜可视化展示
#### 设备管理模块
2026-02-26 13:23:27 +08:00
- 设备全生命周期管理(采购 → 上线 → 运行 → 维护 → 报废)
- 设备批量导入/导出功能(支持 Excel/CSV
- 自定义设备字段配置,满足不同业务需求
2026-01-21 15:21:46 +08:00
- 设备状态跟踪与筛选
2026-02-26 13:23:27 +08:00
- 设备详情面板,展示完整设备信息
2026-01-21 15:21:46 +08:00
#### 工单管理模块
- 工单创建与处理流程
2026-02-26 13:23:27 +08:00
- 工单分类(TicketCategory)管理
- 工单自定义字段(TicketField),灵活扩展工单属性
- 工单操作记录(TicketOperationRecord)审计
- 工单状态:待处理 → 处理中 → 已完成 → 已关闭
2026-01-21 15:21:46 +08:00
#### 耗材管理模块
2026-02-26 13:23:27 +08:00
- 耗材(Consumable)分类管理
- 耗材库存管理,支持库存预警
- 耗材领用记录(ConsumableRecord
- 耗材使用日志(ConsumableLog)追踪
2026-01-21 15:21:46 +08:00
- 耗材使用统计报表
#### 用户权限模块
2026-02-26 13:23:27 +08:00
- 用户(User)管理,支持CRUD操作
- 角色(Role)管理
- 权限(Permission)控制
- 认证授权(JWT)机制
2026-01-21 15:21:46 +08:00
#### 系统配置模块
2026-02-26 13:23:27 +08:00
- 系统设置(SystemSetting)管理
2026-01-21 15:21:46 +08:00
- 背景配置管理
2026-02-26 13:23:27 +08:00
- 设备字段初始化配置
- 工单字段初始化配置
2026-01-21 15:21:46 +08:00
### 技术架构
#### 前端技术栈
2026-02-26 13:23:27 +08:00
- React 18.2.0 - UI框架
- Vite 4.4.9 - 构建工具
- Ant Design 5.8.6 - UI组件库
- Three.js 0.160.0 - 3D渲染引擎
- React Router 6.15.0 - 路由管理
- Axios 1.5.0 - HTTP客户端
- Day.js 1.11.19 - 日期处理
- SheetJS (xlsx) 0.18.5 - Excel处理
- PapaParse 5.5.3 - CSV解析
2026-01-21 15:21:46 +08:00
#### 后端技术栈
2026-02-26 13:23:27 +08:00
- Node.js ≥14.0.0 - 运行时环境
- Express 4.18.2 - Web框架
- Sequelize 6.32.1 - ORM框架
- SQLite 5.1.6 / MySQL 8.0+ - 数据库支持
- JWT 9.0.3 - 身份认证
- bcryptjs 3.0.3 - 密码加密
- Winston 3.19.0 - 日志管理
- Jest 30.2.0 - 测试框架
- Joi 18.0.2 - 数据验证
2026-01-21 15:21:46 +08:00
### 数据库模型
2026-02-26 13:23:27 +08:00
| 模型 | 说明 |
|------|------|
| Room | 机房 |
| Rack | 机柜 |
| Device | 设备 |
| DeviceField | 设备自定义字段 |
| DevicePort | 设备端口 |
| NetworkCard | 网卡 |
| Cable | 线缆 |
| Ticket | 工单 |
| TicketField | 工单自定义字段 |
| TicketCategory | 工单分类 |
| TicketOperationRecord | 工单操作记录 |
| Consumable | 耗材 |
| ConsumableCategory | 耗材分类 |
| ConsumableRecord | 耗材领用记录 |
| ConsumableLog | 耗材日志 |
| InventoryPlan | 盘点计划 |
| InventoryTask | 盘点任务 |
| InventoryRecord | 盘点记录 |
| User | 用户 |
| Role | 角色 |
| Permission | 权限 |
| UserRole | 用户角色关联 |
| SystemSetting | 系统设置 |
2026-01-21 15:21:46 +08:00
2026-02-26 13:23:27 +08:00
### API接口概览
2026-01-21 15:21:46 +08:00
2026-02-26 13:23:27 +08:00
| 模块 | 接口数 | 主要功能 |
|------|--------|----------|
| 认证 | 2 | 登录、注册 |
| 机房 | 4 | 增删改查 |
| 机柜 | 4 | 增删改查 |
| 设备 | 5 | 增删改查、批量导入 |
| 设备字段 | 4 | 字段管理 |
| 工单 | 4 | 工单流程管理 |
| 工单分类 | 4 | 分类管理 |
| 工单字段 | 4 | 字段管理 |
| 耗材 | 4 | 库存管理 |
| 耗材分类 | 4 | 分类管理 |
| 耗材记录 | 4 | 领用管理 |
| 用户 | 4 | 用户管理 |
| 角色 | 4 | 角色管理 |
| 系统设置 | 2 | 配置管理 |
2026-01-21 15:21:46 +08:00
2026-02-26 13:23:27 +08:00
### 升级注意事项
2026-01-21 15:21:46 +08:00
2026-02-26 13:23:27 +08:00
- 这是初始正式版本,从 Beta/Alpha 版本升级时需注意数据迁移
- 建议在升级前备份数据库
- 首次部署需要运行 `node scripts/init-database.js` 初始化数据库
2026-01-21 15:21:46 +08:00
2026-02-26 13:23:27 +08:00
---
2026-01-21 15:21:46 +08:00
2026-02-26 13:23:27 +08:00
## 版本号规范
2026-01-21 15:21:46 +08:00
2026-02-26 13:23:27 +08:00
本项目使用语义化版本号(Semantic Versioning):
2026-01-21 15:21:46 +08:00
2026-02-26 13:23:27 +08:00
```
主版本号.次版本号.修订号
MAJOR.MINOR.PATCH
```
2026-02-05 13:59:28 +08:00
2026-02-26 13:23:27 +08:00
| 版本类型 | 变更规则 |
|----------|----------|
| **主版本 (MAJOR)** | 不兼容的API变更 |
| **次版本 (MINOR)** | 向后兼容的新功能 |
| **修订号 (PATCH)** | 向后兼容的bug修复 |
2026-02-05 13:59:28 +08:00
2026-02-26 13:23:27 +08:00
### 版本号示例
2026-02-05 13:59:28 +08:00
2026-02-26 13:23:27 +08:00
- `1.0.0` - 初始正式版本
- `1.1.0` - 新增功能,向后兼容
- `1.1.1` - Bug修复,向后兼容
- `2.0.0` - 重大变更,不兼容
2026-02-05 13:59:28 +08:00
2026-01-21 15:21:46 +08:00
---
## 格式说明
2026-02-26 13:23:27 +08:00
本 CHANGELOG 遵循 [Keep a Changelog](https://keepachangelog.com/) 规范:
2026-01-21 15:21:46 +08:00
2026-02-26 13:23:27 +08:00
| 类型 | 说明 |
|------|------|
| **新增 (Added)** | 新功能添加 |
| **优化 (Changed)** | 功能改进和性能优化 |
| **修复 (Fixed)** | Bug修复 |
| **废弃 (Deprecated)** | 即将移除的功能 |
| **移除 (Removed)** | 已移除的功能 |
| **安全 (Security)** | 安全相关的修复 |
2026-01-21 15:21:46 +08:00
2026-02-26 13:23:27 +08:00
---
2026-01-21 15:21:46 +08:00
2026-02-26 13:23:27 +08:00
## 更新日志格式
2026-01-21 15:21:46 +08:00
2026-02-26 13:23:27 +08:00
每个版本更新应包含:
```
## [版本号] - 发布日期
### 新增功能
- 功能描述
### 优化
- 改进内容
### 修复
- 修复的问题
### 升级注意事项
- 升级时需要注意的事项
```
---
**文档维护建议**
- 每次发布新版本时及时更新本文件
-`### 升级注意事项` 中详细说明可能导致不兼容的变更
- 使用清晰的描述,避免过于技术化的术语