Files
geminiWX/BACKEND_API_DOC.md
2025-12-12 17:26:20 +08:00

107 lines
4.0 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 API Documentation)
## 1. 概述 (Overview)
本接口文档描述了系统的后端API接口主要包含 CRM小程序业务模块和 System系统管理模块。
- **基础路径 (Base URL)**: `http://localhost:8000/api` (开发环境)
- **认证方式 (Authentication)**:
- 管理后台JWT (JSON Web Token)。Header: `Authorization: Bearer <token>`
- 小程序自定义Token。Header: `Authorization: Bearer <token>` (登录后获取)
## 2. 通用响应格式 (Common Response Format)
接口通常返回 JSON 格式数据,结构如下:
```json
{
"code": 200, // 状态码200 表示成功
"msg": "success", // 提示信息
"data": { ... } // 业务数据
}
```
## 3. CRM 模块 (Mini Program & Business)
该模块主要用于微信小程序业务及后台对业务数据的管理。
路径前缀:`/api/`
### 3.1 用户认证 (Authentication)
| 接口路径 | 方法 | 描述 | 参数示例 |
| :--- | :--- | :--- | :--- |
| `/auth/login/` | POST | 小程序登录换取Token | `{ "code": "js_code" }` |
### 3.2 用户信息 (User Profile)
| 接口路径 | 方法 | 描述 | 参数/说明 |
| :--- | :--- | :--- | :--- |
| `/user/` | GET | 获取当前用户信息 | Header需带Token |
| `/user/phone/` | POST | 更新/绑定手机号 | `{ "code": "phone_code" }` |
| `/user-coupons/` | GET | 获取当前用户的优惠券 | |
| `/user-projects/` | GET | 获取当前用户的项目 | |
| `/user-honors/` | GET | 获取当前用户的荣誉 | |
### 3.3 业务资源 (Resources)
支持标准的 CRUD 操作。
| 资源名称 | 路径 | 方法 | 描述 |
| :--- | :--- | :--- | :--- |
| **项目 (Projects)** | `/projects/` | GET, POST, PUT, DELETE | 学位项目、活动等 |
| **分类 (Categories)** | `/categories/` | GET, POST, PUT, DELETE | 项目分类 |
| **教师 (Teachers)** | `/teachers/` | GET, POST, PUT, DELETE | 师资力量 |
| **教学中心 (Centers)** | `/teaching-centers/` | GET, POST, PUT, DELETE | 教学点 |
| **优惠券 (Coupons)** | `/coupons/` | GET, POST, PUT, DELETE | 优惠券定义 |
| **可领优惠券** | `/available-coupons/` | GET | 获取可领取的优惠券列表 |
| **轮播图 (Banners)** | `/banners/` | GET, POST, PUT, DELETE | 首页轮播图 |
| **学员 (Students)** | `/students/` | GET, POST, PUT, DELETE | 学员信息管理 |
| **学员项目** | `/student-projects/` | GET, POST, PUT, DELETE | 学员报名的项目 |
| **学员优惠券** | `/student-coupons/` | GET, POST, PUT, DELETE | 学员持有的优惠券 |
| **学员荣誉** | `/student-honors/` | GET, POST, PUT, DELETE | 学员获得的荣誉 |
| **精彩展示** | `/student-showcases/` | GET, POST, PUT, DELETE | 视频或图片展示 |
| **通知 (Notifications)**| `/notifications/` | GET, POST, PUT, DELETE | 系统通知 |
### 3.4 仪表盘 (Dashboard)
| 接口路径 | 方法 | 描述 |
| :--- | :--- | :--- |
| `/dashboard/stats/` | GET | 获取后台首页统计数据 |
## 4. System 模块 (System Management)
该模块用于后台系统权限、用户及配置管理。
路径前缀:`/api/system/`
| 资源名称 | 路径 | 方法 | 描述 |
| :--- | :--- | :--- | :--- |
| **系统用户** | `/user/` | GET, POST, PUT, DELETE | 后台管理员 |
| **角色** | `/role/` | GET, POST, PUT, DELETE | 角色与权限组 |
| **权限** | `/permission/` | GET, POST, PUT, DELETE | 菜单及按钮权限 |
| **组织架构** | `/organization/` | GET, POST, PUT, DELETE | 部门管理 |
| **岗位** | `/position/` | GET, POST, PUT, DELETE | 岗位管理 |
| **字典** | `/dict/` | GET, POST, PUT, DELETE | 数据字典 |
| **文件** | `/file/` | POST, DELETE | 文件上传与管理 |
## 5. 使用示例 (Usage Examples)
### 获取项目列表 (Get Projects)
**Request:**
```http
GET /api/projects/?page=1&size=10 HTTP/1.1
Authorization: Bearer <your_token>
```
**Response:**
```json
{
"count": 100,
"next": "...",
"previous": null,
"results": [
{ "id": 1, "title": "MBA项目", ... }
]
}
```