Commit Graph
122 Commits
Author SHA1 Message Date
zhang1106 b9d89bee11 perf(数据库): 优化数据库查询性能
- 在设备、机柜路由中强制使用 JOIN 避免 N+1 查询问题
- 添加连接池配置提升并发处理能力
- 设置 distinct 和 subQuery 参数确保查询准确性
2026-02-10 14:35:36 +08:00
zhang1106 afc372a432 chore: 统一代码风格并配置ESLint和Prettier
配置ESLint和Prettier规则
添加前端和后端的忽略文件
统一代码格式和缩进
修复代码风格问题
2026-02-10 11:04:01 +08:00
zhang1106 f82d82e57e feat(安全): 增强JWT安全配置并移除重复路由
添加JWT安全配置到.env.example并实现严格的环境检查
移除devices.js中重复的批量操作路由
2026-02-10 10:56:50 +08:00
zhang1106 693b6a71f3 feat(设备管理): 重构设备管理页面并优化初始化逻辑 2026-02-10 09:32:16 +08:00
zhang1106 18745694fa perf(导入): 优化机柜和设备数据导入性能
重构机柜和设备导入功能,采用事务+批量操作提升性能:
1. 使用事务确保数据一致性
2. 批量查询减少数据库交互
3. 批量插入提高写入效率
4. 优化ID生成逻辑
5. 统一错误处理机制
2026-02-09 22:24:48 +08:00
zhang1106 d0d34aee2f feat(机架管理): 添加后端筛选功能并优化前端交互
- 后端路由添加对房间ID、状态和关键字的筛选支持
- 前端移除本地筛选逻辑,改为使用后端筛选参数
- 添加筛选条件变化时自动重置分页并重新加载数据
2026-02-09 16:55:07 +08:00
zhang1106 93a5de2106 feat(设备管理): 添加一键删除所有设备功能
- 前端添加删除所有设备按钮及确认对话框
- 后端实现删除所有设备及相关数据的接口
- 更新.gitignore忽略backend/temp目录
2026-02-09 16:22:00 +08:00
zhang1106 aca229ea91 fix(devices): 导入模板包含所有字段以确保数据完整性
移除对字段visible状态的过滤,确保导入模板包含所有字段(不论visible状态)。这样可以在导入时保证数据完整性,避免因字段过滤导致的数据丢失。
2026-02-09 14:21:57 +08:00
zhang1106 2d7d53283f refactor(devices): 简化导入导出模板的CSV字段处理逻辑
移除字段类型提示和必填标记,统一使用displayName作为列名
重构导出逻辑使其与导入模板保持一致,使用动态生成的字段配置
2026-02-09 14:16:01 +08:00
zhang1106 fe6bc0adcc feat(机柜管理): 增强Excel导入功能并完善状态显示
- 在导出功能中增加"维护中"状态的中文显示
- 重构导入功能以支持多种Excel格式和列名映射
- 添加状态值的中英文自动转换
- 改进数据验证逻辑和错误提示信息
2026-02-09 08:37:19 +08:00
zhang1106 c83cf53413 fix: 将设备字段的必填属性从true改为false
修改了model、powerConsumption、purchaseDate和warrantyExpiry字段的required属性,使其不再强制要求填写
2026-02-06 16:59:03 +08:00
zhang1106 0763aebc10 fix(racks): 修复导出路由位置以避免被当作rackId参数
将导出租机柜数据的路由移动到/:rackId路由之前,防止路由冲突
2026-02-06 16:27:53 +08:00
zhang1106 e525fa4f11 feat(机柜管理): 添加机柜数据导出功能并优化设备删除逻辑
添加机柜数据导出功能,支持Excel格式下载
在设备删除逻辑中增加网卡删除处理
调整设备ID字段为非必填且隐藏
2026-02-06 16:23:56 +08:00
zhang1106 aa5ab5fc17 refactor(设备导入): 动态构建必填字段列表以保持与数据库配置同步 2026-02-06 16:09:57 +08:00
zhang1106 b5b9ea3e03 fix(devices): 改进CSV导入时的字段名提取逻辑并移除调试日志
移除不必要的调试日志输出
优化字段名提取正则表达式以更好处理带格式说明的字段
2026-02-06 16:03:28 +08:00
zhang1106 0d9f14b3e8 fix(设备导入): 调整必填字段验证逻辑并添加调试日志
移除型号作为必填字段,并在验证过程中添加调试日志输出
2026-02-06 16:00:08 +08:00
zhang1106 920a52e5ae refactor(设备字段): 移除冗余字段并更新必填字段验证逻辑
移除设备模型中的owner、department和assetId字段,这些字段不再使用
更新设备导入接口的必填字段验证逻辑,使用硬编码的必填字段列表以保持前后端一致
2026-02-06 15:53:57 +08:00
zhang1106 760e719c9a feat(设备导入): 改进机柜字段处理为机房+机柜名称组合
将设备导入模板中的机柜ID字段拆分为机房名称和机柜名称两列,以便更直观地定位设备位置
在导入处理时,根据机房名称和机柜名称自动查找或创建对应机柜
移除默认机房创建逻辑,改为严格验证机房是否存在
2026-02-06 15:39:07 +08:00
zhang1106 d87ced4b8a fix: 允许设备购买日期和保修到期日期为空
修改后端模型和前端表单字段,将购买日期和保修到期日期设为非必填项,以适应实际业务中可能缺少这些信息的情况
2026-02-06 15:17:34 +08:00
zhang1106 cabb5ab13c fix(设备导入): 从导入模板中排除设备ID字段
设备ID应由系统自动生成而非用户填写,因此从CSV模板的标题和示例数据中移除了该字段
2026-02-06 15:09:18 +08:00
zhang1106 d5277ce15c feat(设备管理): 实现设备ID自动生成功能
- 修改后端验证逻辑,允许设备ID为空或null
- 添加自动生成设备ID功能,格式为DEV+三位数字
- 前端移除设备ID必填校验并隐藏该字段
- 更新设备导入逻辑,支持自动生成设备ID
2026-02-06 15:04:42 +08:00
zhang1106 cbbc969b64 fix(racks): 确保导入文件时临时目录存在
在文件导入路由中添加检查并创建临时目录的逻辑,防止因目录不存在导致的文件保存失败
2026-02-06 13:38:24 +08:00
zhang1106 258b7af7c8 feat(机柜管理): 实现机柜ID自动生成功能
- 修改机柜创建逻辑,当rackId为空时自动生成RACKxxx格式的ID
- 更新验证规则,rackId改为可选字段并允许空值
- 调整前端表单提示,明确机柜ID可留空自动生成
- 优化导入功能,支持自动生成机柜ID并改进验证逻辑
- 提供机柜导入模板下载功能,模板中明确ID可留空
2026-02-06 13:33:45 +08:00
zhang1106 218991c276 remove: 移除前端服务状态检测和前端服务端口配置功能 2026-02-06 10:22:21 +08:00
zhang1106 384a1a9246 fix(consumable): 修复最大库存字段逻辑并改进耗材管理
将 maxStock 字段从允许 null 改为默认 0 表示无限制
添加耗材创建时的数据验证和错误处理
优化前端耗材管理页面的表单初始化和显示逻辑
添加数据库迁移脚本处理现有数据
2026-02-05 16:26:51 +08:00
zhang1106 ebd4b5faa9 feat(用户管理): 实现用户注册审核功能
添加用户注册审核流程,包括以下变更:
- 用户注册后状态为 pending 待审核
- 管理员可批准或拒绝注册申请
- 待审核用户无法登录系统
- 用户管理页面添加审核操作和状态筛选
- 添加数据库迁移脚本支持 pending 状态
- 更新前后端相关接口和页面逻辑
2026-02-05 15:12:31 +08:00
zhang1106 1438909d62 feat(deploy): 添加一键部署和更新脚本
添加交互式安装脚本 install.js 和一键更新脚本 update.js
更新部署文档和 README 以支持新功能
优化数据库初始化流程和系统设置默认值
2026-02-05 12:35:50 +08:00
zhang1106 a4206ac474 fix: 更新数据库初始化脚本,支持更新现有设置的描述字段 2026-02-05 11:19:26 +08:00
zhang1106 50fff30aeb fix: 添加数据库初始化脚本,导出initDefaultSettings函数 2026-02-05 11:15:42 +08:00
zhang1106 bfc5b75b1a fix: 优化生产环境前端端口显示逻辑
- 检测是否为生产环境(通过检查dist目录)
- 生产环境显示Nginx配置提示,不自动重启
- 开发环境保持自动重启功能
- 区分显示生产环境和开发环境状态
2026-02-05 11:00:42 +08:00
zhang1106 d398673f74 feat: 添加系统设置中修改前端端口并自动重启功能
- 后端:添加 frontend_port 配置项和重启API
- 前端:添加端口设置表单和自动重启交互
- 添加前端服务管理脚本支持启动/停止/重启
- 优化重启流程,避免Network Error提示
2026-02-05 10:32:10 +08:00
zhang1106 8ac528356e feat(设备字段): 添加系统字段保护机制
为设备字段添加isSystem属性标记系统字段,防止误删核心字段
后端添加字段删除前的系统字段检查
前端在管理界面标记并禁用系统字段的删除操作
更新导入模板生成逻辑以适配动态字段配置
优化设备导入功能,支持字段名称变更
2026-02-04 17:10:58 +08:00
zhang1106 bc2f17890d feat: 端口管理页面添加网卡功能和服务器背板可视化
- 在端口管理页面添加网卡管理功能,与3D可视化页面同步
- 新增 ServerBackplanePanel 组件,按真实服务器背板布局展示网卡和端口
- 支持板载网卡、管理口、PCIe扩展插槽的可视化展示
- 添加网卡-端口层级展示,点击网卡可查看端口详情
- 更新 VirtualDeviceList 组件,集成服务器背板视图
2026-01-30 17:53:05 +08:00
zhang1106 5e3ac98bac feat: 添加耗材操作日志修改记录功能; feat: 最大库存支持无限制选项; fix: 修复Ant Design Card组件bodyStyle废弃警告和字体预加载警告 2026-01-30 14:01:23 +08:00
zhang1106 94effd3436 feat: 添加耗材管理乐观锁机制
- 在 Consumable 模型中添加 version 字段用于乐观锁控制
- 为 quick-inout、inout、adjust 接口添加乐观锁和重试机制
- 修复 adjust/set 类型的负数库存校验
- 添加数据库迁移脚本支持 SQLite 和 MySQL
- 防止并发操作导致的负库存问题

