修改文件结构,统一文档格式

This commit is contained in:
ylweng
2025-09-01 02:51:34 +08:00
parent abc1184f81
commit 02fe7d11da
5 changed files with 530 additions and 29 deletions

151
design.md
View File

@@ -347,31 +347,138 @@
## 5. 接口设计
### 5.1 用户认证接口
- POST /api/auth/login - 用户登录
- POST /api/auth/logout - 用户登出
- POST /api/auth/register - 用户注册
### 5.1 通用API规范
#### 5.1.1 响应格式
所有API响应遵循统一格式
```json
{
"success": true,
"data": {},
"message": "操作成功",
"timestamp": "2025-01-18T10:30:00Z"
}
```
### 5.2 用户管理接口
- GET /api/users - 获取用户列表
- GET /api/users/{id} - 获取用户详情
- POST /api/users - 创建用户
- PUT /api/users/{id} - 更新用户信息
- DELETE /api/users/{id} - 删除用户
#### 5.1.2 错误处理
- HTTP状态码4xx客户端错误5xx服务端错误
- 错误信息:中英文错误描述
- 错误日志:记录详细错误信息
### 5.3 养殖场管理接口
- GET /api/farms - 获取养殖场列表
- GET /api/farms/{id} - 获取养殖场详情
- POST /api/farms - 创建养殖场
- PUT /api/farms/{id} - 更新养殖场信息
- DELETE /api/farms/{id} - 删除养殖场
#### 5.1.3 认证机制
- Authorization: Bearer <token>
- Token过期401 Unauthorized
- 权限不足403 Forbidden
### 5.4 产品管理接口
- GET /api/products - 获取产品列表
- GET /api/products/{id} - 获取产品详情
- POST /api/products - 创建产品
- PUT /api/products/{id} - 更新产品信息
- DELETE /api/products/{id} - 删除产品
### 5.2 用户认证接口
- **POST /api/auth/login** - 用户登录
- 请求体:{username, password}
- 响应JWT令牌和用户信息
- **POST /api/auth/logout** - 用户登出
- 请求头Authorization: Bearer <token>
- 响应:登出成功消息
- **POST /api/auth/register** - 用户注册
- 请求体:{username, email, password}
- 响应:注册成功消息
### 5.3 用户管理接口
- **GET /api/users** - 获取用户列表需要admin权限
- 查询参数page, limit, search
- 响应:用户列表分页数据
- **GET /api/users/{id}** - 获取用户详情(需要认证)
- 路径参数用户ID
- 响应:用户详细信息
- **POST /api/users** - 创建用户需要admin权限
- 请求体:用户信息
- 响应:创建的用户信息
- **PUT /api/users/{id}** - 更新用户信息(需要认证)
- 路径参数用户ID
- 请求体:更新字段
- 响应:更新后的用户信息
- **DELETE /api/users/{id}** - 删除用户需要admin权限
- 路径参数用户ID
- 响应:删除成功消息
### 5.4 养殖场管理接口
- **GET /api/farms** - 获取养殖场列表(需要认证)
- 查询参数page, limit, type, status
- 响应:养殖场列表分页数据
- **GET /api/farms/{id}** - 获取养殖场详情(需要认证)
- 路径参数养殖场ID
- 响应:养殖场详细信息
- **POST /api/farms** - 创建养殖场需要manager权限
- 请求体养殖场信息包含地理位置JSON
- 响应:创建的养殖场信息
- **PUT /api/farms/{id}** - 更新养殖场信息需要manager权限
- 路径参数养殖场ID
- 请求体:更新字段
- 响应:更新后的养殖场信息
- **DELETE /api/farms/{id}** - 删除养殖场需要admin权限
- 路径参数养殖场ID
- 响应:删除成功消息
### 5.5 设备管理接口
- **GET /api/devices** - 获取设备列表(需要认证)
- 查询参数page, limit, farm_id, type, status
- 响应:设备列表分页数据
- **GET /api/devices/{id}** - 获取设备详情(需要认证)
- 路径参数设备ID
- 响应:设备详细信息(包含实时指标数据)
- **POST /api/devices** - 创建设备需要manager权限
- 请求体:设备信息
- 响应:创建设备信息
- **PUT /api/devices/{id}** - 更新设备信息需要manager权限
- 路径参数设备ID
- 请求体:更新字段
- 响应:更新后的设备信息
- **DELETE /api/devices/{id}** - 删除设备需要admin权限
- 路径参数设备ID
- 响应:删除成功消息
### 5.6 预警管理接口
- **GET /api/alerts** - 获取预警列表(需要认证)
- 查询参数page, limit, farm_id, level, status
- 响应:预警列表分页数据
- **GET /api/alerts/{id}** - 获取预警详情(需要认证)
- 路径参数预警ID
- 响应:预警详细信息
- **PUT /api/alerts/{id}/acknowledge** - 确认预警需要manager权限
- 路径参数预警ID
- 响应:确认成功消息
- **PUT /api/alerts/{id}/resolve** - 解决预警需要manager权限
- 路径参数预警ID
- 请求体:解决说明
- 响应:解决成功消息
### 5.7 产品管理接口
- **GET /api/products** - 获取产品列表(需要认证)
- 查询参数page, limit, search
- 响应:产品列表分页数据
- **GET /api/products/{id}** - 获取产品详情(需要认证)
- 路径参数产品ID
- 响应:产品详细信息
- **POST /api/products** - 创建产品需要manager权限
- 请求体:产品信息
- 响应:创建的产品信息
- **PUT /api/products/{id}** - 更新产品信息需要manager权限
- 路径参数产品ID
- 请求体:更新字段
- 响应:更新后的产品信息
- **DELETE /api/products/{id}** - 删除产品需要admin权限
- 路径参数产品ID
- 响应:删除成功消息
### 5.8 统计分析接口
- **GET /api/stats/overview** - 获取系统概览统计(需要认证)
- 响应:养殖场数、设备数、动物数、预警数等
- **GET /api/stats/farms/{id}** - 获取养殖场统计(需要认证)
- 路径参数养殖场ID
- 响应:养殖场详细统计数据
- **GET /api/stats/alerts** - 获取预警统计(需要认证)
- 查询参数timeRange今日、本周、本月
- 响应:预警级别分布统计
- **GET /api/stats/animals** - 获取动物健康统计(需要认证)
- 查询参数farm_id
- 响应:动物健康状态分布
## 6. 安全设计