Files
soul-yongping/开发文档/6、后端/后端开发规范.md
2026-02-09 15:09:29 +08:00

55 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 后端开发规范 (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 展示调用关系或数据流。