From c1d33c1a9ce2fb6f175bc7ccc0a8ea18a47fec39 Mon Sep 17 00:00:00 2001 From: attacker Date: Sun, 14 Jun 2026 09:07:29 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E6=9B=B4=E6=96=B0=E5=BC=80=E5=8F=91?= =?UTF-8?q?=E6=97=A5=E5=BF=97=20=E2=80=94=20=E8=AE=B0=E5=BD=95=E5=9F=9F?= =?UTF-8?q?=E5=90=8D=E7=AE=A1=E7=90=86=E5=A2=9E=E5=88=A0=E6=94=B9=E6=9F=A5?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/dev-log.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/docs/dev-log.md b/docs/dev-log.md index b9ee86f..1771735 100644 --- a/docs/dev-log.md +++ b/docs/dev-log.md @@ -215,3 +215,27 @@ cd ~/devops/aiops - 仪表盘「+12.5%」等增长率标签从硬编码改为基于 month_trend 真实计算 - 域名管理编辑功能(当前仅有 GET/POST/DELETE,缺 PUT 端点,与云账号编辑同理) - 告警规则关联通知渠道 — 规则创建时可选择已配置的通知渠道 + +## 2026-06-14 09:10 自动推进 + +- **任务**: 域名管理增删改查完整实现 — 新增 PUT /domains/:id 编辑端点 + 创建/编辑弹窗 + 日期字段解析修复 +- **修改**: + - `backend/internal/api/handlers/server.go` — 新增 `updateDomainRequest` 请求结构体(日期字段用 string 接收避免 RFC3339 解析失败)+ `parseDateStr()` 工具函数(YYYY-MM-DD → *time.Time)+ `UpdateDomain` handler(查询记录→按字段更新→db.Save);重构 `CreateDomain` 改用 request struct + parseDateStr(原直接绑定 models.Domain 导致 HTML date input 的 YYYY-MM-DD 格式无法解析为 *time.Time,创建含日期的域名报 400) + - `backend/internal/api/routes/routes.go` — 注册 `PUT /domains/:id` 路由 + - `frontend/src/services/api.ts` — cloudApi 新增 `updateDomain(id, data)` 方法 + - `frontend/src/components/cloud/DomainManager.tsx` — 添加域名弹窗 + 编辑弹窗(域名/注册商/状态/到期时间/DNS服务商/解析记录数/SSL启用+到期时间);`handleOpenCreate` / `handleOpenEdit`(预填数据,日期截取 YYYY-MM-DD)/ `handleSubmit`(统一创建/编辑提交);卡片 Edit2 按钮接入编辑;移除无 handler 的 ExternalLink 按钮 +- **结果**: + - `go build ./...` 全包编译通过 ✅ + - `npx tsc --noEmit` 类型检查通过 ✅ + - `npm run build` 构建通过 ✅ + - API 验证: PUT /domains/1 → Code 200 "更新成功",registrar(aliyun→Cloudflare)、dns_provider(alidns→cloudflare)、record_count(0→12)、ssl_enabled(false→true)、expire_date(2028-03-15) 全部正确持久化 ✅ + - API 验证: POST /domains → Code 200 "创建成功",日期字段正确解析(原 bug: 直接绑定 model 导致 RFC3339 解析失败返回 400)✅ + - API 验证: DELETE /domains/5 → Code 200 "删除成功" ✅ + - 浏览器 UI 验证: 创建弹窗所有字段正常渲染(域名/注册商/状态/到期日期选择器/DNS/记录数/SSL开关+日期选择器联动禁用)✅ + - 浏览器 UI 验证: 编辑弹窗预填数据正确(ezops.local/Cloudflare/2028-03-15/cloudflare/12条/SSL已启用)✅ + - git push origin master 成功 (commit b110d38) ✅ +- **下一步建议**: + - K8s 集群拓扑图(TopologyView)前后端数据联调 + - 仪表盘「+12.5%」等增长率标签从硬编码改为基于 month_trend 真实计算 + - 告警规则关联通知渠道 — 规则创建时可选择已配置的通知渠道 + - 域名列表到期时间显示格式优化(当前显示完整 RFC3339,可截取 YYYY-MM-DD)