zhang1106
|
a29e77156e
|
fix(device): 修复添加设备时设备类型/状态下拉框为空
前端:DeviceManagement.jsx 中补充 options 的判断条件
- 原条件 !field.options 对空数组 [] 判定为 false,导致
数据库里 options 被清空时下拉框没有选项
- 改为同时检查 null/undefined 和空数组,确保本地默认值
能正确兜底(type、status 字段同步修复)
后端:initDeviceFields.js 加固系统字段 options 兜底逻辑
- 系统字段(isSystem: true)的 options 永远不应为空
- 启动时如果检测到系统字段 options 为空,强制重置为默认
值,这样即使前端修复后 options 仍为空,后端重启时也能自愈
- 仅作用于系统字段,不影响用户自定义字段
|
2026-06-11 11:26:31 +08:00 |
|
root
|
e7a0cbb9d1
|
修复盘点失败和机柜统计不准确的问题
|
2026-06-09 16:02:09 +08:00 |
|
zhang1106
|
012a51f917
|
style(rack): 移除冗余的进度条状态判断逻辑
|
2026-05-15 15:25:29 +08:00 |
|
zhang1106
|
9a2d1a9b1e
|
feat(rack): 机柜卡片和列表新增使用率进度展示
|
2026-05-15 14:52:05 +08:00 |
|
zhang1106
|
53d6ce60bf
|
fix(secureStorage):
- 精简README.md文档内容
|
2026-05-13 16:04:02 +08:00 |
|
zhang1106
|
63de61bf7a
|
feat(login): 优化首次用户注册流程和表单处理
- 修复首次用户注册成功后未正确设置 isFirstUser 状态的问题
- 调整表单 name 和 onFinish 逻辑以区分首次用户注册和普通注册
- 更新按钮文本以明确不同场景下的操作
refactor(uninstall): 增强卸载脚本功能性和健壮性
- 新增 --dry-run 预览模式和 --skip-uploads 选项
- 改进 PM2 服务检测和清理逻辑
- 优化数据库配置读取和文件路径处理
- 增加更多清理项(Vite 缓存、临时文件等)
- 完善错误处理和用户提示信息
|
2026-05-09 12:46:46 +08:00 |
|
派大星
|
f5a305130a
|
Revert "fix(auth): 优化首次用户设置流程和注册表单逻辑"
This reverts commit 6f2271351d.
|
2026-05-09 00:56:59 +00:00 |
|
zhang1106
|
6f2271351d
|
fix(auth): 优化首次用户设置流程和注册表单逻辑
- 新增isSetupMode状态区分首次用户设置模式
- 调整表单提交逻辑和提示信息显示
- 修复首次用户设置后状态未更新的问题
- 优化表单字段显示条件和标签文案
|
2026-05-08 17:09:10 +08:00 |
|
zhang1106
|
a5505207bc
|
refactor(floorplan): 优化机房平面图交互与代码结构
- 重构设备悬停提示逻辑,使用画布坐标替代DOM坐标
- 提取缩放控制逻辑到独立回调函数
- 移除未使用的组件和引用
- 改进全屏切换实现方式
- 添加平面图导出功能
|
2026-05-08 13:07:27 +08:00 |
|
zhang1106
|
2826a00192
|
refactor(frontend): 重构状态管理使用Zustand替代Context API
feat(auth): 添加账户锁定功能及自动解锁机制
feat(user): 在用户模型中添加lockedUntil字段
feat(api): 实现账户锁定逻辑和剩余尝试次数提示
perf(3d): 优化3D场景状态管理性能
perf(floorplan): 优化平面图状态管理性能
chore(deps): 添加zustand依赖
chore(config): 更新安全配置锁定时间为3分钟
docs: 更新部分组件注释
style: 调整登录页面样式
|
2026-05-08 11:17:29 +08:00 |
|
zhang1106
|
54b0a8e7bb
|
refactor(floorplan): 重构平面图组件与样式
- 移除未使用的编辑模式、热力图、搜索等功能
- 将样式代码抽离到独立样式文件
- 优化工具栏和缩放控制组件实现
- 添加导出图片功能
- 简化上下文状态管理
- 优化设备提示框和空状态显示
|
2026-05-07 15:14:40 +08:00 |
|
zhang1106
|
c717ce30d6
|
fix(auth): 修复认证初始化与安全存储问题
- 添加authInitialized状态控制401跳转逻辑
- 实现安全存储的备份机制防止数据丢失
- 优化认证上下文初始化流程,添加取消处理
- 修复异步存储操作未处理Promise的问题
|
2026-05-07 09:17:50 +08:00 |
|
zhang1106
|
fa39f2855f
|
feat(机柜管理): 优化机柜导入导出功能
- 新增机柜导入预览功能,支持数据验证和错误提示
- 支持按选中机柜导出,优化导出文件名和提示信息
- 重构导入逻辑,分离Excel解析和验证逻辑
- 修复机柜关联设备查询问题,使用正确的关系别名
- 更新API文档,添加导入预览和选中导出接口说明
|
2026-05-06 15:12:57 +08:00 |
|
 gituibandtraeagent
