docs: 更新项目文档,完善需求和技术细节

This commit is contained in:
ylweng
2025-09-01 02:58:34 +08:00
parent ad20888cd4
commit 40460f78d2
6 changed files with 633 additions and 30 deletions

View File

@@ -0,0 +1,372 @@
# 爱鉴花后台管理系统 API 接口文档
## 概述
本文档描述了爱鉴花后台管理系统的 RESTful API 接口规范,基于 OpenAPI 3.0 标准。
## 基础信息
- **Base URL**: `http://localhost:3200/api/v1`
- **认证方式**: Bearer Token (JWT)
- **响应格式**: JSON
## 通用响应格式
```json
{
"code": 200,
"message": "操作成功",
"data": {}
}
```
## 错误码说明
| 错误码 | 说明 |
|--------|------|
| 200 | 成功 |
| 400 | 请求参数错误 |
| 401 | 未授权访问 |
| 403 | 权限不足 |
| 404 | 资源不存在 |
| 409 | 资源冲突 |
| 500 | 服务器内部错误 |
## 用户管理接口
### 1. 获取用户列表
**接口摘要**: 获取用户列表(需要管理员权限)
**请求方法**: `GET`
**请求路径**: `/users`
**请求参数**:
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| page | integer | 否 | 页码默认1 |
| limit | integer | 否 | 每页数量默认10 |
| keyword | string | 否 | 搜索关键词(用户名/手机号/邮箱) |
| user_type | string | 否 | 用户类型farmer/buyer/admin |
**请求示例**:
```http
GET /api/v1/users?page=1&limit=10&keyword=test&user_type=farmer
Authorization: Bearer <token>
```
**响应示例 (200)**:
```json
{
"code": 200,
"message": "获取成功",
"data": {
"users": [
{
"id": 1,
"username": "testuser",
"phone": "13800138000",
"email": "test@example.com",
"user_type": "farmer",
"avatar_url": null,
"created_at": "2023-12-01 10:00:00",
"last_login": "2023-12-15 15:30:00"
}
],
"pagination": {
"page": 1,
"limit": 10,
"total": 100,
"pages": 10
}
}
}
```
### 2. 创建用户
**接口摘要**: 创建新用户(需要管理员权限)
**请求方法**: `POST`
**请求路径**: `/users`
**请求体**:
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| username | string | 是 | 用户名 |
| phone | string | 是 | 手机号 |
| email | string | 是 | 邮箱地址 |
| user_type | string | 是 | 用户类型farmer/buyer/admin |
| password | string | 是 | 密码最少6位 |
| real_name | string | 否 | 真实姓名 |
| avatar_url | string | 否 | 头像URL |
**请求示例**:
```http
POST /api/v1/users
Authorization: Bearer <token>
Content-Type: application/json
{
"username": "newuser",
"phone": "13900139000",
"email": "newuser@example.com",
"user_type": "buyer",
"password": "123456",
"real_name": "张三",
"avatar_url": null
}
```
**响应示例 (201)**:
```json
{
"code": 201,
"message": "用户创建成功",
"data": {
"id": 2,
"username": "newuser",
"phone": "13900139000",
"email": "newuser@example.com",
"user_type": "buyer",
"avatar_url": null,
"real_name": "张三"
}
}
```
**错误响应示例 (409)**:
```json
{
"code": 409,
"message": "用户名已存在",
"data": null
}
```
### 3. 获取用户详情
**接口摘要**: 获取指定用户的详细信息
**请求方法**: `GET`
**请求路径**: `/users/{id}`
**路径参数**:
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| id | integer | 是 | 用户ID |
**请求示例**:
```http
GET /api/v1/users/1
Authorization: Bearer <token>
```
**响应示例 (200)**:
```json
{
"code": 200,
"message": "获取成功",
"data": {
"id": 1,
"username": "testuser",
"phone": "13800138000",
"email": "test@example.com",
"user_type": "farmer",
"avatar_url": null,
"real_name": "测试用户",
"created_at": "2023-12-01 10:00:00",
"last_login": "2023-12-15 15:30:00"
}
}
```
### 4. 更新用户信息
**接口摘要**: 更新用户信息
**请求方法**: `PUT`
**请求路径**: `/users/{id}`
**路径参数**:
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| id | integer | 是 | 用户ID |
**请求体**:
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| username | string | 否 | 用户名 |
| phone | string | 否 | 手机号 |
| email | string | 否 | 邮箱地址 |
| user_type | string | 否 | 用户类型 |
| real_name | string | 否 | 真实姓名 |
| avatar_url | string | 否 | 头像URL |
**请求示例**:
```http
PUT /api/v1/users/1
Authorization: Bearer <token>
Content-Type: application/json
{
"username": "updateduser",
"phone": "13800138001",
"email": "updated@example.com",
"user_type": "admin",
"real_name": "更新用户"
}
```
**响应示例 (200)**:
```json
{
"code": 200,
"message": "更新成功",
"data": {
"id": 1,
"username": "updateduser",
"phone": "13800138001",
"email": "updated@example.com",
"user_type": "admin",
"avatar_url": null,
"real_name": "更新用户"
}
}
```
### 5. 删除用户
**接口摘要**: 删除用户(软删除,需要管理员权限)
**请求方法**: `DELETE`
**请求路径**: `/users/{id}`
**路径参数**:
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| id | integer | 是 | 用户ID |
**请求示例**:
```http
DELETE /api/v1/users/1
Authorization: Bearer <token>
```
**响应示例 (200)**:
```json
{
"code": 200,
"message": "删除成功",
"data": null
}
```
### 6. 修改密码
**接口摘要**: 修改用户密码
**请求方法**: `PUT`
**请求路径**: `/users/{id}/password`
**路径参数**:
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| id | integer | 是 | 用户ID |
**请求体**:
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| old_password | string | 是 | 原密码 |
| new_password | string | 是 | 新密码最少6位 |
**请求示例**:
```http
PUT /api/v1/users/1/password
Authorization: Bearer <token>
Content-Type: application/json
{
"old_password": "oldpassword123",
"new_password": "newpassword456"
}
```
**响应示例 (200)**:
```json
{
"code": 200,
"message": "密码修改成功",
"data": null
}
```
## 认证接口
### 1. 用户登录
**接口摘要**: 用户登录获取访问令牌
**请求方法**: `POST`
**请求路径**: `/auth/login`
**请求体**:
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| username | string | 是 | 用户名 |
| password | string | 是 | 密码 |
**请求示例**:
```http
POST /api/v1/auth/login
Content-Type: application/json
{
"username": "admin",
"password": "admin123"
}
```
**响应示例 (200)**:
```json
{
"code": 200,
"message": "登录成功",
"data": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"user": {
"id": 1,
"username": "admin",
"user_type": "admin"
}
}
}
```
### 2. 获取当前用户信息
**接口摘要**: 获取当前登录用户信息
**请求方法**: `GET`
**请求路径**: `/users/me`
**请求示例**:
```http
GET /api/v1/users/me
Authorization: Bearer <token>
```
**响应示例 (200)**:
```json
{
"code": 200,
"message": "获取成功",
"data": {
"id": 1,
"username": "admin",
"phone": "13800138000",
"email": "admin@example.com",
"user_type": "admin",
"avatar_url": null,
"real_name": "管理员",
"created_at": "2023-12-01 10:00:00",
"last_login": "2023-12-15 15:30:00"
}
}
```