Files
tokens-reef/docs/reviews/2026-04-20-code-review-task-list.md
pham ed642e8769
Some checks failed
CI / test (push) Has been cancelled
CI / golangci-lint (push) Has been cancelled
Security Scan / backend-security (push) Has been cancelled
Security Scan / frontend-security (push) Has been cancelled
fix logger and redeem admin review findings
2026-04-20 11:24:36 +08:00

4.4 KiB
Raw Blame History

2026-04-20 Code Review Task List

P0

  • 修复 Windows 下 logger.Sync()stdout/stderr pipe 的阻塞问题
  • internal/pkg/logger 补充 Windows 兼容回归测试,确保 go test ./... 可稳定通过
  • 重新执行后端全量测试,确认 internal/pkg/logger 修复后无新增失败

P1

  • 修复管理端“删除全部未使用兑换码”只处理前 1000 条的问题

  • 明确该功能应采用分页循环删除、后端专用批量接口,还是服务端单点清理命令

  • 为该流程补充前端测试,覆盖“超过 1000 条未使用兑换码”场景

  • 修复 GenerateRedeemCodes 的非事务性问题

  • 明确幂等语义: 部分成功后应回滚、应返回已生成结果,还是应禁止重放生成

  • 为兑换码生成补充失败注入测试,覆盖“部分创建成功 + 重试”路径

  • 调整 BatchDeleteRedeemCodes 返回语义

  • 明确接口是否应该失败即整体失败,或返回 deleted / failed_ids / errors

  • 同步更新 handler、前端提示文案和现有测试断言

P2

  • 修复前端 typecheck 失败

  • 处理 SoraAdminView.vue 中无效的 Icon 名称,或将停用页面排除出编译链

  • 修复前端 lint:check 失败

  • 处理 AppSidebar.spec.ts 中的 no-regex-spaces 问题

  • 清理当前 lint warning避免门禁长期失真

P3

  • 盘点仍保留 mock 返回的管理接口
  • 对每个接口确定策略: 实现、废弃、隐藏入口,或从路由移除
  • 为仍需保留的接口补充契约测试,避免占位实现长期留在主分支
  1. 先修复 internal/pkg/logger,恢复后端全量测试可信度
  2. 再修复兑换码两个批量操作问题,避免管理端误操作
  3. 然后恢复前端 typechecklint
  4. 最后清理低优先级占位接口

Assignable Work Packages

Backend

  • BE-LOGGER-001 目标: 修复 Windows 下 logger.Sync() 对 pipe stdout/stderr 的阻塞 交付物: logger.go 修复、回归测试、go test ./internal/pkg/logger 通过 验收标准: TestInit_DualOutputTestInit_CallerShouldPointToCallsite 不再超时

  • BE-REDEEM-001 目标: 将兑换码生成从“逐条创建 + 部分成功可重试”改为可证明安全的语义 交付物: 服务层实现调整、失败注入测试、幂等路径验证 验收标准: 不存在“部分成功后同 key 重试超量生成”的路径

  • BE-REDEEM-002 目标: 重构批量删除返回语义,明确成功、失败和跳过项 交付物: 服务层返回结构、handler 响应调整、测试同步 验收标准: 部分失败时 API 不再伪装为“完全成功”

Frontend

  • FE-REDEEM-001 目标: 修复“删除全部未使用兑换码”只删前 1000 条的问题 交付物: RedeemView.vue 实现调整、视图测试 验收标准: 超过 1000 条未使用兑换码时仍能完整删除或明确失败

  • FE-REDEEM-002 目标: 对齐新的批量删除 API 语义和用户提示 交付物: API 类型、页面提示、异常和部分成功文案 验收标准: 用户能看到准确的删除结果

  • FE-QUALITY-001 目标: 恢复 typecheck 交付物: 修复无效 Icon 名称或将停用页移出编译链 验收标准: npm run typecheck 通过

  • FE-QUALITY-002 目标: 恢复 lint:check 交付物: 修复 AppSidebar.spec.ts 正则问题并清理 warning 验收标准: npm run lint:check 通过

Testing

  • TEST-BE-001 目标: 为 logger Windows 行为建立稳定回归测试 交付物: 针对 Sync()、stdout/stderr pipe、caller 输出的测试 验收标准: 可在 Windows 环境稳定执行,不依赖 10 分钟超时

  • TEST-BE-002 目标: 为兑换码批量生成/删除建立失败路径覆盖 交付物: 服务层和 handler 层测试 验收标准: 覆盖部分成功、失败回滚、结果透出

  • TEST-FE-001 目标: 为 RedeemView 补足批量删除流程测试 交付物: 视图级测试,覆盖分页循环和部分失败提示 验收标准: 批量删除流程不再依赖人工回归

  • TEST-FULL-001 目标: 恢复全链路质量门禁 交付物: 后端 go test ./...、前端 npm run test:runnpm run typechecknpm run lint:check 验收标准: 四项全部通过