Files
soul-yongping/开发文档/6、后端/后端开发规范.md

55 lines
2.5 KiB
Markdown
Raw Normal View History

2026-02-09 15:09:29 +08:00
# 后端开发规范 (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
**任务**
1. **代码实现**:新增或修改 handler/model/router路径与现网一致请求/响应字段 camelCase。
2. **模型定义**GORM 的 `gorm` 标签用 snake_case`json` 标签用 camelCase。
3. **逻辑图解**:复杂流程可用 Mermaid 展示调用关系或数据流。