5.1 KiB
5.1 KiB
变更日志
2026-05-07
- [新增] 导出功能区分"导出选中"和"导出全部"两种模式,有选中时工具栏显示两个按钮独立操作
- [新增] 角色权限系统完整改造,支持新建角色、编辑角色权限(10 个细粒度权限复选框)
- [新增] 用户管理页角色下拉从 API 动态获取,不再硬编码
- [优化] 设备详情页空字段区块自动隐藏(如无数据盘 2 则不显示该卡片)
- [优化] 导出权限拆分为
assets:export:selected(导出选中)和assets:export:all(导出全部),按钮显隐由权限驱动 - [优化] 内置角色权限自动同步到最新默认值,自定义角色旧权限自动迁移
- [修复] 资产列表 API 和导出 API 的 filter 参数增加字段白名单校验
- [修复] 导出文件名日期改用本地时间,避免 UTC+8 时区偏移
2026-04-30
- [新增] 创建 README 文档
2026-04-29
- [新增] 设备管理列表支持鼠标拖拽自定义列宽(首次拖拽自动快照列宽,最小 60px,支持自动换行)
- [优化] 设备状态下拉框改为「腾讯使用/图灵使用/闲置」默认选项,支持自定义新增状态
- [优化] 数据库 106 台设备状态从「在用」迁移为「腾讯使用」
- [修复] 设备详情页/列表页「腾讯使用」状态徽章颜色显示为灰色的问题
- [优化] 列头居中显示,排序/筛选模式切换按钮与排序图标左右对称布局
- [修复] 表头
overflow-hidden导致筛选下拉框被裁切的问题 - [优化] 筛选弹框宽度改为自适应(
w-fit min-w-48 max-w-80) - [优化] 排序/筛选图标改为可点击,直接点击图标即可触发排序或筛选
- [修复] 列头排序图标使用
<button>嵌套在列名<button>内导致 HTML 非法嵌套错误,改为<span>
2026-04-28
- [部署] 生产环境 txjp 服务器更新
break-all序列号换行修复,验证通过 - [修复] 资产详情页序列号等长字符串不会自动换行,给 Field 组件值列添加
break-all样式 - [调整] 工单接口
Ticket类型移除ticket_no字段,同步 issue-ai 工单号改造 - [修复] 生产环境设备详情页「故障历史」中工单链接和"查看全部工单记录"按钮错误使用 localhost:5176
- [修复]
AssetTicketHistory.tsx中ISSUE_URLfallback 值从localhost:5176/tickets改为https://issue.tlyq.ai/tickets - [修复] 未登录时从 issue-ai 工单详情点击业务 IP → assets-ai 登录后错误跳转仪表盘。根因:跨端口 cookie 泄露(同 localhost 的不同端口共享 session cookie),issue-ai JWT payload 用
id字段而 assets-ai 用userId,middleware 放行后 layout.tsx 的redirect('/login')丢失了 redirect 参数middleware.ts:增加 JWT payloaduserId检查,无效 cookie 清除后重定向(携带 redirect 参数)layout.tsx:从x-original-pathnameheader 读取原路径,redirect('/login')时携带 redirect 参数
- [修复] 资产详情页「故障历史」显示"会话已过期"。根因:
issue-client.ts缺少 API Key 只能转发 cookie,issue-ai 侧 JWT 格式不兼容- 配置本地测试环境 API Key 双向认证(
ISSUE_API_KEY+ALLOWED_API_KEYS) issue-client.ts:fallback 默认值从127.0.0.1改为localhost
- 配置本地测试环境 API Key 双向认证(
- [文档] 更新
CLAUDE.md:补充 API Key 双向认证说明和本地.env.local配置示例 - [修复] 同一浏览器同时登录两个系统,任一退出后另一个也被退出。根因:两个系统共用
sessioncookie 名且同localhost域- cookie 名改为
session_assets(assets-ai)和session_issue(issue-ai),互不干扰 - 云端部署无需额外操作(域名不同天然隔离,但改名保持一致),用户重新登录即可
- cookie 名改为
2026-04-27
- [新增] 资产核心 API(CRUD + 分页 + 搜索 + 高级筛选)
- [新增] 资产列表页面(
/assets),支持多选、筛选、排序 - [新增] 设备详情页面(
/assets/[id]),全硬件配置分区卡片展示 - [新增] 新增/编辑设备页面
- [新增] 批量编辑页面(
/assets/batch-edit),安全限制仅允许部分字段 - [新增] Excel 模板导入(
/assets/import),按 SN 匹配新增/更新 - [新增] 设备导入脚本(
import-servers.ts) - [新增] 仪表盘统计数据(
/api/stats):总数/状态/类型/厂商/机房/保修预警 - [新增] 调用 issue.tlyq.ai API 获取设备历史工单,资产详情页展示历史工单卡片
2026-04-25
- [新增] 仪表盘页面(
/dashboard),资产概览图表
2026-04-24
- [新增] 项目初始化,基于 Next.js 15.1 + SQLite(standalone 输出模式)
- [新增] 认证系统(JWT 自实现 + API Key 双模式)
- [新增] 用户管理(
/settings/users)和角色权限系统(admin/editor/viewer) - [新增] API Key 管理页面(
/settings/api-keys),支持创建/删除 Key(SHA-256 存储) - [新增] 数据库初始化脚本(init-db.ts),预置角色和默认管理员账号
- [新增] Excel 导入模板(
服务器信息-issue.xlsx) - [新增] Docker 部署配置(两阶段 alpine 构建)