|
a6af71ebe7
|
feat: 拉取最新仓库代码
Co-authored-by: traeagent <traeagent@users.noreply.github.com>
|
2026-05-06 02:58:20 +00:00 |
|
 gituibandtraeagent
|
cb6471b8d8
|
feat: 分析当前仓库
Co-authored-by: traeagent <traeagent@users.noreply.github.com>
|
2026-04-30 15:55:46 +00:00 |
|
 gituibandtraeagent
|
5eb1fa4a5f
|
feat: 分析当前仓库
Co-authored-by: traeagent <traeagent@users.noreply.github.com>
|
2026-04-30 15:50:48 +00:00 |
|
 gituibandtraeagent
|
4fdc6207a6
|
feat: 分析当前仓库
Co-authored-by: traeagent <traeagent@users.noreply.github.com>
|
2026-04-30 15:36:08 +00:00 |
|
zhang1106
|
dc8dc3083f
|
fix(floorplan): 修复设备在机架中渲染位置的计算错误
|
2026-04-30 17:00:25 +08:00 |
|
zhang1106
|
4a3fbde5e3
|
chore: 更新项目版本号至2.0.0
|
2026-04-30 16:28:04 +08:00 |
|
zhang1106
|
979c28fdcd
|
feat(floorplan): 新增机房平面图功能模块
refactor(models): 为Room和Rack模型添加布局相关字段
feat(routes): 实现机房平面图相关API接口
feat(components): 添加平面图编辑器、画布渲染及交互组件
feat(hooks): 实现平面图数据管理和状态管理
feat(pages): 新增机房平面图页面入口
style(components): 优化平面图组件样式和交互体验
|
2026-04-30 16:26:39 +08:00 |
|
zhang1106
|
4ab5265882
|
fix(设备表单): 修复机柜U位计算错误并添加高度校验
修正RackManagement中剩余U位计算方式,由设备数量改为累加设备高度
在DeviceFormModal中添加设备高度超出机柜高度的校验和警告提示
|
2026-04-29 17:16:57 +08:00 |
|
zhang1106
|
bf2cd221b9
|
feat: 实现统一日志系统和维护模式功能
|
2026-04-28 10:57:17 +08:00 |
|
zhang1106
|
763e425f78
|
feat(导航): 替换数据分析为资产盘点并优化备份下载
将导航栏中的数据分析功能替换为资产盘点,并更新相关路由和描述
优化备份文件下载功能,使用blob方式下载并添加错误处理
|
2026-04-27 17:10:19 +08:00 |
|
zhang1106
|
e1367267f8
|
feat: 升级系统版本至1.2.0并优化仪表盘UI
|
2026-04-27 13:56:49 +08:00 |
|
zhang1106
|
41b8aba2c7
|
feat(设备导入): 添加模板下载功能并优化错误处理
|
2026-04-17 15:54:48 +08:00 |
|
zhang1106
|
7df6c73d7b
|
feat(耗材管理): 增强扫码入库功能并优化UI样式
添加入库原因、操作人和备注字段到扫码入库功能
重构入库/出库弹窗的UI布局和交互设计
优化扫码弹窗的视觉体验和信息展示
|
2026-04-16 16:54:10 +08:00 |
|
zhang1106
|
01a05719dc
|
feat(拓扑图): 新增网络拓扑图功能模块
|
2026-04-13 16:54:07 +08:00 |
|
zhang1106
|
dd0ce03369
|
fix(设备管理): 修复U位位置检查的数值类型问题
确保位置和高度参数被正确转换为整数类型,避免字符串比较问题
添加调试日志帮助追踪U位检查流程
|
2026-04-10 14:25:35 +08:00 |
|
zhang1106
|
f2bcda1cd4
|
fix: 将空闲设备管理中的位置字段设置为null
修复当设备从机架移除时,位置信息应清空的问题
|
2026-04-10 13:57:57 +08:00 |
|
zhang1106
|
2f00fe327c
|
fix: 修复机柜列表API路径并更新版本号
将机柜列表API路径从'/api/racks'修改为'/api/racks/all'以获取所有机柜数据
同时将package.json中的版本号从1.0.0更新为1.0
|
2026-04-10 13:48:44 +08:00 |
|
zhang1106
|
5450d5f05a
|
refactor(ConsumableManagement): 移除多余的导出菜单项
简化导出菜单,删除不常用的筛选结果和预警库存导出选项
|
2026-04-10 12:33:01 +08:00 |
|
zhang1106
|
618633bc6a
|
feat(耗材): 增强耗材日志名称同步和导入功能
|
2026-04-10 12:02:06 +08:00 |
|
zhang1106
|
9421e34147
|
feat(耗材管理): 新增创建耗材同时入库功能并优化库存编辑逻辑
添加创建耗材时同时入库的功能,包含入库数量、操作人和原因等字段
强制初始化新建耗材的库存为0和空SN列表
禁止通过编辑接口直接修改库存和SN列表
前端新增同时入库选项及相关表单字段
优化编辑模式下库存信息的展示方式
|
2026-04-09 17:11:11 +08:00 |
|
zhang1106
|
6a7e52312e
|
feat(日志): 添加删除日志记录功能
后端添加删除日志的API接口,前端在日志列表中添加删除按钮和确认弹窗
|
2026-04-09 16:27:20 +08:00 |
|
zhang1106
|
7c27e6e100
|
feat(耗材管理): 添加耗材操作记录时间线功能
新增耗材操作记录时间线组件,展示耗材的入库、出库、调整等操作历史
包含操作类型、数量变化、操作人等信息,并支持分页加载更多记录
|
2026-04-09 16:18:36 +08:00 |
|
zhang1106
|
585e044649
|
feat(consumables): 添加手动创建耗材日志功能
后端:
- 新增 POST /logs 接口用于创建耗材操作日志
- 添加操作类型验证和必填字段检查
- 支持自定义创建时间
前端:
- 添加手动创建日志弹窗和表单
- 实现表单提交和验证逻辑
- 提供操作类型选择器和库存信息输入
|
2026-04-09 15:27:48 +08:00 |
|
zhang1106
|
bfe6ca4744
|
feat(3d): 优化3D场景性能并添加纹理缓存
refactor(DeviceModel): 使用相机Z坐标阈值减少背板渲染状态更新
refactor(LODManager): 基于距离变化率优化LOD切换逻辑
feat(TextureCache): 新增纹理缓存类用于U位标签纹理管理
refactor(RackModel): 使用纹理缓存重构U位标签生成逻辑
feat(backend): 添加端口兼容性检查功能
feat(cables): 实现端口类型和速率兼容性验证API
feat(frontend): 新增设备筛选组件FilterableDeviceSelect
refactor(PortPanel): 优化端口占用状态显示和交互
feat(CableWizardModal): 集成端口兼容性检查并优化UI
|
2026-04-07 17:05:19 +08:00 |
|
zhang1106
|
4f8a44f6b5
|
feat: 添加存储调试页面并优化用户角色查询
|
2026-04-07 14:15:44 +08:00 |
|
zhang96110
|
1bda91b93e
|
fix: 修复consumableImport.js路由级authMiddleware拦截所有/api请求的问题
consumableImport.js挂载在/api根路径,使用router.use(authMiddleware)
会拦截所有/api/*请求(包括公开路由如/api/auth/login),
导致登录等公开接口返回401。
修复方案:移除router.use(authMiddleware),改为在每个具体路由上
单独添加authMiddleware中间件。
|
2026-04-02 03:35:23 +00:00 |
|
zhang96110
|
dc20bdba1f
|
fix: 修复14个中等问题(安全+稳定性)
后端安全修复:
- devices.js: page/pageSize parseInt+范围限制、CSV导入path.basename防路径遍历
- tickets.js: CSV导出收集所有metadata key、评价限制completed状态
- users.js: 重置密码加权限检查(仅管理员或本人)
- systemSettings.js: Boolean改显式判断(修复false存储为true)
- inventory.js: 空数组Array.isArray检查(修复无法清空目标机房)
- statistics.js: 在线率改用runningDevices计算
- operationLogs.js: DATE()改strftime兼容SQLite
- devicePorts.js: 端口更新白名单过滤(防修改portId/deviceId)
- server.js: 生产环境禁用sync alter
前端修复:
- api/index.js: 401优先React Router导航(保留SPA状态)
- Scene.jsx: useFrame仅target变化时更新(减少不必要矩阵计算)
- vite.config.mjs: 移除Vue插件残留(unplugin-vue-components)
|
2026-04-02 03:10:06 +00:00 |
|
zhang1106
|
7f1df28858
|
feat: 实现ID生成器并重构模型ID生成逻辑
refactor: 统一ID生成方式,使用新的idGenerator模块
refactor: 重构模型ID生成逻辑,允许空ID并在创建前自动生成
fix(roomSchema): 使机房ID字段变为可选并更新前端表单验证
style: 格式化代码并优化导入语句
test: 添加操作日志集成测试文件
docs: 添加错误处理模块文档
|
2026-04-02 10:34:13 +08:00 |
|
zhang96110
|
ea67951dd4
|
fix: 移除扫码入库下拉框的 status=active 过滤,显示全部耗材
|
2026-04-01 09:34:20 +00:00 |
|
zhang96110
|
f1aa887b6b
|
fix: 修复 fetchAllConsumablesForScan 初始化顺序导致的 ReferenceError
|
2026-04-01 09:23:05 +00:00 |
|
zhang96110
|
9d29599210
|
fix: 修复耗材扫码入库下拉框数据不全和搜索报错
- 新增 allConsumablesForScan 获取全部活跃耗材,解决下拉框只显示分页数据
- Select 改用 optionFilterProp=label 替代 option.children.toLowerCase() 修复 TypeError
|
2026-04-01 09:20:48 +00:00 |
|
zhang96110
|
00cdd481d4
|
fix: 修复设备管理页面前后端分页混合导致的数据闪烁问题
- 移除 append/loadMore 模式,改为纯后端分页
- 删除前端 slice useEffect,翻页时只调用后端请求
- 清理 loadMoreRef/hasMoreRef/deviceLoadingMore 等无用变量
- 删除 currentPageDevices state,allDevices 即当前页数据
|
2026-04-01 07:44:57 +00:00 |
|
zhang96110
|
de7da77c11
|
fix: 修复后端12个+前端5个高优先级问题
后端:
- devices.js: 修复 newRackId 重复声明、批量移动加事务、ID生成改MAX聚合
- tickets.js: 添加工单状态机校验、req.body白名单过滤
- roles.js: init-roles 添加 authMiddleware
- backup.js: 备份列表只读4KB头部,压缩文件超1MB跳过
- consumables.js: SN查询改用数据库LIKE替代全表扫描
- consumableRecords.js: 出入库加 SELECT FOR UPDATE 行级锁
- inventory.js: not_found 状态判断从 abnormal if 内移到 else if
- idleDevices.js: 删除重复的 batch-restore 路由定义(182行)
- cables.js: 接线冲突检测增加反向端口检查
前端:
- AuthContext.jsx: 初始化时调用 fetchProfile 验证token、Error提取message
- api/index.js: backupAPI.download 返回Promise、checkAdmin改POST
- Login.jsx: checkIsFirstUser 静默处理错误
- DeviceManagement.jsx: 导出 currentPage scope 使用 currentPageDevices
|
2026-04-01 07:27:19 +00:00 |
|
zhang96110
|
1d7a83bbe8
|
fix: 修复盘盈设备页面 res.data 多取一层导致 TypeError 崩溃
|
2026-04-01 06:31:56 +00:00 |
|
zhang96110
|
3ce7ea40de
|
fix: 修复加密失效、权限失效、盘点页面崩溃等问题
- secureStorage.js: 移除硬编码密钥,改为运行时动态生成密钥
- AuthContext.jsx: 修复 hasPermission() 始终返回 true 的权限失效问题
- auth.js: 登录接口返回用户角色信息,支持前端权限判断
- InventoryManagement.jsx: 修复 res.data 多取一层导致 TypeError 崩溃
|
2026-04-01 06:26:03 +00:00 |
|
zhang96110
|
fa26964cbb
|
fix(frontend): 给全局 axios 实例添加 Token 拦截器修复多页面列表加载失败
- 16 个页面文件 100+ 处直接使用 axios 而非封装的 api 实例
- 导致请求不携带 Token,后端返回 401 列表加载失败
- 给全局 axios 默认实例添加请求/响应拦截器自动附加 Token
|
2026-04-01 04:51:24 +00:00 |
|
zhang1106
|
773efdb9a4
|
feat(工单管理): 添加工单导出功能
实现工单数据的导出功能,支持CSV、JSON和Excel格式。前端添加导出模态框和选择逻辑,后端实现数据处理和文件生成。用户可选择导出选中项、当前页或全部工单。
- 前端添加TicketExportModal组件处理导出选项
- 后端添加/export接口处理不同格式的导出请求
- 支持导出工单基础信息和自定义字段
- 添加导出按钮到工单管理页面
|
2026-03-31 21:58:09 +08:00 |
|