# 后端接口文档 (Backend API Documentation) ## 1. 概述 (Overview) 本接口文档描述了系统的后端API接口,主要包含 CRM(小程序业务)模块和 System(系统管理)模块。 - **基础路径 (Base URL)**: `http://localhost:8000/api` (开发环境) - **认证方式 (Authentication)**: - 管理后台:JWT (JSON Web Token)。Header: `Authorization: Bearer ` - 小程序:自定义Token。Header: `Authorization: Bearer ` (登录后获取) ## 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 ``` **Response:** ```json { "count": 100, "next": "...", "previous": null, "results": [ { "id": 1, "title": "MBA项目", ... } ] } ```