技术细节:
- 使用 version 字段实现乐观锁,更新时校验版本号
- 并发冲突时自动重试(最多3次)
- 409 状态码表示并发冲突,400 表示库存不足
2026-01-29 18:05:22 +08:00
zhang1106 9e6a3da888 feat: 添加请求参数验证中间件和设计令牌Hook
feat(validation): 为机房、机柜和设备路由添加Joi验证中间件

feat(hooks): 创建useDesignTokens Hook集中管理主题配置

feat(models): 为耗材模型添加乐观锁version字段和updatedAt索引

feat(3d): 增强3D场景和设备模型视觉效果与交互

refactor: 移除数据备份相关功能并优化代码结构

fix: 修复前端安全日志和密码加密工具

chore: 更新依赖并添加axios和joi库

docs: 更新注释和文档说明

style: 改进代码格式和命名一致性
2026-01-29 16:53:29 +08:00
zhang1106 a0ad9ad604 feat: 优化3D可视化性能并更新文档
- 实现3D可视化性能优化(降低DPR、阴影贴图、简化光源)
- 实现LOD多级细节系统,根据相机距离自动切换
- 添加设备弹出动画开关,默认关闭
- 修复设备缩放时位置偏移问题
- 更新README添加项目截图占位符
- 精简DEPLOYMENT.md文档,添加Gitee仓库支持
- 更新CHANGELOG.md记录v1.1.0版本
2026-01-26 17:21:20 +08:00
zhang1106 8099edc5e5 feat: 新增网卡、端口和接线管理功能
- 添加网卡(NetworkCard)模型及相关路由
- 实现端口(DevicePort)管理功能
- 新增接线(Cable)管理功能
- 添加前端网卡和端口管理界面
- 更新机柜可视化页面显示接线
- 添加设备详情抽屉展示端口和接线信息
- 更新部署文档包含数据库迁移指南
- 添加批量创建端口功能
- 设备删除时自动清理相关接线
2026-01-23 08:55:16 +08:00
zhang1106 de49c5ff52 feat(auth): 添加账户解锁功能
在登录页面增加账户解锁功能,当账户被锁定后可以通过输入正确凭证解锁
后端添加/auth/unlock接口处理解锁逻辑
前端添加解锁表单和状态切换
更新API文档和CHANGELOG记录新功能
2026-01-21 15:21:46 +08:00
zhang1106 7f000a8ee2 feat(用户管理): 添加用户锁定/解锁功能
- 新增 unlock_user.js 脚本用于解锁被锁定的用户
- 在用户管理页面添加锁定/解锁操作按钮
- 移除不再使用的 compression 依赖
- 添加 winston 日志库用于后续日志记录
2026-01-21 12:20:51 +08:00
zhang1106 dfd3d67ca0 feat(系统配置): 实现全局配置管理功能
- 新增ConfigContext提供全局配置状态管理
- 重构系统设置页面,移除语言和深色模式选项
- 优化备份功能,支持自定义备份路径
- 应用主题颜色动态更新功能
- 添加配置变更自动重载机制
2026-01-21 10:40:30 +08:00
zhang1106 2af47ee162 refactor: 移除登录历史和操作日志功能及相关代码
移除后端登录历史和操作日志的模型、路由及前端相关页面和路由配置
清理创建和删除索引脚本中的相关代码
调整系统管理菜单结构
2026-01-20 16:54:26 +08:00
zhang1106 ea1a855112 feat: 使用concurrently实现跨平台同时启动前后端
refactor(models): 优化模型初始化逻辑避免重复同步
refactor(OperationLog): 将createdAt索引改为operateTime
docs: 添加一次性启动解决方案文档
2026-01-20 15:19:09 +08:00
zhang1106 a2f0032bad feat: 添加数据库索引优化查询性能
refactor(前端): 使用useMemo和useCallback优化性能
perf(后端): 优化统计查询性能
style: 统一前端样式定义
build: 添加创建索引脚本
2026-01-20 14:31:20 +08:00
zhang1106 25c1f5f905 fix(设备管理): 改进设备导入的错误处理和验证逻辑
- 前端优化错误消息展示,区分500错误和其他错误情况
- 后端增加设备类型验证、设备ID唯一性检查和机柜ID非空验证
- 改进Sequelize错误处理,提供更友好的错误消息
- 统一前后端错误响应格式
2025-12-30 14:01:16 +08:00
zhang1106 4006453bd4 refactor(models): 移除initializeModels中的initAssociations调用
将initAssociations从initializeModels中移出,由外部模块显式调用以提供更好的控制
2025-12-30 13:43:34 +08:00
zhang1106 ca381724b5 refactor(数据库): 优化模型关联初始化并移除外键检查
移除手动设置 FOREIGN_KEY_CHECKS 的冗余代码,改为在关联定义中直接设置 constraints: false
简化初始化流程,保持功能一致但代码更清晰
2025-12-30 13:40:44 +08:00
zhang1106 f09f90976d fix(数据库): 在模型初始化时处理外键约束
在同步数据库模型时临时禁用外键检查,避免因外键约束导致同步失败
2025-12-30 13:34:15 +08:00
zhang1106 9b72289a2f refactor(devices): 动态验证必填字段配置
将硬编码的必填字段验证改为从数据库配置动态获取,提高灵活性和可维护性
2025-12-30 11:18:55 +08:00
zhang1106 b2a5a30174 refactor(设备管理): 移除批量移动和批量下线功能
前端移除批量移动和批量下线相关UI组件和逻辑
后端优化批量移动和批量状态变更接口实现
2025-12-30 10:46:21 +08:00