Files
xlxumu/docs/design/小程序app接口设计文档.md

2660 lines
54 KiB
Markdown
Raw Permalink Normal View History

# 小程序APP接口设计文档
## 版本历史
| 版本 | 日期 | 作者 | 变更说明 |
|------|------|------|----------|
| 1.0 | 2024-01-20 | 后端团队 | 初始版本 |
| 1.1 | 2024-09-21 | 后端团队 | 更新API实现状态补充缺失接口 |
## 1. 接口概述
### 1.1 设计原则
- **移动优先**: 专为移动端设计,优化网络请求和数据传输
- **轻量化**: 接口响应数据精简,减少不必要的字段
- **离线支持**: 支持关键数据的本地缓存和离线访问
- **实时性**: 关键业务数据支持实时推送和更新
- **安全性**: 完善的身份认证和数据加密机制
- **易用性**: 简化的接口调用和错误处理
### 1.2 基础信息
- **Base URL**: `https://api.xlxumu.com/app/v1`
- **Content-Type**: `application/json`
- **字符编码**: `UTF-8`
- **认证方式**: `Bearer Token (JWT)`
- **小程序平台**: 微信小程序、支付宝小程序
### 1.3 通用响应格式
```json
{
"success": true,
"code": 200,
"message": "操作成功",
"data": {},
"timestamp": 1705747200000
}
```
### 1.4 错误响应格式
```json
{
"success": false,
"code": 400,
"message": "参数错误",
"errors": [
{
"field": "phone",
"message": "手机号格式不正确"
}
],
"timestamp": 1705747200000
}
```
### 1.5 分页响应格式
```json
{
"success": true,
"code": 200,
"message": "获取成功",
"data": {
"list": [],
"has_more": true,
"next_cursor": "cursor_123",
"total": 100
}
}
```
## 2. 用户认证
### 2.1 微信小程序登录
#### 2.1.1 微信授权登录
**接口地址**: `POST /auth/wechat/login`
**实现状态**: ❌ 未实现 - 需要开发
**请求参数**:
```json
{
"code": "wx_code_from_wechat",
"encrypted_data": "encrypted_user_info",
"iv": "initialization_vector"
}
```
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "登录成功",
"data": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"refresh_token": "refresh_token_123",
"expires_in": 7200,
"is_new_user": false,
"user": {
"id": 1,
"openid": "wx_openid_123",
"unionid": "wx_unionid_123",
"nickname": "张三",
"avatar": "https://wx.qlogo.cn/avatar.jpg",
"phone": "138****8000",
"is_verified": true
}
}
}
```
#### 2.1.2 手机号绑定
**接口地址**: `POST /auth/bind-phone`
**请求头**:
```
Authorization: Bearer {token}
```
**请求参数**:
```json
{
"encrypted_data": "encrypted_phone_data",
"iv": "initialization_vector"
}
```
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "绑定成功",
"data": {
"phone": "13800138000",
"is_verified": true
}
}
```
### 2.2 Token管理
#### 2.2.1 刷新Token
**接口地址**: `POST /auth/refresh`
**请求参数**:
```json
{
"refresh_token": "refresh_token_123"
}
```
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "刷新成功",
"data": {
"token": "new_jwt_token",
"expires_in": 7200
}
}
```
#### 2.2.2 获取用户信息
**接口地址**: `GET /auth/user`
**请求头**:
```
Authorization: Bearer {token}
```
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "获取成功",
"data": {
"id": 1,
"openid": "wx_openid_123",
"nickname": "张三",
"avatar": "https://wx.qlogo.cn/avatar.jpg",
"phone": "138****8000",
"real_name": "张三",
"gender": 1,
"birthday": "1990-01-01",
"address": "北京市朝阳区",
"is_verified": true,
"user_type": "farmer",
"created_at": "2024-01-15 09:00:00"
}
}
```
## 3. 用户管理
### 3.1 个人信息
#### 3.1.1 更新个人信息
**接口地址**: `PUT /user/profile`
**请求头**:
```
Authorization: Bearer {token}
```
**请求参数**:
```json
{
"real_name": "张三三",
"gender": 1,
"birthday": "1990-01-01",
"address": "北京市朝阳区某某街道"
}
```
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "更新成功",
"data": {
"id": 1,
"real_name": "张三三",
"gender": 1,
"birthday": "1990-01-01",
"address": "北京市朝阳区某某街道",
"updated_at": "2024-01-20 10:30:00"
}
}
```
#### 3.1.2 上传头像
**接口地址**: `POST /user/avatar`
**请求头**:
```
Authorization: Bearer {token}
Content-Type: multipart/form-data
```
**请求参数**:
- avatar: 头像文件
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "上传成功",
"data": {
"avatar": "https://cdn.xlxumu.com/avatars/user_1_avatar.jpg"
}
}
```
### 3.2 实名认证
#### 3.2.1 提交实名认证
**接口地址**: `POST /user/verification`
**请求头**:
```
Authorization: Bearer {token}
```
**请求参数**:
```json
{
"real_name": "张三",
"id_card": "110101199001010001",
"id_card_front": "https://cdn.xlxumu.com/id_front.jpg",
"id_card_back": "https://cdn.xlxumu.com/id_back.jpg"
}
```
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "提交成功",
"data": {
"verification_id": 1,
"status": "pending",
"submitted_at": "2024-01-20 11:00:00"
}
}
```
#### 3.2.2 获取认证状态
**接口地址**: `GET /user/verification/status`
**请求头**:
```
Authorization: Bearer {token}
```
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "获取成功",
"data": {
"verification_id": 1,
"status": "approved",
"real_name": "张三",
"id_card": "110101199001010001",
"submitted_at": "2024-01-20 11:00:00",
"reviewed_at": "2024-01-20 15:00:00",
"review_notes": "认证通过"
}
}
```
## 4. 养殖场管理
### 4.1 我的养殖场
#### 4.1.1 获取养殖场列表
**接口地址**: `GET /farms`
**请求头**:
```
Authorization: Bearer {token}
```
**请求参数**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| cursor | string | 否 | 游标,用于分页 |
| limit | int | 否 | 每页数量默认20 |
| status | int | 否 | 养殖场状态 |
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "获取成功",
"data": {
"list": [
{
"id": 1,
"name": "张三养猪场",
"code": "FARM001",
"type": "pig",
"type_name": "生猪养殖",
"area": 5000.00,
"capacity": 500,
"address": "北京市朝阳区某某村",
"status": 1,
"status_name": "正常运营",
"animal_count": 150,
"health_rate": 96.7,
"created_at": "2024-01-15 09:00:00"
}
],
"has_more": false,
"next_cursor": null,
"total": 1
}
}
```
#### 4.1.2 获取养殖场详情
**接口地址**: `GET /farms/{id}`
**请求头**:
```
Authorization: Bearer {token}
```
**路径参数**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| id | int | 是 | 养殖场ID |
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "获取成功",
"data": {
"id": 1,
"name": "张三养猪场",
"code": "FARM001",
"type": "pig",
"type_name": "生猪养殖",
"area": 5000.00,
"capacity": 500,
"address": "北京市朝阳区某某村123号",
"longitude": 116.407526,
"latitude": 39.904030,
"license_number": "京农许字[2024]001号",
"description": "专业养猪场,采用现代化养殖技术",
"status": 1,
"status_name": "正常运营",
"statistics": {
"total_animals": 150,
"healthy_animals": 145,
"sick_animals": 5,
"health_rate": 96.7,
"avg_weight": 85.5,
"total_value": 150000.00
},
"weather": {
"temperature": 15,
"humidity": 65,
"weather": "晴",
"updated_at": "2024-01-20 12:00:00"
},
"created_at": "2024-01-15 09:00:00"
}
}
```
#### 4.1.3 创建养殖场
**接口地址**: `POST /farms`
**请求头**:
```
Authorization: Bearer {token}
```
**请求参数**:
```json
{
"name": "李四养鸡场",
"type": "chicken",
"area": 3000.00,
"capacity": 1000,
"address": "上海市浦东新区某某镇",
"longitude": 121.473701,
"latitude": 31.230416,
"license_number": "沪农许字[2024]002号",
"license_image": "https://cdn.xlxumu.com/license.jpg",
"description": "现代化养鸡场"
}
```
**响应数据**:
```json
{
"success": true,
"code": 201,
"message": "创建成功",
"data": {
"id": 2,
"name": "李四养鸡场",
"code": "FARM002",
"type": "chicken",
"status": 0,
"status_name": "待审核",
"created_at": "2024-01-20 14:00:00"
}
}
```
### 4.2 养殖场统计
#### 4.2.1 获取养殖场统计数据
**接口地址**: `GET /farms/{id}/statistics`
**请求头**:
```
Authorization: Bearer {token}
```
**路径参数**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| id | int | 是 | 养殖场ID |
**请求参数**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| period | string | 否 | 统计周期day,week,month,year |
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "获取成功",
"data": {
"overview": {
"total_animals": 150,
"healthy_animals": 145,
"sick_animals": 5,
"dead_animals": 0,
"health_rate": 96.7,
"avg_weight": 85.5,
"total_value": 150000.00
},
"breed_distribution": [
{
"breed": "杜洛克猪",
"count": 80,
"percentage": 53.33
},
{
"breed": "长白猪",
"count": 70,
"percentage": 46.67
}
],
"growth_trend": [
{
"date": "2024-01-15",
"count": 148,
"avg_weight": 82.3
},
{
"date": "2024-01-20",
"count": 150,
"avg_weight": 85.5
}
],
"health_trend": [
{
"date": "2024-01-15",
"healthy": 143,
"sick": 5,
"health_rate": 96.6
},
{
"date": "2024-01-20",
"healthy": 145,
"sick": 5,
"health_rate": 96.7
}
]
}
}
```
## 5. 动物管理
### 5.1 动物列表
#### 5.1.1 获取动物列表
**接口地址**: `GET /animals`
**请求头**:
```
Authorization: Bearer {token}
```
**请求参数**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| farm_id | int | 否 | 养殖场ID |
| cursor | string | 否 | 游标,用于分页 |
| limit | int | 否 | 每页数量默认20 |
| breed | string | 否 | 品种筛选 |
| health_status | string | 否 | 健康状态筛选 |
| keyword | string | 否 | 搜索关键词 |
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "获取成功",
"data": {
"list": [
{
"id": 1,
"code": "PIG001",
"name": "小猪001",
"breed": "杜洛克猪",
"gender": 1,
"gender_name": "公",
"birth_date": "2023-06-15",
"age_days": 219,
"weight": 85.5,
"health_status": "healthy",
"health_status_name": "健康",
"farm": {
"id": 1,
"name": "张三养猪场"
},
"avatar": "https://cdn.xlxumu.com/animals/pig001.jpg",
"last_checkup": "2024-01-15",
"next_checkup": "2024-02-15"
}
],
"has_more": true,
"next_cursor": "cursor_123",
"total": 150
}
}
```
#### 5.1.2 获取动物详情
**接口地址**: `GET /animals/{id}`
**请求头**:
```
Authorization: Bearer {token}
```
**路径参数**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| id | int | 是 | 动物ID |
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "获取成功",
"data": {
"id": 1,
"code": "PIG001",
"name": "小猪001",
"breed": "杜洛克猪",
"gender": 1,
"gender_name": "公",
"birth_date": "2023-06-15",
"age_days": 219,
"weight": 85.5,
"health_status": "healthy",
"health_status_name": "健康",
"farm": {
"id": 1,
"name": "张三养猪场"
},
"avatar": "https://cdn.xlxumu.com/animals/pig001.jpg",
"parents": {
"father": {
"id": 10,
"code": "PIG010",
"name": "种猪公001"
},
"mother": {
"id": 11,
"code": "PIG011",
"name": "种猪母001"
}
},
"purchase_info": {
"price": 800.00,
"date": "2023-06-15",
"source": "本地养殖场"
},
"current_value": 1200.00,
"growth_records": [
{
"date": "2024-01-01",
"weight": 80.0,
"height": 60.0
},
{
"date": "2024-01-20",
"weight": 85.5,
"height": 62.0
}
],
"health_summary": {
"last_checkup": "2024-01-15",
"next_checkup": "2024-02-15",
"vaccination_count": 3,
"health_record_count": 5
},
"notes": "生长良好,无疾病史",
"created_at": "2023-06-15 10:00:00"
}
}
```
### 5.2 动物操作
#### 5.2.1 添加动物
**接口地址**: `POST /animals`
**请求头**:
```
Authorization: Bearer {token}
```
**请求参数**:
```json
{
"farm_id": 1,
"code": "PIG002",
"name": "小猪002",
"breed": "长白猪",
"gender": 0,
"birth_date": "2023-08-01",
"weight": 65.0,
"purchase_price": 750.00,
"purchase_date": "2023-08-01",
"purchase_source": "外地养殖场",
"father_id": 10,
"mother_id": 11,
"notes": "新引进种猪"
}
```
**响应数据**:
```json
{
"success": true,
"code": 201,
"message": "添加成功",
"data": {
"id": 2,
"code": "PIG002",
"name": "小猪002",
"breed": "长白猪",
"gender": 0,
"birth_date": "2023-08-01",
"weight": 65.0,
"health_status": "healthy",
"created_at": "2024-01-20 15:00:00"
}
}
```
#### 5.2.2 更新动物信息
**接口地址**: `PUT /animals/{id}`
**请求头**:
```
Authorization: Bearer {token}
```
**路径参数**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| id | int | 是 | 动物ID |
**请求参数**:
```json
{
"name": "小猪001号",
"weight": 87.0,
"health_status": "healthy",
"notes": "体重增长正常"
}
```
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "更新成功",
"data": {
"id": 1,
"name": "小猪001号",
"weight": 87.0,
"health_status": "healthy",
"updated_at": "2024-01-20 15:30:00"
}
}
```
### 5.3 健康管理
#### 5.3.1 获取健康记录
**接口地址**: `GET /animals/{id}/health-records`
**请求头**:
```
Authorization: Bearer {token}
```
**路径参数**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| id | int | 是 | 动物ID |
**请求参数**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| cursor | string | 否 | 游标,用于分页 |
| limit | int | 否 | 每页数量默认20 |
| record_type | string | 否 | 记录类型 |
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "获取成功",
"data": {
"list": [
{
"id": 1,
"record_type": "checkup",
"record_type_name": "健康检查",
"record_date": "2024-01-15",
"symptoms": null,
"diagnosis": "健康状况良好",
"treatment": null,
"medicine": null,
"veterinarian": "李兽医",
"cost": 50.00,
"next_checkup_date": "2024-02-15",
"notes": "定期健康检查",
"images": [
"https://cdn.xlxumu.com/health1.jpg"
],
"created_at": "2024-01-15 14:00:00"
}
],
"has_more": false,
"next_cursor": null,
"total": 5
}
}
```
#### 5.3.2 添加健康记录
**接口地址**: `POST /animals/{id}/health-records`
**请求头**:
```
Authorization: Bearer {token}
```
**路径参数**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| id | int | 是 | 动物ID |
**请求参数**:
```json
{
"record_type": "vaccination",
"record_date": "2024-01-20",
"medicine": "猪瘟疫苗",
"dosage": "2ml",
"veterinarian": "王兽医",
"cost": 30.00,
"next_vaccination_date": "2024-07-20",
"notes": "年度疫苗接种",
"images": [
"https://cdn.xlxumu.com/vaccination1.jpg"
]
}
```
**响应数据**:
```json
{
"success": true,
"code": 201,
"message": "添加成功",
"data": {
"id": 2,
"record_type": "vaccination",
"record_date": "2024-01-20",
"medicine": "猪瘟疫苗",
"veterinarian": "王兽医",
"cost": 30.00,
"created_at": "2024-01-20 16:00:00"
}
}
```
## 6. 交易管理
### 6.1 商品发布
#### 6.1.1 发布动物商品
**接口地址**: `POST /products/animals`
**请求头**:
```
Authorization: Bearer {token}
```
**请求参数**:
```json
{
"animal_id": 1,
"title": "优质杜洛克猪出售",
"description": "健康状况良好体重85kg适合繁殖",
"price": 1200.00,
"unit": "头",
"stock": 1,
"images": [
"https://cdn.xlxumu.com/product1.jpg",
"https://cdn.xlxumu.com/product2.jpg"
],
"shipping_fee": 100.00,
"shipping_method": "express",
"contact_phone": "13800138000",
"contact_wechat": "zhang123",
"notes": "支持实地看货"
}
```
**响应数据**:
```json
{
"success": true,
"code": 201,
"message": "发布成功",
"data": {
"id": 1,
"product_no": "PRD202401200001",
"title": "优质杜洛克猪出售",
"price": 1200.00,
"status": "pending",
"status_name": "待审核",
"created_at": "2024-01-20 16:30:00"
}
}
```
#### 6.1.2 获取我的商品
**接口地址**: `GET /products/my`
**请求头**:
```
Authorization: Bearer {token}
```
**请求参数**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| cursor | string | 否 | 游标,用于分页 |
| limit | int | 否 | 每页数量默认20 |
| status | string | 否 | 商品状态 |
| product_type | string | 否 | 商品类型 |
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "获取成功",
"data": {
"list": [
{
"id": 1,
"product_no": "PRD202401200001",
"title": "优质杜洛克猪出售",
"price": 1200.00,
"unit": "头",
"stock": 1,
"sold_count": 0,
"status": "active",
"status_name": "销售中",
"cover_image": "https://cdn.xlxumu.com/product1.jpg",
"view_count": 25,
"favorite_count": 3,
"created_at": "2024-01-20 16:30:00"
}
],
"has_more": false,
"next_cursor": null,
"total": 1
}
}
```
### 6.2 商品浏览
#### 6.2.1 获取商品列表
**接口地址**: `GET /products`
**请求参数**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| cursor | string | 否 | 游标,用于分页 |
| limit | int | 否 | 每页数量默认20 |
| category | string | 否 | 商品分类 |
| keyword | string | 否 | 搜索关键词 |
| min_price | decimal | 否 | 最低价格 |
| max_price | decimal | 否 | 最高价格 |
| province | string | 否 | 省份 |
| city | string | 否 | 城市 |
| sort | string | 否 | 排序方式price_asc,price_desc,time_desc |
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "获取成功",
"data": {
"list": [
{
"id": 1,
"product_no": "PRD202401200001",
"title": "优质杜洛克猪出售",
"price": 1200.00,
"unit": "头",
"stock": 1,
"cover_image": "https://cdn.xlxumu.com/product1.jpg",
"seller": {
"id": 1,
"nickname": "张三",
"avatar": "https://wx.qlogo.cn/avatar.jpg",
"location": "北京市朝阳区"
},
"farm": {
"id": 1,
"name": "张三养猪场"
},
"view_count": 25,
"favorite_count": 3,
"is_favorited": false,
"distance": 15.6,
"created_at": "2024-01-20 16:30:00"
}
],
"has_more": true,
"next_cursor": "cursor_456",
"total": 100
}
}
```
#### 6.2.2 获取商品详情
**接口地址**: `GET /products/{id}`
**路径参数**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| id | int | 是 | 商品ID |
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "获取成功",
"data": {
"id": 1,
"product_no": "PRD202401200001",
"title": "优质杜洛克猪出售",
"description": "健康状况良好体重85kg适合繁殖",
"price": 1200.00,
"unit": "头",
"stock": 1,
"sold_count": 0,
"images": [
"https://cdn.xlxumu.com/product1.jpg",
"https://cdn.xlxumu.com/product2.jpg"
],
"shipping_fee": 100.00,
"shipping_method": "express",
"shipping_method_name": "快递配送",
"seller": {
"id": 1,
"nickname": "张三",
"avatar": "https://wx.qlogo.cn/avatar.jpg",
"location": "北京市朝阳区",
"is_verified": true,
"rating": 4.8,
"product_count": 5
},
"farm": {
"id": 1,
"name": "张三养猪场",
"address": "北京市朝阳区某某村"
},
"animal": {
"id": 1,
"code": "PIG001",
"breed": "杜洛克猪",
"gender": 1,
"age_days": 219,
"weight": 85.5,
"health_status": "healthy"
},
"contact_info": {
"phone": "138****8000",
"wechat": "zhang123"
},
"view_count": 26,
"favorite_count": 3,
"is_favorited": false,
"distance": 15.6,
"notes": "支持实地看货",
"created_at": "2024-01-20 16:30:00"
}
}
```
### 6.3 订单管理
#### 6.3.1 创建订单
**接口地址**: `POST /orders`
**请求头**:
```
Authorization: Bearer {token}
```
**请求参数**:
```json
{
"product_id": 1,
"quantity": 1,
"shipping_address": {
"name": "李四",
"phone": "13900139000",
"province": "上海市",
"city": "上海市",
"district": "浦东新区",
"address": "张江镇某某路123号"
},
"notes": "请尽快发货"
}
```
**响应数据**:
```json
{
"success": true,
"code": 201,
"message": "订单创建成功",
"data": {
"id": 1,
"order_no": "ORD202401200001",
"total_amount": 1200.00,
"shipping_fee": 100.00,
"actual_amount": 1300.00,
"status": "pending_payment",
"status_name": "待支付",
"created_at": "2024-01-20 17:00:00"
}
}
```
#### 6.3.2 获取我的订单
**接口地址**: `GET /orders/my`
**请求头**:
```
Authorization: Bearer {token}
```
**请求参数**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| cursor | string | 否 | 游标,用于分页 |
| limit | int | 否 | 每页数量默认20 |
| status | string | 否 | 订单状态 |
| order_type | string | 否 | 订单类型buy,sell |
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "获取成功",
"data": {
"list": [
{
"id": 1,
"order_no": "ORD202401200001",
"order_type": "buy",
"total_amount": 1200.00,
"shipping_fee": 100.00,
"actual_amount": 1300.00,
"status": "pending_payment",
"status_name": "待支付",
"product": {
"id": 1,
"title": "优质杜洛克猪出售",
"cover_image": "https://cdn.xlxumu.com/product1.jpg",
"price": 1200.00,
"quantity": 1
},
"seller": {
"id": 1,
"nickname": "张三",
"avatar": "https://wx.qlogo.cn/avatar.jpg"
},
"created_at": "2024-01-20 17:00:00"
}
],
"has_more": false,
"next_cursor": null,
"total": 1
}
}
```
#### 6.3.3 获取订单详情
**接口地址**: `GET /orders/{id}`
**请求头**:
```
Authorization: Bearer {token}
```
**路径参数**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| id | int | 是 | 订单ID |
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "获取成功",
"data": {
"id": 1,
"order_no": "ORD202401200001",
"order_type": "buy",
"total_amount": 1200.00,
"shipping_fee": 100.00,
"actual_amount": 1300.00,
"payment_method": null,
"status": "pending_payment",
"status_name": "待支付",
"product": {
"id": 1,
"title": "优质杜洛克猪出售",
"cover_image": "https://cdn.xlxumu.com/product1.jpg",
"price": 1200.00,
"quantity": 1,
"unit": "头"
},
"seller": {
"id": 1,
"nickname": "张三",
"avatar": "https://wx.qlogo.cn/avatar.jpg",
"phone": "138****8000"
},
"buyer": {
"id": 2,
"nickname": "李四",
"avatar": "https://wx.qlogo.cn/avatar2.jpg",
"phone": "139****9000"
},
"shipping_address": {
"name": "李四",
"phone": "13900139000",
"province": "上海市",
"city": "上海市",
"district": "浦东新区",
"address": "张江镇某某路123号",
"full_address": "上海市上海市浦东新区张江镇某某路123号"
},
"tracking_number": null,
"notes": "请尽快发货",
"created_at": "2024-01-20 17:00:00",
"paid_at": null,
"shipped_at": null,
"delivered_at": null,
"completed_at": null
}
}
```
## 7. 支付管理
### 7.1 微信支付
#### 7.1.1 创建支付订单
**接口地址**: `POST /payments/wechat/create`
**请求头**:
```
Authorization: Bearer {token}
```
**请求参数**:
```json
{
"order_id": 1,
"payment_method": "wechat_mini"
}
```
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "支付订单创建成功",
"data": {
"payment_id": "pay_123456",
"prepay_id": "wx_prepay_123456",
"payment_params": {
"timeStamp": "1705747200",
"nonceStr": "random_string",
"package": "prepay_id=wx_prepay_123456",
"signType": "RSA",
"paySign": "signature_string"
}
}
}
```
#### 7.1.2 查询支付状态
**接口地址**: `GET /payments/{payment_id}/status`
**请求头**:
```
Authorization: Bearer {token}
```
**路径参数**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| payment_id | string | 是 | 支付ID |
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "获取成功",
"data": {
"payment_id": "pay_123456",
"order_id": 1,
"amount": 1300.00,
"status": "paid",
"status_name": "已支付",
"payment_method": "wechat_mini",
"transaction_id": "wx_transaction_123456",
"paid_at": "2024-01-20 17:30:00"
}
}
```
## 8. 消息通知
### 8.1 系统消息
#### 8.1.1 获取消息列表
**接口地址**: `GET /messages`
**请求头**:
```
Authorization: Bearer {token}
```
**请求参数**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| cursor | string | 否 | 游标,用于分页 |
| limit | int | 否 | 每页数量默认20 |
| type | string | 否 | 消息类型 |
| is_read | int | 否 | 是否已读 |
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "获取成功",
"data": {
"list": [
{
"id": 1,
"type": "order",
"type_name": "订单消息",
"title": "您有新的订单",
"content": "用户李四购买了您的商品:优质杜洛克猪出售",
"data": {
"order_id": 1,
"order_no": "ORD202401200001"
},
"is_read": 0,
"created_at": "2024-01-20 17:00:00"
}
],
"has_more": false,
"next_cursor": null,
"unread_count": 5
}
}
```
#### 8.1.2 标记消息已读
**接口地址**: `POST /messages/{id}/read`
**请求头**:
```
Authorization: Bearer {token}
```
**路径参数**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| id | int | 是 | 消息ID |
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "标记成功"
}
```
#### 8.1.3 批量标记已读
**接口地址**: `POST /messages/batch-read`
**请求头**:
```
Authorization: Bearer {token}
```
**请求参数**:
```json
{
"message_ids": [1, 2, 3]
}
```
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "批量标记成功",
"data": {
"updated_count": 3
}
}
```
## 9. 文件上传
### 9.1 图片上传
#### 9.1.1 上传单张图片
**接口地址**: `POST /upload/image`
**请求头**:
```
Authorization: Bearer {token}
Content-Type: multipart/form-data
```
**请求参数**:
- image: 图片文件
- type: 图片类型 (avatar, product, health_record, license)
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "上传成功",
"data": {
"file_id": "img_123456",
"file_name": "product.jpg",
"file_size": 204800,
"file_url": "https://cdn.xlxumu.com/uploads/2024/01/20/product_123456.jpg",
"thumbnail_url": "https://cdn.xlxumu.com/uploads/2024/01/20/thumb_product_123456.jpg"
}
}
```
#### 9.1.2 批量上传图片
**接口地址**: `POST /upload/images`
**请求头**:
```
Authorization: Bearer {token}
Content-Type: multipart/form-data
```
**请求参数**:
- images[]: 图片文件数组
- type: 图片类型
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "上传成功",
"data": {
"uploaded_files": [
{
"file_id": "img_123456",
"file_name": "product1.jpg",
"file_url": "https://cdn.xlxumu.com/uploads/2024/01/20/product1_123456.jpg",
"thumbnail_url": "https://cdn.xlxumu.com/uploads/2024/01/20/thumb_product1_123456.jpg"
},
{
"file_id": "img_123457",
"file_name": "product2.jpg",
"file_url": "https://cdn.xlxumu.com/uploads/2024/01/20/product2_123457.jpg",
"thumbnail_url": "https://cdn.xlxumu.com/uploads/2024/01/20/thumb_product2_123457.jpg"
}
],
"failed_files": [],
"success_count": 2,
"failed_count": 0
}
}
```
## 10. AI智能服务
### 10.1 体况评估
#### 10.1.1 上传动物照片进行体况评估
**接口地址**: `POST /ai/body-condition-assessment`
**请求头**:
```
Authorization: Bearer {token}
Content-Type: multipart/form-data
```
**请求参数**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| animal_id | int | 是 | 动物ID |
| images | file[] | 是 | 动物照片最多3张 |
| assessment_type | string | 否 | 评估类型body_condition,health_check |
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "评估完成",
"data": {
"assessment_id": "ai_20240120_001",
"animal_id": 1,
"body_condition_score": 3.5,
"health_status": "healthy",
"weight_estimate": 450.5,
"recommendations": [
"建议增加蛋白质饲料比例",
"注意观察食欲变化",
"定期称重监控"
],
"confidence": 0.92,
"processed_images": [
"/uploads/ai/processed_001.jpg",
"/uploads/ai/processed_002.jpg"
],
"created_at": "2024-01-20 14:30:00"
}
}
```
### 10.2 饲料配方推荐
#### 10.2.1 获取智能饲料配方
**接口地址**: `POST /ai/feed-formula`
**请求头**:
```
Authorization: Bearer {token}
```
**请求参数**:
```json
{
"animal_type": "cattle",
"breed": "西门塔尔牛",
"age_months": 18,
"weight": 450.5,
"growth_stage": "fattening",
"target_weight": 550.0,
"target_days": 90,
"available_feeds": [
"玉米",
"豆粕",
"麦麸",
"青贮饲料"
]
}
```
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "配方生成成功",
"data": {
"formula_id": "formula_20240120_001",
"daily_intake": 12.5,
"formula_components": [
{
"feed_name": "玉米",
"percentage": 45.0,
"daily_amount": 5.625,
"unit": "kg"
},
{
"feed_name": "豆粕",
"percentage": 20.0,
"daily_amount": 2.5,
"unit": "kg"
},
{
"feed_name": "青贮饲料",
"percentage": 30.0,
"daily_amount": 3.75,
"unit": "kg"
},
{
"feed_name": "麦麸",
"percentage": 5.0,
"daily_amount": 0.625,
"unit": "kg"
}
],
"nutrition_analysis": {
"crude_protein": 16.5,
"metabolizable_energy": 11.8,
"crude_fiber": 18.2,
"calcium": 0.65,
"phosphorus": 0.45
},
"expected_daily_gain": 1.2,
"cost_per_day": 28.50,
"created_at": "2024-01-20 14:30:00"
}
}
```
### 10.3 疾病诊断辅助
#### 10.3.1 症状诊断
**接口地址**: `POST /ai/disease-diagnosis`
**请求头**:
```
Authorization: Bearer {token}
```
**请求参数**:
```json
{
"animal_id": 1,
"symptoms": [
"食欲不振",
"体温升高",
"咳嗽"
],
"duration_days": 3,
"severity": "moderate",
"additional_info": "最近天气变化较大"
}
```
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "诊断完成",
"data": {
"diagnosis_id": "diag_20240120_001",
"possible_diseases": [
{
"disease_name": "牛流感",
"probability": 0.75,
"severity": "moderate",
"description": "病毒性呼吸道疾病"
},
{
"disease_name": "肺炎",
"probability": 0.60,
"severity": "high",
"description": "细菌性肺部感染"
}
],
"recommendations": [
"建议立即隔离患病动物",
"联系兽医进行进一步检查",
"注意观察其他动物是否有类似症状"
],
"emergency_level": "medium",
"suggested_treatments": [
"抗病毒药物治疗",
"加强营养支持",
"保持环境通风"
],
"created_at": "2024-01-20 14:30:00"
}
}
```
## 11. 政府监管服务
### 11.1 防疫管理
#### 11.1.1 获取防疫计划
**接口地址**: `GET /government/vaccination-plan`
**请求头**:
```
Authorization: Bearer {token}
```
**请求参数**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| farm_id | int | 否 | 养殖场ID |
| year | int | 否 | 年份,默认当前年 |
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "获取成功",
"data": {
"plan_id": 1,
"year": 2024,
"farm_id": 1,
"vaccinations": [
{
"id": 1,
"vaccine_name": "口蹄疫疫苗",
"target_animals": "所有牛只",
"scheduled_date": "2024-03-15",
"status": "pending",
"veterinarian": "张兽医",
"notes": "春季强制免疫"
},
{
"id": 2,
"vaccine_name": "布鲁氏菌病疫苗",
"target_animals": "繁殖母牛",
"scheduled_date": "2024-04-20",
"status": "completed",
"veterinarian": "李兽医",
"completion_date": "2024-04-18",
"notes": "已完成免疫"
}
],
"compliance_rate": 85.5,
"next_inspection": "2024-06-15"
}
}
```
#### 11.1.2 上报防疫记录
**接口地址**: `POST /government/vaccination-record`
**请求头**:
```
Authorization: Bearer {token}
```
**请求参数**:
```json
{
"vaccination_plan_id": 1,
"animal_ids": [1, 2, 3],
"vaccine_batch": "VAC20240315001",
"veterinarian_id": 1,
"vaccination_date": "2024-03-15",
"notes": "免疫正常,无不良反应"
}
```
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "上报成功",
"data": {
"record_id": 1,
"vaccination_count": 3,
"compliance_updated": true,
"next_vaccination": "2024-09-15"
}
}
```
### 11.2 补贴申请
#### 11.2.1 获取可申请补贴列表
**接口地址**: `GET /government/subsidies/available`
**请求头**:
```
Authorization: Bearer {token}
```
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "获取成功",
"data": [
{
"id": 1,
"name": "2024年生猪养殖补贴",
"type": "breeding",
"amount_per_head": 50.00,
"max_amount": 10000.00,
"application_deadline": "2024-06-30",
"requirements": [
"养殖规模不少于50头",
"具备合法养殖手续",
"通过环保验收"
],
"status": "active"
},
{
"id": 2,
"name": "设备购置补贴",
"type": "equipment",
"subsidy_rate": 0.30,
"max_amount": 50000.00,
"application_deadline": "2024-12-31",
"requirements": [
"购买指定设备清单内设备",
"提供正规发票",
"设备已安装使用"
],
"status": "active"
}
]
}
```
#### 11.2.2 提交补贴申请
**接口地址**: `POST /government/subsidies/apply`
**请求头**:
```
Authorization: Bearer {token}
```
**请求参数**:
```json
{
"subsidy_id": 1,
"application_amount": 5000.00,
"animal_count": 100,
"supporting_documents": [
"/uploads/documents/license.pdf",
"/uploads/documents/inspection_report.pdf"
],
"description": "申请生猪养殖补贴当前存栏100头"
}
```
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "申请提交成功",
"data": {
"application_id": "SUB20240120001",
"status": "under_review",
"estimated_review_days": 15,
"tracking_number": "GOV20240120001"
}
}
```
## 12. 数据中台服务
### 12.1 数据查询
#### 12.1.1 获取行业数据统计
**接口地址**: `GET /data-platform/industry-stats`
**请求参数**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| region | string | 否 | 地区代码 |
| animal_type | string | 否 | 动物类型 |
| time_range | string | 否 | 时间范围month,quarter,year |
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "获取成功",
"data": {
"overview": {
"total_farms": 1250,
"total_animals": 125000,
"avg_farm_size": 100,
"industry_output_value": 1500000000
},
"regional_distribution": [
{
"region": "锡林浩特市",
"farm_count": 450,
"animal_count": 45000,
"output_value": 540000000
},
{
"region": "东乌旗",
"farm_count": 380,
"animal_count": 38000,
"output_value": 456000000
}
],
"price_trends": [
{
"date": "2024-01",
"cattle_price": 28.50,
"pig_price": 15.20,
"chicken_price": 8.80
},
{
"date": "2024-02",
"cattle_price": 29.20,
"pig_price": 15.80,
"chicken_price": 9.10
}
],
"market_analysis": {
"trend": "rising",
"confidence": 0.85,
"factors": [
"春节需求增加",
"饲料成本上升",
"政策支持力度加大"
]
}
}
}
```
### 12.2 数据共享
#### 12.2.1 获取共享数据权限
**接口地址**: `GET /data-platform/sharing-permissions`
**请求头**:
```
Authorization: Bearer {token}
```
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "获取成功",
"data": {
"user_level": "premium",
"available_datasets": [
{
"dataset_id": "market_prices",
"name": "市场价格数据",
"description": "实时市场价格信息",
"access_level": "read",
"update_frequency": "daily"
},
{
"dataset_id": "weather_data",
"name": "气象数据",
"description": "地区气象信息",
"access_level": "read",
"update_frequency": "hourly"
}
],
"usage_quota": {
"daily_requests": 1000,
"used_requests": 150,
"remaining_requests": 850
}
}
}
```
## 13. 数据统计
### 13.1 个人统计
#### 13.1.1 获取个人数据统计
**接口地址**: `GET /statistics/personal`
**请求头**:
```
Authorization: Bearer {token}
```
**请求参数**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| period | string | 否 | 统计周期week,month,year |
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "获取成功",
"data": {
"overview": {
"farm_count": 1,
"animal_count": 150,
"product_count": 5,
"order_count": 10,
"total_income": 15000.00
},
"farm_stats": [
{
"farm_id": 1,
"farm_name": "张三养猪场",
"animal_count": 150,
"health_rate": 96.7,
"avg_weight": 85.5
}
],
"income_trend": [
{
"date": "2024-01-01",
"income": 5000.00,
"order_count": 3
},
{
"date": "2024-01-20",
"income": 15000.00,
"order_count": 10
}
],
"animal_growth": [
{
"date": "2024-01-01",
"total_count": 145,
"avg_weight": 80.0
},
{
"date": "2024-01-20",
"total_count": 150,
"avg_weight": 85.5
}
]
}
}
```
## 14. 小程序特有功能
### 14.1 离线数据缓存
#### 14.1.1 获取离线数据包
**接口地址**: `GET /offline/data-package`
**请求头**:
```
Authorization: Bearer {token}
```
**请求参数**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| modules | string | 否 | 模块列表逗号分隔farms,animals,products |
| last_sync | timestamp | 否 | 上次同步时间戳 |
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "获取成功",
"data": {
"package_id": "offline_20240120_001",
"sync_timestamp": 1705747200000,
"modules": {
"farms": {
"version": "1.0.1",
"data": [
{
"id": 1,
"name": "张三养殖场",
"location": "锡林浩特市",
"animal_count": 150
}
]
},
"animals": {
"version": "1.0.2",
"data": [
{
"id": 1,
"ear_tag": "XL001",
"name": "小花",
"breed": "西门塔尔牛"
}
]
}
},
"cache_duration": 86400
}
}
```
#### 14.1.2 上传离线操作记录
**接口地址**: `POST /offline/sync-operations`
**请求头**:
```
Authorization: Bearer {token}
```
**请求参数**:
```json
{
"operations": [
{
"operation_id": "local_001",
"type": "create",
"module": "feeding_record",
"data": {
"animal_id": 1,
"feed_type": "玉米",
"amount": 5.5,
"feeding_time": "2024-01-20 08:00:00"
},
"timestamp": 1705747200000
},
{
"operation_id": "local_002",
"type": "update",
"module": "animal",
"data": {
"id": 1,
"weight": 455.5
},
"timestamp": 1705747260000
}
]
}
```
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "同步成功",
"data": {
"sync_id": "sync_20240120_001",
"processed_count": 2,
"success_count": 2,
"failed_count": 0,
"conflicts": [],
"next_sync_time": 1705833600000
}
}
```
### 14.2 推送通知
#### 14.2.1 订阅推送通知
**接口地址**: `POST /notifications/subscribe`
**请求头**:
```
Authorization: Bearer {token}
```
**请求参数**:
```json
{
"platform": "wechat_mini",
"device_token": "wx_device_token_123",
"notification_types": [
"feeding_reminder",
"health_alert",
"order_status",
"system_notice"
],
"settings": {
"feeding_reminder": {
"enabled": true,
"time": "08:00"
},
"health_alert": {
"enabled": true,
"severity": "medium"
}
}
}
```
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "订阅成功",
"data": {
"subscription_id": "sub_20240120_001",
"status": "active",
"subscribed_types": [
"feeding_reminder",
"health_alert",
"order_status",
"system_notice"
]
}
}
```
#### 14.2.2 获取通知历史
**接口地址**: `GET /notifications/history`
**请求头**:
```
Authorization: Bearer {token}
```
**请求参数**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| page | int | 否 | 页码默认1 |
| limit | int | 否 | 每页数量默认20 |
| type | string | 否 | 通知类型筛选 |
| status | string | 否 | 状态unread,read,all |
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "获取成功",
"data": {
"list": [
{
"id": 1,
"type": "feeding_reminder",
"title": "饲喂提醒",
"content": "该给小花喂食了",
"data": {
"animal_id": 1,
"feeding_time": "08:00"
},
"status": "unread",
"created_at": "2024-01-20 08:00:00"
},
{
"id": 2,
"type": "health_alert",
"title": "健康预警",
"content": "壮壮体温异常,请及时检查",
"data": {
"animal_id": 2,
"alert_type": "temperature"
},
"status": "read",
"created_at": "2024-01-19 15:30:00"
}
],
"has_more": false,
"total": 2,
"unread_count": 1
}
}
```
### 14.3 实时消息
#### 14.3.1 建立WebSocket连接
**连接地址**: `wss://api.xlxumu.com/app/v1/ws`
**连接参数**:
```
Authorization: Bearer {token}
platform: wechat_mini
```
**消息格式**:
```json
{
"type": "message_type",
"data": {},
"timestamp": 1705747200000
}
```
#### 14.3.2 消息类型定义
**心跳消息**:
```json
{
"type": "heartbeat",
"data": {
"status": "online"
},
"timestamp": 1705747200000
}
```
**数据更新消息**:
```json
{
"type": "data_update",
"data": {
"module": "animal",
"action": "update",
"record_id": 1,
"changes": {
"weight": 455.5,
"health_status": "healthy"
}
},
"timestamp": 1705747200000
}
```
**系统通知消息**:
```json
{
"type": "system_notification",
"data": {
"title": "系统维护通知",
"content": "系统将于今晚22:00-24:00进行维护",
"level": "info",
"action_url": "/notices/detail/123"
},
"timestamp": 1705747200000
}
```
## 15. 支付宝小程序适配
### 15.1 支付宝登录
#### 15.1.1 支付宝授权登录
**接口地址**: `POST /auth/alipay/login`
**请求参数**:
```json
{
"auth_code": "alipay_auth_code",
"encrypted_data": "encrypted_user_info",
"signature": "data_signature"
}
```
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "登录成功",
"data": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"refresh_token": "refresh_token_123",
"expires_in": 7200,
"is_new_user": false,
"user": {
"id": 1,
"alipay_user_id": "alipay_user_123",
"nickname": "张三",
"avatar": "https://tfs.alipayobjects.com/avatar.jpg",
"phone": "138****8000",
"is_verified": true
}
}
}
```
### 15.2 支付宝支付
#### 15.2.1 创建支付宝支付订单
**接口地址**: `POST /payments/alipay/create`
**请求头**:
```
Authorization: Bearer {token}
```
**请求参数**:
```json
{
"order_id": "ORD20240120001",
"amount": 268.00,
"subject": "优质牛肉礼盒装",
"body": "来自锡林浩特优质牧场的新鲜牛肉",
"buyer_id": "alipay_user_123"
}
```
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "支付订单创建成功",
"data": {
"trade_no": "ALIPAY20240120001",
"order_string": "alipay_sdk=alipay-sdk-java...",
"qr_code": "https://qr.alipay.com/pay_code_123"
}
}
```
## 16. 系统配置
### 16.1 应用配置
#### 16.1.1 获取应用配置
**接口地址**: `GET /config/app`
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "获取成功",
"data": {
"app_name": "畜牧养殖助手",
"app_version": "1.0.0",
"api_version": "v1",
"upload_config": {
"max_file_size": 10485760,
"allowed_types": ["jpg", "jpeg", "png", "gif"],
"max_files_per_upload": 9
},
"payment_config": {
"supported_methods": ["wechat_mini", "alipay_mini"],
"min_amount": 0.01,
"max_amount": 50000.00
},
"business_config": {
"animal_categories": [
{
"code": "cattle",
"name": "牛",
"breeds": ["西门塔尔牛", "安格斯牛", "夏洛莱牛"]
},
{
"code": "pig",
"name": "生猪",
"breeds": ["杜洛克猪", "长白猪", "大白猪"]
}
],
"shipping_methods": [
{
"code": "express",
"name": "快递配送"
},
{
"code": "pickup",
"name": "自提"
}
]
}
}
}
```
### 16.2 地区数据
#### 16.2.1 获取省市区数据
**接口地址**: `GET /config/regions`
**请求参数**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| parent_code | string | 否 | 父级区域代码 |
| level | int | 否 | 级别1-省2-市3-区 |
**响应数据**:
```json
{
"success": true,
"code": 200,
"message": "获取成功",
"data": [
{
"code": "150000",
"name": "内蒙古自治区",
"level": 1,
"parent_code": null
},
{
"code": "152500",
"name": "锡林郭勒盟",
"level": 2,
"parent_code": "150000"
}
]
}
```
## 17. 错误处理
### 17.1 错误码定义
| 错误码 | HTTP状态码 | 错误信息 | 说明 |
|--------|------------|----------|------|
| 10001 | 400 | 参数错误 | 请求参数格式错误或缺失 |
| 10002 | 401 | 未授权 | Token无效或已过期 |
| 10003 | 403 | 禁止访问 | 权限不足 |
| 10004 | 404 | 资源不存在 | 请求的资源不存在 |
| 10005 | 422 | 参数验证失败 | 参数格式正确但验证失败 |
| 10006 | 429 | 请求过于频繁 | 触发限流 |
| 10007 | 500 | 服务器内部错误 | 系统异常 |
| 20001 | 400 | 微信授权失败 | 微信登录授权失败 |
| 20002 | 400 | 支付宝授权失败 | 支付宝登录授权失败 |
| 20003 | 400 | 手机号绑定失败 | 手机号绑定失败 |
| 20004 | 400 | 用户未实名认证 | 需要先完成实名认证 |
| 30001 | 400 | 养殖场审核中 | 养殖场正在审核中 |
| 30002 | 400 | 养殖场已存在 | 养殖场名称或编码已存在 |
| 40001 | 400 | 动物不存在 | 指定的动物不存在 |
| 40002 | 400 | 动物已售出 | 动物已经售出 |
| 50001 | 400 | 商品已下架 | 商品已经下架 |
| 50002 | 400 | 库存不足 | 商品库存不足 |
| 60001 | 400 | 订单状态错误 | 订单状态不允许此操作 |
| 60002 | 400 | 支付失败 | 支付处理失败 |
| 70001 | 400 | AI服务不可用 | AI分析服务暂时不可用 |
| 70002 | 400 | 图片格式不支持 | 上传的图片格式不支持 |
| 80001 | 400 | 离线数据冲突 | 离线数据与服务器数据冲突 |
| 80002 | 400 | 同步失败 | 数据同步失败 |
### 17.2 错误响应示例
#### 17.2.1 参数验证错误
```json
{
"success": false,
"code": 10005,
"message": "参数验证失败",
"errors": [
{
"field": "phone",
"message": "手机号格式不正确"
},
{
"field": "farm_name",
"message": "养殖场名称不能为空"
}
],
"timestamp": 1705747200000
}
```
#### 17.2.2 权限不足错误
```json
{
"success": false,
"code": 10003,
"message": "权限不足,请先完成实名认证",
"timestamp": 1705747200000
}
```
#### 17.2.3 离线数据冲突错误
```json
{
"success": false,
"code": 80001,
"message": "离线数据与服务器数据冲突",
"data": {
"conflicts": [
{
"operation_id": "local_001",
"conflict_type": "version_mismatch",
"server_version": "1.0.2",
"local_version": "1.0.1",
"resolution_options": ["use_server", "use_local", "merge"]
}
]
},
"timestamp": 1705747200000
}
```
## 18. 接口安全
### 18.1 认证机制
- **JWT Token**: 基于JWT的身份认证
- **Token刷新**: 支持Token自动刷新机制
- **设备绑定**: Token与设备信息绑定
- **过期处理**: 自动处理Token过期情况
- **多平台支持**: 支持微信小程序和支付宝小程序
### 18.2 数据加密
- **HTTPS传输**: 所有接口使用HTTPS加密传输
- **敏感数据**: 手机号、身份证等敏感信息加密存储
- **签名验证**: 关键接口支持签名验证
- **小程序加密**: 支持小程序平台的数据加密机制
### 18.3 防护措施
- **频率限制**: 接口调用频率限制
- **参数验证**: 严格的参数格式和内容验证
- **SQL注入防护**: 防止SQL注入攻击
- **XSS防护**: 防止跨站脚本攻击
- **CSRF防护**: 防止跨站请求伪造
## 19. 性能优化
### 19.1 缓存策略
- **接口缓存**: 静态数据接口缓存
- **图片CDN**: 图片资源CDN加速
- **数据预加载**: 关键数据预加载
- **离线缓存**: 支持关键数据离线缓存
- **小程序缓存**: 利用小程序本地存储优化
### 19.2 网络优化
- **数据压缩**: 响应数据Gzip压缩
- **分页加载**: 列表数据分页加载
- **图片优化**: 图片自动压缩和格式转换
- **请求合并**: 相关接口请求合并
- **游标分页**: 大数据量采用游标分页
### 19.3 小程序优化
- **包体积优化**: 减少不必要的依赖和资源
- **启动优化**: 优化小程序启动速度
- **渲染优化**: 优化页面渲染性能
- **内存管理**: 合理管理内存使用
## 20. 总结
本文档详细定义了畜牧养殖管理平台小程序APP的所有API接口涵盖了完整的业务功能和技术特性。
### 20.1 核心特性
- **移动端优化**: 专为移动端设计的轻量化接口
- **多平台支持**: 支持微信小程序和支付宝小程序
- **实时数据同步**: 支持关键业务数据实时更新
- **离线功能支持**: 关键功能支持离线访问
- **完善的支付体系**: 集成微信支付和支付宝支付
- **AI智能服务**: 体况评估、饲料配方、疾病诊断等AI功能
### 20.2 技术亮点
- **游标分页**: 采用游标分页提升大数据量加载性能
- **图片处理**: 自动生成缩略图和多尺寸图片
- **数据统计**: 丰富的个人和业务数据统计
- **消息推送**: 完善的消息通知和推送机制
- **文件上传**: 支持单张和批量图片上传
- **WebSocket**: 实时消息推送和数据同步
- **离线同步**: 支持离线操作和数据同步
### 20.3 业务覆盖
- **用户管理**: 多平台授权登录、实名认证、个人信息管理
- **养殖管理**: 养殖场和动物的全生命周期管理
- **交易功能**: 商品发布、浏览、下单、支付完整流程
- **AI服务**: 智能体况评估、饲料配方推荐、疾病诊断
- **政府监管**: 防疫管理、补贴申请等政府服务
- **数据中台**: 行业数据统计和数据共享服务
- **数据分析**: 个人和养殖场的多维度数据统计
- **消息通知**: 系统消息和业务通知的统一管理
### 20.4 后续优化方向
- **功能扩展**: 根据用户反馈持续优化功能
- **性能提升**: 接口响应速度和用户体验优化
- **平台扩展**: 支持更多小程序平台和移动应用
- **智能化升级**: 引入更多AI技术提升用户体验
- **数据分析**: 增强数据分析和商业智能功能
- **生态建设**: 构建完整的畜牧养殖生态系统