diff --git a/docs/dev-log.md b/docs/dev-log.md index 83a81fb..b022e22 100644 --- a/docs/dev-log.md +++ b/docs/dev-log.md @@ -1062,3 +1062,28 @@ cd ~/devops/aiops - **下一步建议**: - 后端仍超400行: sql_audit.go(435,菜单已移除的死代码后端,保留)、approval.go(435,资源申请核心模块,可拆分 templates/processes) - 前端 sidebar.tsx(689行) 接近上限可提取 context/variants;ServerManager.tsx(681)、AgentMonitor.tsx(671) 接近700行限制可提取子组件 + +## 2026-06-16 自动推进 + +- **任务**: ServerManager.tsx 死按钮清理 + CSV导出实现 + 统计卡片组件提取(含上一session遗留提交) +- **修改**: + - `frontend/src/components/server/ServerManager.tsx` — 681→640行:① 提取4个统计卡片到ServerStatsCards子组件(净减41行) ② 实现"导出"按钮CSV导出功能(客户端Blob下载,UTF-8 BOM,支持中文) ③ 移除3个死按钮:工具栏"批量命令"(无onClick)、工具栏"重启"(无onClick)、操作下拉"重启"(无onClick) ④ 清理unused import(Server/Activity/Power/RotateCw) + - `frontend/src/components/server/ServerStatsCards.tsx` — **新建**(70行):4个统计卡片(总数/运行中/维护中/已停止),从ServerManager提取,props接收servers数组 + - `backend/internal/api/handlers/approval.go` — 拆分:ListProcesses/GetProcess/CreateProcess/ApproveProcess/RejectProcess 迁移到 approval_process.go(187行) + - `backend/internal/api/handlers/approval_process.go` — **新建**(187行):审批流程域5个handler + - `backend/internal/api/handlers/navigation.go` — 拆分:Link CRUD 迁移到 navigation_link.go(259行) + - `backend/internal/api/handlers/navigation_link.go` — **新建**(259行):导航链接域CRUD + - `frontend/src/components/deploy/AppRelease.tsx` — 修复2个死按钮:失败发布"重试"按钮绑定deployRelease API+toast反馈;Dialog"重新部署"按钮绑定deployRelease API+submitting状态 + - 6个前端组件 DialogDescription 补全(AgentMonitor/SQLAuditManager/PlatformManager/RegionManager/AlertCenterDetail/TraceManager):消除 Radix Dialog aria 警告 +- **结果**: + - `go build -o aiops-server ./cmd/` 编译通过 ✅ + - `npx tsc --noEmit` 零错误 ✅ + - `npm run build` 通过(3.13s) ✅ + - `./run.sh restart` 后 /health 正常 + 前端 200 ✅ + - 浏览器验证:服务器管理页4个统计卡片正常渲染(20/7/9/4),导出按钮可点击,页面无"重启"死按钮 ✅ + - `document.body.innerText.includes('重启')` → false 确认死按钮已清除 ✅ + - git push 成功 (commit be529c8) +- **下一步建议**: + - 前端 AgentMonitor.tsx(672行)、AIPredictiveAnalytics.tsx(670行)、ApprovalFlow.tsx(666行) 接近700行限制可提取子组件 + - 后端 sql_audit.go(435行) 超限但属已移除菜单死代码后端(保留不拆) + - 服务器标签显示JSON对象未解析(getTags对JSON对象类型返回原始字符串),可优化显示为key:value格式