From 7f847b92110eb8856f7bcfde98792a0f61293da6 Mon Sep 17 00:00:00 2001 From: Victor_Jay Date: Mon, 22 Jun 2026 14:01:44 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E9=87=8D=E6=9E=84=20TODO.md=20?= =?UTF-8?q?=E4=B8=BA=E6=80=BB=E5=BE=85=E5=8A=9E=E6=B8=85=E5=8D=95=EF=BC=8C?= =?UTF-8?q?=E6=95=B4=E5=90=88=E5=85=A8=E9=83=A8=E5=AE=A1=E8=AE=A1=E6=8A=A5?= =?UTF-8?q?=E5=91=8A=E9=81=97=E7=95=99=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 分类:Bugs(5) / 代码规范(9) / 性能(7) / 基础设施(3) / 暂缓(6) Phase 1-5 折叠为摘要,审计修复 20 项归档 --- _Design/TODO.md | 118 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 _Design/TODO.md diff --git a/_Design/TODO.md b/_Design/TODO.md new file mode 100644 index 0000000..2fa5683 --- /dev/null +++ b/_Design/TODO.md @@ -0,0 +1,118 @@ +# MetaLab RC 总待办 + +> 最后更新:2026-06-22 | 参考:`_Design/` 下各审计报告 +> +> 符号:✅ 已完成 | 🔧 进行中 | ⬜ 未开始 | 🚫 暂缓 + +--- + +## Phase 1-5:核心功能 ✅ 全部完成 + +
+Phase 1 (Bug修复+品牌CMS) / Phase 2 (公告) / Phase 3 (文章属性) / Phase 4 (分类+标签) / Phase 5 (定时发布) + +✅ 5/5 Bugs · ✅ 品牌CMS配置化 · ✅ 公告系统 · ✅ 文章属性(7种) · ✅ 分类两级树 · ✅ 标签系统 · ✅ 定时发布 +
+ +--- + +## 🔴 Bugs(5 项) + +> 来源:`TEMPLATE_AUDIT_REPORT.md` + +| # | 严重度 | 问题 | 位置 | +|---|--------|------|------| +| B1 | 高 | `/login` → `/auth/login` 6 处路径错误 | `posts/show.html` | +| B2 | 高 | `selectMention` 闭包 Bug(`var` 无块作用域) | `posts/show.html:937` | +| B3 | 中 | admin `energy.js` escapeHtml 缺单引号转义 | `admin/static/js/energy.js:195` | +| B4 | 中 | messages "系统消息"标题不跟随 Tab | `messages/index.html:41` | +| B5 | 中 | `/space` stat-value 始终为 0 | `space_controller.go` | + +--- + +## 🟡 代码规范(9 项) + +> 来源:`AUDIT_REPORT.md` + `post-system-audit.md` + +| # | 问题 | 位置 | +|---|------|------| +| C1 | 文件行数超标(16 个文件 > 上限) | controller/service/repository | +| C2 | Controller 权限检查重复 6 处 | `post_controller.go` | +| C3 | Model 层职责过重(DTO/权限逻辑混入) | `model/post.go` | +| C4 | Repository `FindPageable`/`FindAdminPageable` 70% 重复 | `post_repo.go` | +| C5 | Service `List`/`ListAdmin` 重复 | `post_service.go` | +| C6 | Controller 分页重复初始化 | `post_controller.go` | +| C7 | Admin Restore 缺少 `ErrPostNotFound` 错误分类 | `admin_post_controller.go` | +| C8 | Role 缺少类型安全(`string` → `type Role string`) | `model/user.go` | +| C9 | CSRF 中间件重复封装(3 处相同 4 行) | `router/` | + +--- + +## 🔵 性能(7 项) + +> 来源:`AUDIT_REPORT.md` + +| # | 影响 | 问题 | 位置 | +|---|------|------|------| +| P1 | 中 | 首页无缓存,每次请求查 DB | `frontend.go` | +| P2 | 中 | `LIKE '%keyword%'` 无法用索引 | `comment_repo.go:204` | +| P3 | 中 | Post 表缺少 `(user_id, status)` 复合索引 | `model/post.go` | +| P4 | 低 | 图片上传 `io.ReadAll` + `image.Decode` 双倍内存 | `post_upload_controller.go` | +| P5 | 低 | 启动时同步计算全部静态资源哈希 | `helper.go` | +| P6 | 低 | Session Cookie 每次请求查签到表 | `auth.go` | +| P7 | 低 | 评论子查询 `IN (SELECT ...)` 可改为 JOIN | `comment_repo.go` | + +--- + +## ⚪ 工程基础设施(3 项) + +> 来源:`audit-report-2025-05-31.md` 暂缓项 + +| # | 问题 | +|---|------| +| E1 | 零测试覆盖(`*_test.go`: 0 个文件) | +| E2 | 无结构化日志(全项目 `log.Printf`) | +| E3 | Repository 层错误上下文丢失(`return err` 无包装) | + +--- + +## ⬜ Phase 6 / 配置 / 未来迭代 + +| # | 项目 | 状态 | +|---|------|------| +| F1 | P2: `config.SiteSettings` 持有 `*gorm.DB` | ⬜ | +| F2 | 集成测试 | 🚫 暂缓 | +| F3 | `git tag v0.1.0-rc1` | 🚫 暂缓 | +| F4 | 黑名单系统 | 🚫 暂缓 | +| F5 | 首页推荐算法 | 🚫 暂缓 | +| F6 | 模板审计全量修复(30+ 个模板) | 🚫 暂缓 | + +--- + +## ✅ 审计修复记录(已完成 20 项) + +> 2026-06-22 执行,来源:`_Design/TODO.md` + `AUDIT_REPORT.md` + `cleanup-todo.md` + +| 类别 | 项目 | +|------|------| +| 安全 | CSP nonce替代unsafe-inline · HSTS始终启用 · 密码四级强度 · 注册限流 · CSRF日志仅记长度 | +| 架构 | router/api.go 按域拆为 7 文件 · 管理后台设置拆为 4 子页 · 用户设置拆为 6 模板+JS · DB健康降级 · 时区配置 | +| 规范 | Controller Exp 用 GetGinExp 包装 · UID 用 ParseUIDParam 统一 · BaseModel 统一嵌入 · primaryKey→primarykey · 16 包注释 · error小写 · errors.Is · gofumpt全量 | +| 性能 | trends 用 errgroup 并行 · GetOverview 单次 GROUP BY | +| 合规 | Footer 8 字段 + safeHTML 模板函数 · 注册准则三层控制 | +| CI | `.gitea/workflows/ci.yml` strict模式 · CI 零告警 | + +--- + +## 进度总览 + +``` +Bugs ░░░░░░░░░░░░░░░░░░░░░░░░ 0/5 0% +代码规范 ░░░░░░░░░░░░░░░░░░░░░░░░ 0/9 0% +性能 ░░░░░░░░░░░░░░░░░░░░░░░░ 0/7 0% +工程基础设施 ░░░░░░░░░░░░░░░░░░░░░░░░ 0/3 0% +──────────────────────────────── +待办总计 ░░░░░░░░░░░░░░░░░░░░░░░░ 0/24 0% +``` + +> 已完成项:RC Phase 1-5 · 审计修复 20 项 · CI 接入 · 文档更新