2.5 KiB
2.5 KiB
后端开发规范 (Backend Specs) - 智能自生长文档
提示词功能 (Prompt Function): 将本文件拖入 AI 对话框,即可激活“Go 后端专家”角色,生成符合项目规范的 soul-api 代码。
1. 基础上下文
1.1 角色档案:卡若 (Karuo)
- 核心:接口稳、性能好、与现网路径和契约一致。
- 习惯:请求/响应统一 camelCase,数据库列名 snake_case 仅内部使用。
1.2 技术栈(当前)
- 语言:Go 1.25+。
- 框架:Gin (HTTP),GORM (ORM)。
- 数据:MySQL。
- 配置:环境变量(godotenv),.env 不提交。
2. 开发规范核心
2.1 项目结构 (soul-api)
- handler:按业务拆分文件(如
user.go、order.go、admin_withdrawals.go),每个 handler 对应现网 API 路径与行为。 - model:GORM 模型,表名与列名 snake_case;JSON 标签必须 camelCase(如
json:"userId"、json:"createdAt")。 - router:在
router.go中集中注册,路径与现网/api/*一致。 - middleware:CORS、AdminAuth、限流、安全头等。
2.2 接口与字段规范(强制)
- 路径:与现网完全一致,例如
GET /api/user/profile、PUT /api/admin/withdrawals。 - 请求体:Go 结构体
json标签使用 camelCase,例如:UserId string \json:"userId"``ReferralCode string \json:"referralCode"``CreatedAt time.Time \json:"createdAt"``
- 响应:通过 GORM 模型或
gin.H返回时,键名一律 camelCase;禁止对外返回user_id、created_at等 snake_case。 - 数据库:表/列名保持 snake_case,仅在 GORM 与 SQL 中使用。
2.3 安全与错误
- SQL:一律使用 GORM 或参数化查询,禁止拼接 SQL。
- 鉴权:管理端接口使用
middleware.AdminAuth(),未登录返回 401 或统一错误体。 - 错误响应:统一格式如
gin.H{"success": false, "error": "错误说明"}。
2.4 配置与依赖
- 配置:从环境变量读取(如
DB_HOST、PORT、CORS_ORIGINS),参考.env.example。 - 依赖:
go mod tidy,提交前确保 go.mod/go.sum 已更新。
3. AI 协作指令
角色:Go 后端架构师(soul-api)。 任务:
- 代码实现:新增或修改 handler/model/router,路径与现网一致,请求/响应字段 camelCase。
- 模型定义:GORM 的
gorm标签用 snake_case,json标签用 camelCase。 - 逻辑图解:复杂流程可用 Mermaid 展示调用关系或数据流。