2.3 KiB
2.3 KiB
tags, aliases, date created, date modified
| tags | aliases | date created | date modified | |
|---|---|---|---|---|
|
星期三, 十二月 10日 2025, 11:15:25 上午 | 星期三, 十二月 10日 2025, 11:41:27 中午 |
📋 Phase 0: 基础设施构建执行清单 (Execution Checklist)
-
Step 1:
internal/pkg/ecode/code.go- 定义错误码注册表- 核心职责: 仅定义
int类型的const常量。包括基础设施类(10000+)和业务类(20000+)错误码。 - 依赖: 无 (Root Node)。
- 注意: 需严格遵循文档中的“五位数字”分段规则。
- 核心职责: 仅定义
-
Step 2:
internal/pkg/ecode/msg.go- 定义错误文案映射- 核心职责: 初始化全局
map[int]string,提供GetMsg(code)方法。 - 依赖: Step 1 (
code.go中的常量)。 - 注意: 使用
sync.RWMutex保护并发读写(虽然主要是读),文案必须是“用户安全”的。
- 核心职责: 初始化全局
-
Step 3:
internal/pkg/ecode/error.go- 实现核心错误实体- 核心职责: 定义
struct Error,实现error接口,提供New(),Error(),Code()等方法。支持WithDetails等动态扩展。 - 依赖: Step 1 & Step 2。
- 注意: 这是 Service 层唯一允许引用的错误对象。
- 核心职责: 定义
-
Step 4:
internal/pkg/app/options.go- 定义响应配置模式- 核心职责: 定义
type Option func(*Response)及常用的 Option 实现(如WithTraceID)。 - 依赖: 无(或仅依赖标准库)。
- 注意: 先于
response.go实现,以便主逻辑直接使用配置项,符合“开闭原则”。
- 核心职责: 定义
-
Step 5:
internal/pkg/app/response.go- 实现 HTTP 响应封装- 核心职责: 定义
Response结构体,封装New,Success,Error方法。处理 JSON 序列化、TraceID 注入、以及将error接口清洗为ecode的逻辑。 - 依赖: Step 3 (
ecode), Step 4 (options),Gin Context。 - 注意: 需实现“双层信息架构”:日志记录原始错误,HTTP Body 返回安全文案。
- 核心职责: 定义
-
Step 6: internal/pkg/app/responder.go - 定义 Responder 接口
- 核心职责: 定义
Responder接口,解耦具体实现,方便未来 Mock 测试。 - 依赖:
app/response.go(实现关系)。
- 核心职责: 定义