WetlandGuard-Admin/docs/智慧环境.md
2025-02-20 00:16:28 +08:00

153 KiB
Raw Permalink Blame History

title language_tabs toc_footers includes search code_clipboard highlight_theme headingLevel generator
智慧环境
shell
Shell
http
HTTP·
javascript
JavaScript
ruby
Ruby
python
Python
php
PHP
java
Java
go
Go
true true darkula 2 @tarslib/widdershins v4.0.28

智慧环境

Base URLs:

Authentication

用户管理

POST 登录

POST /api/users/login

Body 请求参数

username: admin
password: admin123

请求参数

名称 位置 类型 必选 说明
body body object none
» username body string none
» password body string none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": {
    "user": {
      "id": 0,
      "username": "string",
      "real_name": "string",
      "email": "string",
      "phone": null,
      "role_id": 0,
      "status": 0,
      "last_login": null,
      "created_at": "string"
    },
    "token": "string"
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data object true none none
»» user object true none none
»»» id integer true none none
»»» username string true none none
»»» real_name string true none none
»»» email string true none none
»»» phone null true none none
»»» role_id integer true none none
»»» status integer true none none
»»» last_login null true none none
»»» created_at string true none none
»» token string true none none

POST 创建用户

POST /api/users

Body 请求参数

username: abc
password: abc123
role_id: "3"
real_name: 张三
email: 110@qq.com
phone: "18888888888"
status: "1"
expire_time: ""

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none
» username body string 用户名(必选)
» password body string 密码(必选)
» role_id body string 角色ID必选
» real_name body string 真实姓名可选最大50个字符
» email body string 邮箱可选,需要符合邮箱格式
» phone body string 手机号可选11位手机号以1开头
» status body string 状态可选0表示禁用1表示启用默认为1
» expire_time body string 过期时间可选ISO格式的日期时间字符串

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": {
    "id": 0
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data object true none none
»» id integer true none none

PUT 更新用户

PUT /api/users/3

Body 请求参数

id: "3"
real_name: 李四
email: 1234@qq.com
phone: "18888887777"
role_id: ""
status: ""
expire_time: ""
password: ""

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none
» id body string ID 编号
» real_name body string 新的真实姓名可选最大50个字符
» email body string 新邮箱可选,需要符合邮箱格式
» phone body string 新手机号可选11位手机号
» role_id body string 新角色ID可选角色ID1:超级管理员2:管理人员3:普通用户)
» status body string 新状态可选0:禁用1:启用
» expire_time body string 过期时间可选ISO格式的日期时间
» password body string 新密码可选6-30个字符必须包含字母和数字。都是可选的但至少需要提供一个

返回示例

200 Response

{
  "success": true,
  "message": "string"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none

DELETE 删除用户

DELETE /api/users/3

请求参数

名称 位置 类型 必选 说明
id query string ID 编号
Authorization header string none

返回示例

200 Response

{
  "success": true,
  "message": "string"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none

POST 重置用户密码

POST /api/users/3/reset-password

Body 请求参数

id: "3"

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none
» id body string ID 编号

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": {
    "tempPassword": "string"
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data object true none none
»» tempPassword string true none none

角色管理接口

GET 获取所有角色

GET /api/roles

请求参数

名称 位置 类型 必选 说明
Authorization header string none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": [
    {
      "id": 0,
      "name": "string",
      "description": "string",
      "created_at": "string",
      "updated_at": "string",
      "permissions": [
        {
          "id": 0,
          "name": "string",
          "code": "string",
          "description": "string",
          "created_at": "string"
        }
      ],
      "users": [
        {
          "id": 0,
          "username": "string",
          "real_name": "string",
          "email": "string",
          "phone": null,
          "role_id": 0,
          "status": 0,
          "created_at": "string",
          "updated_at": "string"
        }
      ]
    }
  ]
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data [object] true none none
»» id integer true none none
»» name string true none none
»» description string true none none
»» created_at string true none none
»» updated_at string true none none
»» permissions [object] true none none
»»» id integer true none none
»»» name string true none none
»»» code string true none none
»»» description string true none none
»»» created_at string true none none
»» users [object] true none none
»»» id integer true none none
»»» username string true none none
»»» real_name string true none none
»»» email string¦null true none none
»»» phone null true none none
»»» role_id integer true none none
»»» status integer true none none
»»» created_at string true none none
»»» updated_at string true none none

POST 创建角色

POST /api/roles

Body 请求参数

name: 运维人员
description: 负责系统运维工作
permissions: "[1, 2, 3]"

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none
» name body string 角色名称必填最大50个字符
» description body string 角色描述可选最大500个字符
» permissions body string [1, 2, 3]可选权限ID数组

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": {
    "id": 0
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data object true none none
»» id integer true none none

GET 获取单个角色

GET /api/roles/2

Body 请求参数

id: "2"

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none
» id body string ID 编号

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": {
    "id": 0,
    "name": "string",
    "description": "string",
    "created_at": "string",
    "updated_at": "string",
    "permissions": [
      "string"
    ]
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data object true none none
»» id integer true none none
»» name string true none none
»» description string true none none
»» created_at string true none none
»» updated_at string true none none
»» permissions [string] true none none

PUT 更新角色

PUT /api/roles/4

Body 请求参数

{
  "name": "测试人员",
  "description": "系统测试人员",
  "permissions": [
    1,
    2,
    3
  ]
}

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

200 Response

{
  "success": true,
  "message": "string"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none

DELETE 删除角色

DELETE /api/roles/4

Body 请求参数

id: "4"

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none
» id body string ID 编号

返回示例

200 Response

{
  "success": true,
  "message": "string"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none

报告管理

GET 获取报告列表

GET /api/reports

Body 请求参数

{
  "page": "数字可选默认1",
  "pageSize": "数字可选默认10",
  "status": "数字,可选,筛选状态",
  "startDate": "日期字符串,可选,筛选开始日期",
  "endDate": "日期字符串,可选,筛选结束日期",
  "keyword": "字符串,可选,搜索关键词"
}

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

{
  "success": true,
  "message": "获取报告列表成功",
  "data": [
    {
      "id": 2,
      "report_code": "RPT202502130002",
      "template_id": 1,
      "title": "2024年2月13日湿地日常巡检报告",
      "content": {
        "基本信息": {
          "weather": "晴",
          "inspector": "张三",
          "temperature": 25,
          "inspection_time": "2024-02-13 09:00:00"
        },
        "水质监测": {
          "ph_value": 7.2,
          "turbidity": 3.2,
          "dissolved_oxygen": 6.5,
          "water_temperature": 18
        },
        "生态观察": {
          "photos": [
            "photo1.jpg",
            "photo2.jpg"
          ],
          "plant_status": "植物生长状况良好,未发现外来物种",
          "animal_observation": "观察到水鸟15只其中包括..."
        }
      },
      "start_date": "2024-02-12T16:00:00.000Z",
      "end_date": "2024-02-12T16:00:00.000Z",
      "status": 2,
      "reviewer_id": 1,
      "review_time": "2025-02-12T23:41:23.000Z",
      "review_comment": "这里是审核意见",
      "created_at": "2025-02-13T07:02:49.000Z",
      "updated_at": "2025-02-13T07:41:23.000Z",
      "created_by": 1,
      "updated_by": 1
    },
    {
      "id": 1,
      "report_code": "RPT202502130001",
      "template_id": 1,
      "title": "2024年2月13日湿地日常巡检报告",
      "content": {
        "基本信息": {
          "weather": "晴",
          "inspector": "张三",
          "temperature": 25,
          "inspection_time": "2024-02-13 09:00:00"
        },
        "水质监测": {
          "ph_value": 7.2,
          "turbidity": 3.2,
          "dissolved_oxygen": 6.5,
          "water_temperature": 18
        },
        "生态观察": {
          "photos": [
            "photo1.jpg",
            "photo2.jpg"
          ],
          "plant_status": "植物生长状况良好,未发现外来物种",
          "animal_observation": "观察到水鸟15只其中包括..."
        }
      },
      "start_date": "2024-02-12T16:00:00.000Z",
      "end_date": "2024-02-12T16:00:00.000Z",
      "status": 2,
      "reviewer_id": 1,
      "review_time": "2025-02-12T23:05:25.000Z",
      "review_comment": "这里是审核意见",
      "created_at": "2025-02-13T06:56:31.000Z",
      "updated_at": "2025-02-13T07:05:25.000Z",
      "created_by": 1,
      "updated_by": 1
    }
  ]
}
{
  "success": true,
  "message": "获取报告列表成功",
  "data": [
    {
      "id": 2,
      "report_code": "RPT202502130002",
      "template_id": 1,
      "title": "2024年2月13日湿地日常巡检报告",
      "content": {
        "基本信息": {
          "weather": "晴",
          "inspector": "张三",
          "temperature": 25,
          "inspection_time": "2024-02-13 09:00:00"
        },
        "水质监测": {
          "ph_value": 7.2,
          "turbidity": 3.2,
          "dissolved_oxygen": 6.5,
          "water_temperature": 18
        },
        "生态观察": {
          "photos": [
            "photo1.jpg",
            "photo2.jpg"
          ],
          "plant_status": "植物生长状况良好,未发现外来物种",
          "animal_observation": "观察到水鸟15只其中包括..."
        }
      },
      "start_date": "2024-02-12T16:00:00.000Z",
      "end_date": "2024-02-12T16:00:00.000Z",
      "status": 2,
      "reviewer_id": 1,
      "review_time": "2025-02-12T23:41:23.000Z",
      "review_comment": "这里是审核意见",
      "created_at": "2025-02-13T07:02:49.000Z",
      "updated_at": "2025-02-13T07:41:23.000Z",
      "created_by": 1,
      "updated_by": 1
    },
    {
      "id": 1,
      "report_code": "RPT202502130001",
      "template_id": 1,
      "title": "2024年2月13日湿地日常巡检报告",
      "content": {
        "基本信息": {
          "weather": "晴",
          "inspector": "张三",
          "temperature": 25,
          "inspection_time": "2024-02-13 09:00:00"
        },
        "水质监测": {
          "ph_value": 7.2,
          "turbidity": 3.2,
          "dissolved_oxygen": 6.5,
          "water_temperature": 18
        },
        "生态观察": {
          "photos": [
            "photo1.jpg",
            "photo2.jpg"
          ],
          "plant_status": "植物生长状况良好,未发现外来物种",
          "animal_observation": "观察到水鸟15只其中包括..."
        }
      },
      "start_date": "2024-02-12T16:00:00.000Z",
      "end_date": "2024-02-12T16:00:00.000Z",
      "status": 2,
      "reviewer_id": 1,
      "review_time": "2025-02-12T23:05:25.000Z",
      "review_comment": "这里是审核意见",
      "created_at": "2025-02-13T06:56:31.000Z",
      "updated_at": "2025-02-13T07:05:25.000Z",
      "created_by": 1,
      "updated_by": 1
    }
  ]
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data [object] true none none
»» id integer true none none
»» report_code string true none none
»» template_id integer true none none
»» title string true none none
»» content object true none none
»»» 基本信息 object true none none
»»»» weather string true none none
»»»» inspector string true none none
»»»» temperature integer true none none
»»»» inspection_time string true none none
»»» 水质监测 object true none none
»»»» ph_value number true none none
»»»» turbidity number true none none
»»»» dissolved_oxygen number true none none
»»»» water_temperature integer true none none
»»» 生态观察 object true none none
»»»» photos [string] true none none
»»»» plant_status string true none none
»»»» animal_observation string true none none
»» start_date string true none none
»» end_date string true none none
»» status integer true none none
»» reviewer_id integer true none none
»» review_time string true none none
»» review_comment string true none none
»» created_at string true none none
»» updated_at string true none none
»» created_by integer true none none
»» updated_by integer true none none

POST 创建报告

POST /api/reports

Body 请求参数

{
  "template_id": 1,
  "title": "2024年2月13日湿地日常巡检报告",
  "content": {
    "基本信息": {
      "inspector": "张三",
      "inspection_time": "2024-02-13 09:00:00",
      "weather": "晴",
      "temperature": 25
    },
    "水质监测": {
      "water_temperature": 18,
      "ph_value": 7.2,
      "dissolved_oxygen": 6.5,
      "turbidity": 3.2
    },
    "生态观察": {
      "plant_status": "植物生长状况良好,未发现外来物种",
      "animal_observation": "观察到水鸟15只其中包括...",
      "photos": [
        "photo1.jpg",
        "photo2.jpg"
      ]
    }
  },
  "start_date": "2024-02-13",
  "end_date": "2024-02-13"
}

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": {
    "id": 0
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data object true none none
»» id integer true none none

GET 获取报告详情

GET /api/reports/1

请求参数

名称 位置 类型 必选 说明
Authorization header string none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": {
    "id": 0,
    "report_code": "string",
    "template_id": 0,
    "report_type": "string",
    "title": "string",
    "content": {
      "基本信息": {
        "weather": "string",
        "inspector": "string",
        "temperature": 0,
        "inspection_time": "string"
      },
      "水质监测": {
        "ph_value": 0,
        "turbidity": 0,
        "dissolved_oxygen": 0,
        "water_temperature": 0
      },
      "生态观察": {
        "photos": [
          "string"
        ],
        "plant_status": "string",
        "animal_observation": "string"
      }
    },
    "start_date": "string",
    "end_date": "string",
    "status": 0,
    "reviewer_id": null,
    "review_time": null,
    "review_comment": null,
    "created_at": "string",
    "updated_at": "string",
    "created_by": 0,
    "updated_by": 0
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data object true none none
»» id integer true none none
»» report_code string true none none
»» template_id integer true none none
»» report_type string true none none
»» title string true none none
»» content object true none none
»»» 基本信息 object true none none
»»»» weather string true none none
»»»» inspector string true none none
»»»» temperature integer true none none
»»»» inspection_time string true none none
»»» 水质监测 object true none none
»»»» ph_value number true none none
»»»» turbidity number true none none
»»»» dissolved_oxygen number true none none
»»»» water_temperature integer true none none
»»» 生态观察 object true none none
»»»» photos [string] true none none
»»»» plant_status string true none none
»»»» animal_observation string true none none
»» start_date string true none none
»» end_date string true none none
»» status integer true none none
»» reviewer_id null true none none
»» review_time null true none none
»» review_comment null true none none
»» created_at string true none none
»» updated_at string true none none
»» created_by integer true none none
»» updated_by integer true none none

PUT 更新报告

PUT /api/reports/1

Body 请求参数

{
  "template_id": 1,
  "title": "2024年2月日常巡检报告",
  "content": {
    "基本信息": {
      "inspector": "李四",
      "inspection_time": "2024-02-13 09:00:00",
      "weather": "多云",
      "temperature": 25
    },
    "水质监测": {
      "water_temperature": 18,
      "ph_value": 7.2,
      "dissolved_oxygen": 6.5,
      "turbidity": 3.2
    }
  },
  "start_date": "2024-02-13",
  "end_date": "2024-02-13"
}

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

400 Response

{
  "success": true,
  "message": "string"
}

返回结果

状态码 状态码含义 说明 数据模型
400 Bad Request none Inline

返回数据结构

状态码 400

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none

DELETE 删除报告

DELETE /api/reports/1

返回示例

200 Response

{}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

POST 提交报告审核

POST /api/reports/2/submit

Body 请求参数

{}

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

400 Response

{
  "success": true,
  "message": "string"
}

返回结果

状态码 状态码含义 说明 数据模型
400 Bad Request none Inline

返回数据结构

状态码 400

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none

POST 审核报告

POST /api/reports/2/review

Body 请求参数

"{\r\n    \"status\": 2,        // 必需审核状态2-通过3-驳回\r\n    \"review_comment\": \"这里是审核意见\"  // 当status=3(驳回)时必需不超过500字符\r\n}"

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

200 Response

{
  "success": true,
  "message": "string"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none

GET 获取报告统计信息

GET /api/reports/statistics

Body 请求参数

{}

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": {
    "overview": {
      "total_reports": 0,
      "approval_rate": "string",
      "avg_review_time": "string",
      "within_24h_rate": "string"
    },
    "status_distribution": [
      {
        "status": 0,
        "count": 0
      }
    ],
    "template_usage": [
      {
        "id": 0,
        "template_name": "string",
        "usage_count": 0
      }
    ],
    "user_submissions": [
      {
        "id": 0,
        "username": "string",
        "total_submissions": 0,
        "approved_count": "string",
        "rejected_count": "string"
      }
    ],
    "time_trends": [
      {
        "time_period": "string",
        "total_count": 0,
        "approved_count": "string",
        "rejected_count": "string"
      }
    ],
    "review_efficiency": {
      "avg_review_hours": 0,
      "min_review_hours": 0,
      "max_review_hours": 0,
      "total_reviewed": 0,
      "within_24h": 0
    },
    "reviewer_performance": [
      {
        "reviewer_id": 0,
        "reviewer_name": "string",
        "total_reviewed": 0,
        "approved_count": "string",
        "rejected_count": "string",
        "avg_review_hours": "string"
      }
    ],
    "period_info": {
      "start_date": "string",
      "end_date": "string",
      "interval": "string"
    }
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data object true none none
»» overview object true none none
»»» total_reports integer true none none
»»» approval_rate string true none none
»»» avg_review_time string true none none
»»» within_24h_rate string true none none
»» status_distribution [object] true none none
»»» status integer true none none
»»» count integer true none none
»» template_usage [object] true none none
»»» id integer false none none
»»» template_name string false none none
»»» usage_count integer false none none
»» user_submissions [object] true none none
»»» id integer true none none
»»» username string true none none
»»» total_submissions integer true none none
»»» approved_count string true none none
»»» rejected_count string true none none
»» time_trends [object] true none none
»»» time_period string false none none
»»» total_count integer false none none
»»» approved_count string false none none
»»» rejected_count string false none none
»» review_efficiency object true none none
»»» avg_review_hours integer true none none
»»» min_review_hours integer true none none
»»» max_review_hours integer true none none
»»» total_reviewed integer true none none
»»» within_24h integer true none none
»» reviewer_performance [object] true none none
»»» reviewer_id integer false none none
»»» reviewer_name string false none none
»»» total_reviewed integer false none none
»»» approved_count string false none none
»»» rejected_count string false none none
»»» avg_review_hours string false none none
»» period_info object true none none
»»» start_date string true none none
»»» end_date string true none none
»»» interval string true none none

POST 批量导出报告

POST /api/reports/batch/export

Body 请求参数

"{\r\n    \"ids\": [1,2],           // 要导出的报告ID数组\r\n    \"format\": \"excel\"           // 导出格式excel/pdf/word\r\n}"

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

200 Response

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

POST 批量删除报告

POST /api/reports/batch/delete

返回示例

200 Response

{}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

POST 导出单个报告

POST /api/reports/1/export

请求参数

名称 位置 类型 必选 说明
Authorization header string none

返回示例

200 Response

{}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

报告模板

GET 获取模板列表

GET /api/reports/templates

Body 请求参数

{}

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

{
  "success": true,
  "message": "获取报告模板列表成功",
  "data": [
    {
      "id": 1,
      "template_code": "DATPL001",
      "template_name": "日常湿地巡检报告模板",
      "template_type": "daily",
      "content_structure": {
        "sections": [
          {
            "title": "基本信息",
            "fields": [
              {
                "name": "inspector",
                "type": "text",
                "label": "巡检人员3",
                "required": true
              },
              {
                "name": "inspection_time",
                "type": "datetime",
                "label": "巡检时间",
                "required": true
              },
              {
                "name": "weather",
                "type": "select",
                "label": "天气状况",
                "options": [
                  "晴",
                  "多云",
                  "阴",
                  "雨",
                  "雪"
                ],
                "required": true
              },
              {
                "name": "temperature",
                "type": "number",
                "label": "温度(℃)",
                "required": true
              }
            ]
          },
          {
            "title": "水质监测",
            "fields": [
              {
                "name": "water_temperature",
                "type": "number",
                "label": "水温(℃)",
                "required": true
              },
              {
                "max": 14,
                "min": 0,
                "name": "ph_value",
                "type": "number",
                "label": "pH值",
                "required": true
              },
              {
                "name": "dissolved_oxygen",
                "type": "number",
                "label": "溶解氧(mg/L)",
                "required": true
              },
              {
                "name": "turbidity",
                "type": "number",
                "label": "浊度(NTU)",
                "required": true
              }
            ]
          },
          {
            "title": "生态观察",
            "fields": [
              {
                "name": "plant_status",
                "type": "textarea",
                "label": "植物状况",
                "required": true,
                "placeholder": "请描述植物生长情况、是否发现外来物种等"
              },
              {
                "name": "animal_observation",
                "type": "textarea",
                "label": "动物观察",
                "required": true,
                "placeholder": "请记录观察到的动物种类、数量等"
              },
              {
                "name": "photos",
                "type": "image",
                "label": "现场照片",
                "required": true,
                "max_count": 5
              }
            ]
          },
          {
            "title": "问题记录",
            "fields": [
              {
                "name": "issues",
                "type": "checkbox",
                "label": "发现的问题",
                "options": [
                  "水质异常",
                  "植物病虫害",
                  "外来物种入侵",
                  "人为破坏",
                  "设备故障",
                  "其他"
                ],
                "required": false
              },
              {
                "name": "issue_description",
                "type": "textarea",
                "label": "问题描述",
                "required": false,
                "placeholder": "请详细描述发现的问题"
              },
              {
                "name": "emergency_level",
                "type": "radio",
                "label": "紧急程度",
                "options": [
                  "一般",
                  "较急",
                  "紧急",
                  "特急"
                ],
                "required": false
              }
            ]
          },
          {
            "title": "处理建议",
            "fields": [
              {
                "name": "suggestions",
                "type": "textarea",
                "label": "处理建议",
                "required": false,
                "placeholder": "请提出处理问题的建议"
              }
            ]
          }
        ]
      },
      "variables": {
        "location": {
          "type": "string",
          "label": "巡检地点",
          "default": "主湿地公园"
        },
        "department": {
          "type": "string",
          "label": "巡检部门",
          "default": "生态保护科"
        }
      },
      "status": 1,
      "created_at": "2025-02-13T06:43:48.000Z",
      "updated_at": "2025-02-13T06:56:26.000Z",
      "created_by": 1,
      "updated_by": 1,
      "creator_name": "系统管理员(admin)",
      "updater_name": "系统管理员(admin)"
    }
  ]
}
{
  "success": true,
  "message": "获取报告模板列表成功",
  "data": [
    {
      "id": 1,
      "template_code": "DATPL001",
      "template_name": "日常湿地巡检报告模板",
      "template_type": "daily",
      "content_structure": {
        "sections": [
          {
            "title": "基本信息",
            "fields": [
              {
                "name": "inspector",
                "type": "text",
                "label": "巡检人员3",
                "required": true
              },
              {
                "name": "inspection_time",
                "type": "datetime",
                "label": "巡检时间",
                "required": true
              },
              {
                "name": "weather",
                "type": "select",
                "label": "天气状况",
                "options": [
                  "晴",
                  "多云",
                  "阴",
                  "雨",
                  "雪"
                ],
                "required": true
              },
              {
                "name": "temperature",
                "type": "number",
                "label": "温度(℃)",
                "required": true
              }
            ]
          },
          {
            "title": "水质监测",
            "fields": [
              {
                "name": "water_temperature",
                "type": "number",
                "label": "水温(℃)",
                "required": true
              },
              {
                "max": 14,
                "min": 0,
                "name": "ph_value",
                "type": "number",
                "label": "pH值",
                "required": true
              },
              {
                "name": "dissolved_oxygen",
                "type": "number",
                "label": "溶解氧(mg/L)",
                "required": true
              },
              {
                "name": "turbidity",
                "type": "number",
                "label": "浊度(NTU)",
                "required": true
              }
            ]
          },
          {
            "title": "生态观察",
            "fields": [
              {
                "name": "plant_status",
                "type": "textarea",
                "label": "植物状况",
                "required": true,
                "placeholder": "请描述植物生长情况、是否发现外来物种等"
              },
              {
                "name": "animal_observation",
                "type": "textarea",
                "label": "动物观察",
                "required": true,
                "placeholder": "请记录观察到的动物种类、数量等"
              },
              {
                "name": "photos",
                "type": "image",
                "label": "现场照片",
                "required": true,
                "max_count": 5
              }
            ]
          },
          {
            "title": "问题记录",
            "fields": [
              {
                "name": "issues",
                "type": "checkbox",
                "label": "发现的问题",
                "options": [
                  "水质异常",
                  "植物病虫害",
                  "外来物种入侵",
                  "人为破坏",
                  "设备故障",
                  "其他"
                ],
                "required": false
              },
              {
                "name": "issue_description",
                "type": "textarea",
                "label": "问题描述",
                "required": false,
                "placeholder": "请详细描述发现的问题"
              },
              {
                "name": "emergency_level",
                "type": "radio",
                "label": "紧急程度",
                "options": [
                  "一般",
                  "较急",
                  "紧急",
                  "特急"
                ],
                "required": false
              }
            ]
          },
          {
            "title": "处理建议",
            "fields": [
              {
                "name": "suggestions",
                "type": "textarea",
                "label": "处理建议",
                "required": false,
                "placeholder": "请提出处理问题的建议"
              }
            ]
          }
        ]
      },
      "variables": {
        "location": {
          "type": "string",
          "label": "巡检地点",
          "default": "主湿地公园"
        },
        "department": {
          "type": "string",
          "label": "巡检部门",
          "default": "生态保护科"
        }
      },
      "status": 1,
      "created_at": "2025-02-13T06:43:48.000Z",
      "updated_at": "2025-02-13T06:56:26.000Z",
      "created_by": 1,
      "updated_by": 1,
      "creator_name": "系统管理员(admin)",
      "updater_name": "系统管理员(admin)"
    }
  ]
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data [string] true none none

POST 创建模板

POST /api/reports/templates

Body 请求参数

{
  "template_name": "日常湿地巡检报告模板",
  "template_type": "daily",
  "content_structure": {
    "sections": [
      {
        "title": "基本信息",
        "fields": [
          {
            "name": "inspector",
            "label": "巡检人员",
            "type": "text",
            "required": true
          },
          {
            "name": "inspection_time",
            "label": "巡检时间",
            "type": "datetime",
            "required": true
          },
          {
            "name": "weather",
            "label": "天气状况",
            "type": "select",
            "options": [
              "晴",
              "多云",
              "阴",
              "雨",
              "雪"
            ],
            "required": true
          },
          {
            "name": "temperature",
            "label": "温度(℃)",
            "type": "number",
            "required": true
          }
        ]
      },
      {
        "title": "水质监测",
        "fields": [
          {
            "name": "water_temperature",
            "label": "水温(℃)",
            "type": "number",
            "required": true
          },
          {
            "name": "ph_value",
            "label": "pH值",
            "type": "number",
            "required": true,
            "min": 0,
            "max": 14
          },
          {
            "name": "dissolved_oxygen",
            "label": "溶解氧(mg/L)",
            "type": "number",
            "required": true
          },
          {
            "name": "turbidity",
            "label": "浊度(NTU)",
            "type": "number",
            "required": true
          }
        ]
      },
      {
        "title": "生态观察",
        "fields": [
          {
            "name": "plant_status",
            "label": "植物状况",
            "type": "textarea",
            "required": true,
            "placeholder": "请描述植物生长情况、是否发现外来物种等"
          },
          {
            "name": "animal_observation",
            "label": "动物观察",
            "type": "textarea",
            "required": true,
            "placeholder": "请记录观察到的动物种类、数量等"
          },
          {
            "name": "photos",
            "label": "现场照片",
            "type": "image",
            "required": true,
            "max_count": 5
          }
        ]
      },
      {
        "title": "问题记录",
        "fields": [
          {
            "name": "issues",
            "label": "发现的问题",
            "type": "checkbox",
            "options": [
              "水质异常",
              "植物病虫害",
              "外来物种入侵",
              "人为破坏",
              "设备故障",
              "其他"
            ],
            "required": false
          },
          {
            "name": "issue_description",
            "label": "问题描述",
            "type": "textarea",
            "required": false,
            "placeholder": "请详细描述发现的问题"
          },
          {
            "name": "emergency_level",
            "label": "紧急程度",
            "type": "radio",
            "options": [
              "一般",
              "较急",
              "紧急",
              "特急"
            ],
            "required": false
          }
        ]
      },
      {
        "title": "处理建议",
        "fields": [
          {
            "name": "suggestions",
            "label": "处理建议",
            "type": "textarea",
            "required": false,
            "placeholder": "请提出处理问题的建议"
          }
        ]
      }
    ]
  },
  "variables": {
    "location": {
      "type": "string",
      "label": "巡检地点",
      "default": "主湿地公园"
    },
    "department": {
      "type": "string",
      "label": "巡检部门",
      "default": "生态保护科"
    }
  },
  "status": 1
}

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": {
    "id": 0
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data object true none none
»» id integer true none none

GET 获取模板详情

GET /api/reports/templates/1

请求参数

名称 位置 类型 必选 说明
Authorization header string none

返回示例

{
  "success": true,
  "message": "获取报告模板详情成功",
  "data": {
    "id": 1,
    "template_code": "DATPL001",
    "template_name": "日常湿地巡检报告模板",
    "template_type": "daily",
    "content_structure": {
      "sections": [
        {
          "title": "基本信息",
          "fields": [
            {
              "name": "inspector",
              "type": "text",
              "label": "巡检人员3",
              "required": true
            },
            {
              "name": "inspection_time",
              "type": "datetime",
              "label": "巡检时间",
              "required": true
            },
            {
              "name": "weather",
              "type": "select",
              "label": "天气状况",
              "options": [
                "晴",
                "多云",
                "阴",
                "雨",
                "雪"
              ],
              "required": true
            },
            {
              "name": "temperature",
              "type": "number",
              "label": "温度(℃)",
              "required": true
            }
          ]
        },
        {
          "title": "水质监测",
          "fields": [
            {
              "name": "water_temperature",
              "type": "number",
              "label": "水温(℃)",
              "required": true
            },
            {
              "max": 14,
              "min": 0,
              "name": "ph_value",
              "type": "number",
              "label": "pH值",
              "required": true
            },
            {
              "name": "dissolved_oxygen",
              "type": "number",
              "label": "溶解氧(mg/L)",
              "required": true
            },
            {
              "name": "turbidity",
              "type": "number",
              "label": "浊度(NTU)",
              "required": true
            }
          ]
        },
        {
          "title": "生态观察",
          "fields": [
            {
              "name": "plant_status",
              "type": "textarea",
              "label": "植物状况",
              "required": true,
              "placeholder": "请描述植物生长情况、是否发现外来物种等"
            },
            {
              "name": "animal_observation",
              "type": "textarea",
              "label": "动物观察",
              "required": true,
              "placeholder": "请记录观察到的动物种类、数量等"
            },
            {
              "name": "photos",
              "type": "image",
              "label": "现场照片",
              "required": true,
              "max_count": 5
            }
          ]
        },
        {
          "title": "问题记录",
          "fields": [
            {
              "name": "issues",
              "type": "checkbox",
              "label": "发现的问题",
              "options": [
                "水质异常",
                "植物病虫害",
                "外来物种入侵",
                "人为破坏",
                "设备故障",
                "其他"
              ],
              "required": false
            },
            {
              "name": "issue_description",
              "type": "textarea",
              "label": "问题描述",
              "required": false,
              "placeholder": "请详细描述发现的问题"
            },
            {
              "name": "emergency_level",
              "type": "radio",
              "label": "紧急程度",
              "options": [
                "一般",
                "较急",
                "紧急",
                "特急"
              ],
              "required": false
            }
          ]
        },
        {
          "title": "处理建议",
          "fields": [
            {
              "name": "suggestions",
              "type": "textarea",
              "label": "处理建议",
              "required": false,
              "placeholder": "请提出处理问题的建议"
            }
          ]
        }
      ]
    },
    "variables": {
      "location": {
        "type": "string",
        "label": "巡检地点",
        "default": "主湿地公园"
      },
      "department": {
        "type": "string",
        "label": "巡检部门",
        "default": "生态保护科"
      }
    },
    "status": 1,
    "created_at": "2025-02-13T06:43:48.000Z",
    "updated_at": "2025-02-13T06:56:26.000Z",
    "created_by": 1,
    "updated_by": 1,
    "creator_name": "系统管理员(admin)",
    "updater_name": "系统管理员(admin)"
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data object true none none
»» id integer true none none
»» template_code string true none none
»» template_name string true none none
»» template_type string true none none
»» content_structure object true none none
»»» sections [object] true none none
»»»» title string true none none
»»»» fields [object] true none none
»»»»» name string true none none
»»»»» type string true none none
»»»»» label string true none none
»»»»» required boolean true none none
»»»»» options [string] true none none
»»»»» max integer false none none
»»»»» min integer false none none
»»»»» placeholder string true none none
»»»»» max_count integer false none none
»» variables object true none none
»»» location object true none none
»»»» type string true none none
»»»» label string true none none
»»»» default string true none none
»»» department object true none none
»»»» type string true none none
»»»» label string true none none
»»»» default string true none none
»» status integer true none none
»» created_at string true none none
»» updated_at string true none none
»» created_by integer true none none
»» updated_by integer true none none
»» creator_name string true none none
»» updater_name string true none none

PUT 更新模板

PUT /api/reports/templates/1

Body 请求参数

{
  "template_name": "日常湿地巡检报告模板",
  "template_type": "daily",
  "content_structure": {
    "sections": [
      {
        "title": "基本信息",
        "fields": [
          {
            "name": "inspector",
            "label": "巡检人员3",
            "type": "text",
            "required": true
          },
          {
            "name": "inspection_time",
            "label": "巡检时间",
            "type": "datetime",
            "required": true
          },
          {
            "name": "weather",
            "label": "天气状况",
            "type": "select",
            "options": [
              "晴",
              "多云",
              "阴",
              "雨",
              "雪"
            ],
            "required": true
          },
          {
            "name": "temperature",
            "label": "温度(℃)",
            "type": "number",
            "required": true
          }
        ]
      },
      {
        "title": "水质监测",
        "fields": [
          {
            "name": "water_temperature",
            "label": "水温(℃)",
            "type": "number",
            "required": true
          },
          {
            "name": "ph_value",
            "label": "pH值",
            "type": "number",
            "required": true,
            "min": 0,
            "max": 14
          },
          {
            "name": "dissolved_oxygen",
            "label": "溶解氧(mg/L)",
            "type": "number",
            "required": true
          },
          {
            "name": "turbidity",
            "label": "浊度(NTU)",
            "type": "number",
            "required": true
          }
        ]
      },
      {
        "title": "生态观察",
        "fields": [
          {
            "name": "plant_status",
            "label": "植物状况",
            "type": "textarea",
            "required": true,
            "placeholder": "请描述植物生长情况、是否发现外来物种等"
          },
          {
            "name": "animal_observation",
            "label": "动物观察",
            "type": "textarea",
            "required": true,
            "placeholder": "请记录观察到的动物种类、数量等"
          },
          {
            "name": "photos",
            "label": "现场照片",
            "type": "image",
            "required": true,
            "max_count": 5
          }
        ]
      },
      {
        "title": "问题记录",
        "fields": [
          {
            "name": "issues",
            "label": "发现的问题",
            "type": "checkbox",
            "options": [
              "水质异常",
              "植物病虫害",
              "外来物种入侵",
              "人为破坏",
              "设备故障",
              "其他"
            ],
            "required": false
          },
          {
            "name": "issue_description",
            "label": "问题描述",
            "type": "textarea",
            "required": false,
            "placeholder": "请详细描述发现的问题"
          },
          {
            "name": "emergency_level",
            "label": "紧急程度",
            "type": "radio",
            "options": [
              "一般",
              "较急",
              "紧急",
              "特急"
            ],
            "required": false
          }
        ]
      },
      {
        "title": "处理建议",
        "fields": [
          {
            "name": "suggestions",
            "label": "处理建议",
            "type": "textarea",
            "required": false,
            "placeholder": "请提出处理问题的建议"
          }
        ]
      }
    ]
  },
  "variables": {
    "location": {
      "type": "string",
      "label": "巡检地点",
      "default": "主湿地公园"
    },
    "department": {
      "type": "string",
      "label": "巡检部门",
      "default": "生态保护科"
    }
  },
  "status": 1
}

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

200 Response

{
  "success": true,
  "message": "string"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none

DELETE 删除模板

DELETE /api/reports/templates/1

返回示例

200 Response

{}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

PUT 更新模板状态

PUT /api/reports/templates/1/status

Body 请求参数

"{\r\n    \"status\": 1  // 必填数字类型0-禁用1-启用\r\n}"

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

200 Response

{
  "success": true,
  "message": "string"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none

AIGC接口

GET 预警关键词

GET /

返回示例

200 Response

{}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

课程管理

GET 获取课程列表

GET /api/education/courses

Body 请求参数

"{\r\n    \"keyword\": \"搜索关键词\",  // 可选,搜索标题或描述\r\n    \"category\": \"wetland\",   // 可选课程类别wetland/ecology/species/environment\r\n    \"difficulty_level\": 1,   // 可选难度等级1-入门 2-初级 3-中级 4-高级\r\n    \"target_audience\": \"all\", // 可选目标受众child/teenager/adult/senior/all\r\n    \"page\": 1,              // 可选默认1\r\n    \"pageSize\": 10          // 可选默认10\r\n}"

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

{
  "success": true,
  "message": "获取课程列表成功",
  "data": [
    {
      "id": 1,
      "course_code": "C2502160001",
      "title": "课程标题",
      "category": "wetland",
      "cover_image": "图片URL",
      "description": "课程描述",
      "content": {},
      "duration": 60,
      "target_audience": "all",
      "difficulty_level": 1,
      "status": 1,
      "created_at": "2025-02-16T02:28:18.000Z",
      "updated_at": "2025-02-16T02:28:18.000Z",
      "created_by": 1,
      "updated_by": 1
    },
    {
      "id": 2,
      "course_code": "C2502160002",
      "title": "课程标题",
      "category": "wetland",
      "cover_image": "图片URL",
      "description": "课程描述",
      "content": {},
      "duration": 60,
      "target_audience": "all",
      "difficulty_level": 1,
      "status": 1,
      "created_at": "2025-02-16T02:30:05.000Z",
      "updated_at": "2025-02-16T02:30:05.000Z",
      "created_by": 1,
      "updated_by": 1
    }
  ]
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data [object] true none none
»» id integer true none none
»» course_code string true none none
»» title string true none none
»» category string true none none
»» cover_image string true none none
»» description string true none none
»» content object true none none
»» duration integer true none none
»» target_audience string true none none
»» difficulty_level integer true none none
»» status integer true none none
»» created_at string true none none
»» updated_at string true none none
»» created_by integer true none none
»» updated_by integer true none none

POST 创建课程

POST /api/education/courses

Body 请求参数

"{\r\n    \"title\": \"课程标题\",           // 必需最大200字符\r\n    \"category\": \"wetland\",        // 必需课程类别wetland/ecology/species/environment\r\n    \"cover_image\": \"图片URL\",     // 可选,封面图片\r\n    \"description\": \"课程描述\",     // 可选,课程描述\r\n    \"content\": {                  // 必需课程内容JSON对象\r\n        // 课程具体内容结构\r\n    },\r\n    \"duration\": 60,              // 可选,课程时长(分钟)\r\n    \"target_audience\": \"all\",    // 可选,目标受众\r\n    \"difficulty_level\": 1,       // 可选,难度等级\r\n    \"status\": 1                  // 可选状态0-下架 1-上架默认0\r\n}"

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

{
  "success": true,
  "message": "创建课程成功",
  "data": {
    "id": 2
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data object true none none
»» id integer true none none

GET 获取课程详情

GET /api/education/courses/1

请求参数

名称 位置 类型 必选 说明
Authorization header string none

返回示例

{
  "success": true,
  "message": "获取课程详情成功",
  "data": {
    "id": 1,
    "course_code": "C2502160001",
    "title": "课程标题",
    "category": "wetland",
    "cover_image": "图片URL",
    "description": "课程描述",
    "content": {},
    "duration": 60,
    "target_audience": "all",
    "difficulty_level": 1,
    "status": 1,
    "created_at": "2025-02-16T02:28:18.000Z",
    "updated_at": "2025-02-16T02:28:18.000Z",
    "created_by": 1,
    "updated_by": 1
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data object true none none
»» id integer true none none
»» course_code string true none none
»» title string true none none
»» category string true none none
»» cover_image string true none none
»» description string true none none
»» content object true none none
»» duration integer true none none
»» target_audience string true none none
»» difficulty_level integer true none none
»» status integer true none none
»» created_at string true none none
»» updated_at string true none none
»» created_by integer true none none
»» updated_by integer true none none

PUT 更新课程

PUT /api/education/courses/1

Body 请求参数

"// 至少包含一个要更新的字段)\r\n{\r\n    \"title\": \"新标题\",           // 可选\r\n    \"category\": \"ecology\",      // 可选\r\n    \"cover_image\": \"\",  // 可选\r\n    \"description\": \"新描述\",     // 可选\r\n    \"content\": {},             // 可选\r\n    \"duration\": 90,            // 可选\r\n    \"target_audience\": \"adult\", // 可选\r\n    \"difficulty_level\": 2,     // 可选\r\n    \"status\": 0               // 可选\r\n}"

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

{
  "success": true,
  "message": "更新课程成功"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none

DELETE 删除课程

DELETE /api/education/courses/2

请求参数

名称 位置 类型 必选 说明
Authorization header string none

返回示例

200 Response

{
  "success": true,
  "message": "string"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none

PUT 更新课程状态

PUT /api/education/courses/1/status

Body 请求参数

"{\r\n    \"status\": 1  // 必需0-下架 1-上架\r\n}"

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

200 Response

{
  "success": true,
  "message": "string"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none

GET 获取课程统计

GET /api/education/courses/statistics/overview

请求参数

名称 位置 类型 必选 说明
Authorization header string none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": [
    {
      "category": "string",
      "total_count": 0,
      "online_count": "string"
    }
  ]
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data [object] true none none
»» category string false none none
»» total_count integer false none none
»» online_count string false none none

GET 获取热门课程

GET /api/education/courses/hot

请求参数

名称 位置 类型 必选 说明
Authorization header string none

返回示例

200 Response

{}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

研学活动管理

POST 创建活动

POST /api/education/activities

Body 请求参数

{
  "title": "湿地生态系统考察活动",
  "category": "field_study",
  "start_time": "2024-03-20 09:00:00",
  "end_time": "2024-03-20 16:00:00",
  "location": "杭州西湖湿地公园",
  "capacity": 30,
  "description": "通过实地考察了解湿地生态系统的构成和保护措施",
  "requirements": "1. 年龄8岁以上\n2. 需要家长陪同\n3. 请穿着运动鞋",
  "cost": 50,
  "status": 1
}

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": {
    "id": 0
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data object true none none
»» id integer true none none

GET 获取活动列表

GET /api/education/activities

请求参数

名称 位置 类型 必选 说明
Authorization header string none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": [
    {
      "id": 0,
      "activity_code": "string",
      "title": "string",
      "category": "string",
      "start_time": "string",
      "end_time": "string",
      "location": "string",
      "capacity": 0,
      "enrolled_count": 0,
      "description": "string",
      "requirements": "string",
      "cost": "string",
      "status": 0,
      "created_at": "string",
      "updated_at": "string",
      "created_by": 0,
      "updated_by": 0
    }
  ]
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data [object] true none none
»» id integer false none none
»» activity_code string false none none
»» title string false none none
»» category string false none none
»» start_time string false none none
»» end_time string false none none
»» location string false none none
»» capacity integer false none none
»» enrolled_count integer false none none
»» description string false none none
»» requirements string false none none
»» cost string false none none
»» status integer false none none
»» created_at string false none none
»» updated_at string false none none
»» created_by integer false none none
»» updated_by integer false none none

GET 获取活动详情

GET /api/education/activities/1

请求参数

名称 位置 类型 必选 说明
Authorization header string none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": {
    "id": 0,
    "activity_code": "string",
    "title": "string",
    "category": "string",
    "start_time": "string",
    "end_time": "string",
    "location": "string",
    "capacity": 0,
    "enrolled_count": 0,
    "description": "string",
    "requirements": "string",
    "cost": "string",
    "status": 0,
    "created_at": "string",
    "updated_at": "string",
    "created_by": 0,
    "updated_by": 0
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data object true none none
»» id integer true none none
»» activity_code string true none none
»» title string true none none
»» category string true none none
»» start_time string true none none
»» end_time string true none none
»» location string true none none
»» capacity integer true none none
»» enrolled_count integer true none none
»» description string true none none
»» requirements string true none none
»» cost string true none none
»» status integer true none none
»» created_at string true none none
»» updated_at string true none none
»» created_by integer true none none
»» updated_by integer true none none

PUT 更新活动

PUT /api/education/activities/1

Body 请求参数

{
  "description": "通过实地考察了解湿地生态系统的构成和保护措施,包括植物观察和水质检测",
  "requirements": "1. 年龄8岁以上\n2. 需要家长陪同\n3. 请穿着运动鞋\n4. 自备饮用水",
  "capacity": 35
}

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

200 Response

{
  "success": true,
  "message": "string"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none

PUT 更新活动状态

PUT /api/education/activities/1/status

Body 请求参数

"{\r\n    \"status\": 1  // 设置为报名中\r\n}\r\n// {\r\n//     0: \"已取消\",\r\n//     1: \"报名中\",\r\n//     2: \"已截止\",\r\n//     3: \"进行中\",\r\n//     4: \"已结束\"\r\n// }"

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

200 Response

{
  "success": true,
  "message": "string"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none

GET 获取活动统计

GET /api/education/activities/statistics/overview

请求参数

名称 位置 类型 必选 说明
Authorization header string none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": [
    {
      "category": "string",
      "total_count": 0,
      "enrolling_count": "string",
      "in_progress_count": "string",
      "completed_count": "string",
      "total_enrollments": "string"
    }
  ]
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data [object] true none none
»» category string false none none
»» total_count integer false none none
»» enrolling_count string false none none
»» in_progress_count string false none none
»» completed_count string false none none
»» total_enrollments string false none none

GET 检查活动容量

GET /api/education/activities/1/capacity

Body 请求参数

{
  "limit": 1
}

请求参数

名称 位置 类型 必选 说明
limit query string none
Authorization header string none
body body object none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": {
    "is_full": true
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data object true none none
»» is_full boolean true none none

GET 获取分类活动

GET /api/education/activities/category/field_study

Body 请求参数

"{\r\n    \"field_study\": \"野外考察\",\r\n//     \"experiment\": \"科学实验\",\r\n//     \"workshop\": \"工作坊\",\r\n//     \"lecture\": \"专题讲座\",\r\n//     \"competition\": \"科普竞赛\"\r\n}"

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": [
    {
      "id": 0,
      "activity_code": "string",
      "title": "string",
      "category": "string",
      "start_time": "string",
      "end_time": "string",
      "location": "string",
      "capacity": 0,
      "enrolled_count": 0,
      "description": "string",
      "requirements": "string",
      "cost": "string",
      "status": 0,
      "created_at": "string",
      "updated_at": "string",
      "created_by": 0,
      "updated_by": 0
    }
  ]
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data [object] true none none
»» id integer false none none
»» activity_code string false none none
»» title string false none none
»» category string false none none
»» start_time string false none none
»» end_time string false none none
»» location string false none none
»» capacity integer false none none
»» enrolled_count integer false none none
»» description string false none none
»» requirements string false none none
»» cost string false none none
»» status integer false none none
»» created_at string false none none
»» updated_at string false none none
»» created_by integer false none none
»» updated_by integer false none none

POST 取消活动

POST /api/education/activities/1/cancel

请求参数

名称 位置 类型 必选 说明
Authorization header string none

返回示例

200 Response

{
  "success": true,
  "message": "string"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none

POST 批量取消活动

POST /api/education/activities/batch/cancel

Body 请求参数

{
  "ids": [
    1,
    2
  ]
}

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

200 Response

{
  "success": true,
  "message": "string"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none

知识库管理

POST 创建知识条目

POST /api/education/knowledge

Body 请求参数

{
  "title": "湿地生态系统的重要性",
  "category": "wetland_science",
  "content": "湿地生态系统是地球上最重要的生态系统之一...",
  "cover_image": "https://example.com/images/wetland.jpg",
  "tags": [
    "湿地保护",
    "生态系统",
    "生物多样性"
  ],
  "status": 1
}

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": {
    "id": 0
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data object true none none
»» id integer true none none

GET 获取知识列表

GET /api/education/knowledge

请求参数

名称 位置 类型 必选 说明
Authorization header string none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": [
    {
      "id": 0,
      "title": "string",
      "category": "string",
      "content": "string",
      "cover_image": "string",
      "tags": [
        "string"
      ],
      "view_count": 0,
      "like_count": 0,
      "status": 0,
      "created_at": "string",
      "updated_at": "string",
      "created_by": 0,
      "updated_by": 0
    }
  ]
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data [object] true none none
»» id integer false none none
»» title string false none none
»» category string false none none
»» content string false none none
»» cover_image string false none none
»» tags [string] false none none
»» view_count integer false none none
»» like_count integer false none none
»» status integer false none none
»» created_at string false none none
»» updated_at string false none none
»» created_by integer false none none
»» updated_by integer false none none

GET 获取知识详情

GET /api/education/knowledge/1

请求参数

名称 位置 类型 必选 说明
Authorization header string none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": {
    "id": 0,
    "title": "string",
    "category": "string",
    "content": "string",
    "cover_image": "string",
    "tags": [
      "string"
    ],
    "view_count": 0,
    "like_count": 0,
    "status": 0,
    "created_at": "string",
    "updated_at": "string",
    "created_by": 0,
    "updated_by": 0
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data object true none none
»» id integer true none none
»» title string true none none
»» category string true none none
»» content string true none none
»» cover_image string true none none
»» tags [string] true none none
»» view_count integer true none none
»» like_count integer true none none
»» status integer true none none
»» created_at string true none none
»» updated_at string true none none
»» created_by integer true none none
»» updated_by integer true none none

PUT 更新知识条目

PUT /api/education/knowledge/1

Body 请求参数

{
  "title": "湿地生态系统保护指南",
  "content": "更新后的内容...",
  "tags": [
    "湿地保护",
    "生态系统",
    "环境保护",
    "科普教育"
  ]
}

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

200 Response

{
  "success": true,
  "message": "string"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none

PUT 更新知识状态

PUT /api/education/knowledge/1/status

Body 请求参数

{
  "status": 0
}

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

200 Response

{
  "success": true,
  "message": "string"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none

POST 增加浏览次数

POST /api/education/knowledge/1/view

请求参数

名称 位置 类型 必选 说明
Authorization header string none

返回示例

200 Response

{
  "success": true,
  "message": "string"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none

POST 增加点赞次数

POST /api/education/knowledge/1/like

请求参数

名称 位置 类型 必选 说明
Authorization header string none

返回示例

200 Response

{
  "success": true,
  "message": "string"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none

POST 根据标签获取知识

POST /api/education/knowledge/tags

Body 请求参数

{
  "tags": [
    "湿地保护",
    "生态系统",
    "环境保护",
    "科普教育"
  ]
}

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": [
    {
      "id": 0,
      "title": "string",
      "category": "string",
      "content": "string",
      "cover_image": "string",
      "tags": [
        "string"
      ],
      "view_count": 0,
      "like_count": 0,
      "status": 0,
      "created_at": "string",
      "updated_at": "string",
      "created_by": 0,
      "updated_by": 0
    }
  ]
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data [object] true none none
»» id integer false none none
»» title string false none none
»» category string false none none
»» content string false none none
»» cover_image string false none none
»» tags [string] false none none
»» view_count integer false none none
»» like_count integer false none none
»» status integer false none none
»» created_at string false none none
»» updated_at string false none none
»» created_by integer false none none
»» updated_by integer false none none

GET 获取知识统计

GET /api/education/knowledge/statistics/overview

请求参数

名称 位置 类型 必选 说明
Authorization header string none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": [
    {
      "category": "string",
      "total_count": 0,
      "online_count": "string",
      "total_views": "string",
      "total_likes": "string"
    }
  ]
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data [object] true none none
»» category string false none none
»» total_count integer false none none
»» online_count string false none none
»» total_views string false none none
»» total_likes string false none none

POST 批量更新知识状态

POST /api/education/knowledge/batch/status

Body 请求参数

"{\r\n    \"ids\": [1, 2, 3],  // 要更新的知识ID数组\r\n    \"status\": 1      // 要更新的状态值0-下架1-上架\r\n}"

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

200 Response

{
  "success": true,
  "message": "string"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none

POST 批量删除知识

POST /api/education/knowledge/batch/delete

Body 请求参数

"{\r\n    \"ids\": [1, 2]  // 要删除的知识ID数组\r\n}"

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

200 Response

{
  "success": true,
  "message": "string"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none

DELETE 删除知识条目

DELETE /api/education/knowledge/3

请求参数

名称 位置 类型 必选 说明
Authorization header string none

返回示例

200 Response

{
  "success": true,
  "message": "string"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none

设备接口

POST 上传设备数据

POST /api/device/update

(不要做用户鉴权)

Body 请求参数

"{\n    \"temperature\":{{$number.int(max=100)}},\n    \"humidity\": {{$number.int(max=100)}}\n}"

请求参数

名称 位置 类型 必选 说明
token header string none
body body object none

返回示例

200 Response

{}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

课程报名/管理端接口

GET 获取报名记录列表

GET /api/admin/courses/{courseId}/enrollments

Body 请求参数

"// GET /api/admin/courses/:courseId/enrollments\r\n\r\n// 请求参数:\r\n// - courseId: 课程ID路径参数必填\r\n\r\n// 响应数据:\r\n// {\r\n//     \"success\": true,\r\n//     \"message\": \"获取报名记录列表成功\",\r\n//     \"data\": [\r\n//         {\r\n//             \"id\": \"报名记录ID\",\r\n//             \"course_id\": \"课程ID\",\r\n//             \"user_id\": \"用户ID\",\r\n//             \"username\": \"用户名\",\r\n//             \"real_name\": \"真实姓名\",\r\n//             \"enrollment_time\": \"报名时间\",\r\n//             \"start_time\": \"开始学习时间\",\r\n//             \"complete_time\": \"完成时间\",\r\n//             \"progress\": \"学习进度\",\r\n//             \"status\": \"状态\"\r\n//         }\r\n//     ]\r\n// }"

请求参数

名称 位置 类型 必选 说明
courseId path string none
body body object none

返回示例

200 Response

{}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

GET 获取报名统计信息

GET /api/admin/courses/{courseId}/enrollments/statistics

Body 请求参数

"// 请求参数:\r\n// - courseId: 课程ID路径参数必填\r\n\r\n// 响应数据:\r\n// {\r\n//     \"success\": true,\r\n//     \"message\": \"获取报名统计信息成功\",\r\n//     \"data\": {\r\n//         \"total_enrollments\": \"总报名人数\",\r\n//         \"in_progress_count\": \"学习中人数\",\r\n//         \"completed_count\": \"已完成人数\",\r\n//         \"cancelled_count\": \"已取消人数\",\r\n//         \"average_progress\": \"平均学习进度\"\r\n//     }\r\n// }"

请求参数

名称 位置 类型 必选 说明
courseId path string none
body body object none

返回示例

200 Response

{}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

GET 导出报名数据

GET /api/admin/courses/{courseId}/enrollments/export

Body 请求参数

"// 请求参数:\r\n// - courseId: 课程ID路径参数必填\r\n\r\n// 响应数据:\r\n// {\r\n//     \"success\": true,\r\n//     \"message\": \"导出报名数据成功\",\r\n//     \"data\": {\r\n//         \"file_path\": \"导出文件路径\"\r\n//     }\r\n// }"

请求参数

名称 位置 类型 必选 说明
courseId path string none
body body object none

返回示例

200 Response

{}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

课程报名/客户端接口

GET 获取我的报名记录

GET /api/client/courses/enrollments/my

Body 请求参数

"\r\n// 请求参数:\r\n// - 无通过token获取用户ID\r\n\r\n// 响应数据:\r\n// {\r\n//     \"success\": true,\r\n//     \"message\": \"获取报名记录列表成功\",\r\n//     \"data\": [\r\n//         {\r\n//             \"id\": \"报名记录ID\",\r\n//             \"course_id\": \"课程ID\",\r\n//             \"course_title\": \"课程标题\",\r\n//             \"course_category\": \"课程类别\",\r\n//             \"course_cover\": \"课程封面\",\r\n//             \"enrollment_time\": \"报名时间\",\r\n//             \"start_time\": \"开始学习时间\",\r\n//             \"complete_time\": \"完成时间\",\r\n//             \"progress\": \"学习进度\",\r\n//             \"status\": \"状态\"\r\n//         }\r\n//     ]\r\n// }"

请求参数

名称 位置 类型 必选 说明
body body object none

返回示例

200 Response

{}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

POST 报名课程

POST /api/client/courses/{courseId}/enroll

Body 请求参数

"// 请求参数:\r\n// - courseId: 课程ID路径参数必填\r\n// - 用户ID通过token获取\r\n\r\n// 响应数据:\r\n// {\r\n//     \"success\": true,\r\n//     \"message\": \"报名课程成功\",\r\n//     \"data\": {\r\n//         \"id\": \"报名记录ID\"\r\n//     }\r\n// }"

请求参数

名称 位置 类型 必选 说明
courseId path string none
body body object none

返回示例

200 Response

{}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

GET 获取报名记录详情

GET /api/client/courses/enrollments/{enrollmentId}

Body 请求参数

"// 请求参数:\r\n// - enrollmentId: 报名记录ID路径参数必填\r\n// - 用户ID通过token获取\r\n\r\n// 响应数据:\r\n// {\r\n//     \"success\": true,\r\n//     \"message\": \"获取报名记录详情成功\",\r\n//     \"data\": {\r\n//         \"id\": \"报名记录ID\",\r\n//         \"course_id\": \"课程ID\",\r\n//         \"course_title\": \"课程标题\",\r\n//         \"enrollment_time\": \"报名时间\",\r\n//         \"start_time\": \"开始学习时间\",\r\n//         \"complete_time\": \"完成时间\",\r\n//         \"progress\": \"学习进度\",\r\n//         \"status\": \"状态\"\r\n//     }\r\n// }"

请求参数

名称 位置 类型 必选 说明
enrollmentId path string none
body body object none

返回示例

200 Response

{}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

POST 取消报名

POST /api/client/courses/enrollments/{enrollmentId}/cancel

Body 请求参数

"// 请求参数:\r\n// - enrollmentId: 报名记录ID路径参数必填\r\n// - 用户ID通过token获取\r\n\r\n// 响应数据:\r\n// {\r\n//     \"success\": true,\r\n//     \"message\": \"取消报名成功\"\r\n// }"

请求参数

名称 位置 类型 必选 说明
enrollmentId path string none
body body object none

返回示例

200 Response

{}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

PUT 更新学习进度

PUT /api/client/courses/enrollments/{enrollmentId}/progress

Body 请求参数

"// 请求参数:\r\n// - enrollmentId: 报名记录ID路径参数必填\r\n// - 用户ID通过token获取\r\n// 请求体:\r\n// {\r\n//     \"progress\": \"学习进度(0-100的数字)\",\r\n//     \"duration\": \"本次学习时长(秒,可选)\"\r\n// }\r\n\r\n// 响应数据:\r\n// {\r\n//     \"success\": true,\r\n//     \"message\": \"更新学习进度成功\"\r\n// }"

请求参数

名称 位置 类型 必选 说明
enrollmentId path string none
body body object none

返回示例

200 Response

{}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

意见反馈/管理端

GET 获取反馈列表

GET /api/admin/feedbacks

请求参数

名称 位置 类型 必选 说明
Authorization header string none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": {
    "list": [
      "string"
    ],
    "pagination": {
      "total": 0,
      "total_pages": null
    }
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data object true none none
»» list [string] true none none
»» pagination object true none none
»»» total integer true none none
»»» total_pages null true none none

GET 获取反馈详情

GET /api/admin/feedbacks/1

请求参数

名称 位置 类型 必选 说明
Authorization header string none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": {
    "id": 0,
    "user_id": 0,
    "feedback_type": "string",
    "title": "string",
    "content": "string",
    "image_urls": [
      "string"
    ],
    "location_point": {
      "x": 0,
      "y": 0
    },
    "location_description": "string",
    "status": 0,
    "handler_id": null,
    "handling_time": null,
    "handling_result": null,
    "created_at": "string",
    "updated_at": "string",
    "longitude": 0,
    "latitude": 0,
    "user_name": "string",
    "user_real_name": "string",
    "handler_name": null,
    "handler_real_name": null
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data object true none none
»» id integer true none none
»» user_id integer true none none
»» feedback_type string true none none
»» title string true none none
»» content string true none none
»» image_urls [string] true none none
»» location_point object true none none
»»» x number true none none
»»» y number true none none
»» location_description string true none none
»» status integer true none none
»» handler_id null true none none
»» handling_time null true none none
»» handling_result null true none none
»» created_at string true none none
»» updated_at string true none none
»» longitude number true none none
»» latitude number true none none
»» user_name string true none none
»» user_real_name string true none none
»» handler_name null true none none
»» handler_real_name null true none none

PUT 更新反馈状态

PUT /api/admin/feedbacks/1/status

Body 请求参数

"// 更新为处理中\r\n{\r\n    \"status\": 1\r\n}\r\n\r\n// // 更新为已处理\r\n// {\r\n//     \"status\": 2,\r\n//     \"handling_result\": \"问题已解决:...\"\r\n// }\r\n\r\n// // 更新为已关闭\r\n// {\r\n//     \"status\": 3\r\n// }"

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

200 Response

{
  "success": true,
  "message": "string"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none

意见反馈/客户端

POST 创建反馈

POST /api/client/feedbacks

Body 请求参数

"{\r\n    \"feedback_type\": \"problem\",  // 必填反馈类型problem-问题报告/suggestion-建议/complaint-投诉/other-其他\r\n    \"title\": \"标题\",  // 必填2-200个字符\r\n    \"content\": \"反馈内容\",  // 必填\r\n    \"image_urls\": [  // 可选图片URL数组\r\n        \"http://example.com/image1.jpg\",\r\n        \"http://example.com/image2.jpg\"\r\n    ],\r\n    \"location_point\": {  // 必填,位置坐标\r\n        \"latitude\": 30.123456,  // 纬度,范围:-90到90\r\n        \"longitude\": 120.123456  // 经度,范围:-180到180\r\n    },\r\n    \"location_description\": \"位置描述\"  // 可选最大255个字符\r\n}"

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": {
    "id": 0
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data object true none none
»» id integer true none none

GET 获取用户的反馈列表

GET /api/client/feedbacks/my

请求参数

名称 位置 类型 必选 说明
Authorization header string none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": {
    "list": [
      {
        "id": 0,
        "user_id": 0,
        "feedback_type": "string",
        "title": "string",
        "content": "string",
        "image_urls": [
          "string"
        ],
        "location_point": {
          "x": 0,
          "y": 0
        },
        "location_description": "string",
        "status": 0,
        "handler_id": null,
        "handling_time": null,
        "handling_result": null,
        "created_at": "string",
        "updated_at": "string",
        "longitude": 0,
        "latitude": 0,
        "handler_name": null,
        "handler_real_name": null
      }
    ],
    "pagination": {
      "total": 0,
      "page": 0,
      "page_size": 0,
      "total_pages": 0
    }
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data object true none none
»» list [object] true none none
»»» id integer false none none
»»» user_id integer false none none
»»» feedback_type string false none none
»»» title string false none none
»»» content string false none none
»»» image_urls [string] false none none
»»» location_point object false none none
»»»» x number true none none
»»»» y number true none none
»»» location_description string false none none
»»» status integer false none none
»»» handler_id null false none none
»»» handling_time null false none none
»»» handling_result null false none none
»»» created_at string false none none
»»» updated_at string false none none
»»» longitude number false none none
»»» latitude number false none none
»»» handler_name null false none none
»»» handler_real_name null false none none
»» pagination object true none none
»»» total integer true none none
»»» page integer true none none
»»» page_size integer true none none
»»» total_pages integer true none none

GET 获取反馈详情

GET /api/client/feedbacks/1

请求参数

名称 位置 类型 必选 说明
Authorization header string none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": {
    "id": 0,
    "user_id": 0,
    "feedback_type": "string",
    "title": "string",
    "content": "string",
    "image_urls": [
      "string"
    ],
    "location_point": {
      "x": 0,
      "y": 0
    },
    "location_description": "string",
    "status": 0,
    "handler_id": null,
    "handling_time": null,
    "handling_result": null,
    "created_at": "string",
    "updated_at": "string",
    "longitude": 0,
    "latitude": 0,
    "user_name": "string",
    "user_real_name": "string",
    "handler_name": null,
    "handler_real_name": null
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data object true none none
»» id integer true none none
»» user_id integer true none none
»» feedback_type string true none none
»» title string true none none
»» content string true none none
»» image_urls [string] true none none
»» location_point object true none none
»»» x number true none none
»»» y number true none none
»» location_description string true none none
»» status integer true none none
»» handler_id null true none none
»» handling_time null true none none
»» handling_result null true none none
»» created_at string true none none
»» updated_at string true none none
»» longitude number true none none
»» latitude number true none none
»» user_name string true none none
»» user_real_name string true none none
»» handler_name null true none none
»» handler_real_name null true none none

观察记录

POST 创建观察记录

POST /api/admin/observations

Body 请求参数

{
  "title": "发现一只黑脸琵鹭",
  "content": "今天在湿地公园观察到一只黑脸琵鹭,正在觅食。这是今年第一次在此区域发现此物种。",
  "species_id": 1,
  "image_urls": [
    "http://example.com/images/bird1.jpg",
    "http://example.com/images/bird2.jpg"
  ],
  "video_urls": [
    "http://example.com/videos/bird_feeding.mp4"
  ],
  "location_point": {
    "latitude": 23.1291,
    "longitude": 113.2644
  },
  "location_description": "湿地公园北区浅水区",
  "weather": "晴朗",
  "temperature": 26.5
}

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": {
    "id": 0
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data object true none none
»» id integer true none none

GET 获取观察记录列表

GET /api/admin/observations

请求参数

名称 位置 类型 必选 说明
Authorization header string none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": {
    "list": [
      {
        "id": 0,
        "user_id": 0,
        "title": "string",
        "content": "string",
        "species_id": 0,
        "image_urls": [
          "string"
        ],
        "video_urls": [
          "string"
        ],
        "location_point": {
          "x": 0,
          "y": 0
        },
        "location_description": "string",
        "weather": "string",
        "temperature": "string",
        "status": 0,
        "reviewer_id": 0,
        "review_time": "string",
        "review_comment": null,
        "created_at": "string",
        "updated_at": "string",
        "longitude": 0,
        "latitude": 0,
        "user_name": "string",
        "user_real_name": "string",
        "species_name": "string",
        "species_latin_name": "string",
        "reviewer_name": "string",
        "reviewer_real_name": "string"
      }
    ],
    "pagination": {
      "total": 0,
      "page": 0,
      "page_size": 0,
      "total_pages": 0
    }
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data object true none none
»» list [object] true none none
»»» id integer false none none
»»» user_id integer false none none
»»» title string false none none
»»» content string false none none
»»» species_id integer false none none
»»» image_urls [string] false none none
»»» video_urls [string] false none none
»»» location_point object false none none
»»»» x number true none none
»»»» y number true none none
»»» location_description string false none none
»»» weather string false none none
»»» temperature string false none none
»»» status integer false none none
»»» reviewer_id integer false none none
»»» review_time string false none none
»»» review_comment null false none none
»»» created_at string false none none
»»» updated_at string false none none
»»» longitude number false none none
»»» latitude number false none none
»»» user_name string false none none
»»» user_real_name string false none none
»»» species_name string false none none
»»» species_latin_name string false none none
»»» reviewer_name string false none none
»»» reviewer_real_name string false none none
»» pagination object true none none
»»» total integer true none none
»»» page integer true none none
»»» page_size integer true none none
»»» total_pages integer true none none

PUT 更新观察记录

PUT /api/admin/observations/2

Body 请求参数

{
  "title": "黑脸琵鹭群体活动观察",
  "content": "更新经过仔细观察发现是一个3只黑脸琵鹭的小群体",
  "image_urls": [
    "http://example.com/images/bird_group1.jpg",
    "http://example.com/images/bird_group2.jpg"
  ],
  "weather": "多云",
  "temperature": 25.8
}

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

200 Response

{
  "success": true,
  "message": "string"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none

DELETE 删除观察记录

DELETE /api/admin/observations/2

请求参数

名称 位置 类型 必选 说明
Authorization header string none

返回示例

200 Response

{}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

PUT 更新观察记录状态

PUT /api/admin/observations/2/status

Body 请求参数

"// 通过审核\r\n{\r\n    \"status\": 1\r\n}\r\n\r\n// // 拒绝审核\r\n// {\r\n//     \"status\": 2,\r\n//     \"review_comment\": \"图片不够清晰,请重新上传更清晰的照片,并补充观察时间段信息。\"\r\n// }"

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

200 Response

{
  "success": true,
  "message": "string"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none

物种信息

POST 创建物种信息

POST /api/admin/species

Body 请求参数

"{\r\n    \"species_code\": \"BIRD001\",  // 物种编号必填最大50字符\r\n    \"chinese_name\": \"东方白鹳\",  // 中文名称必填最大100字符\r\n    \"latin_name\": \"Ciconia boyciana\",  // 拉丁名称选填最大100字符\r\n    \"category\": \"bird\",  // 物种类别必填可选值bird(鸟类)、mammal(哺乳类)、fish(鱼类)、amphibian(两栖类)、reptile(爬行类)、insect(昆虫类)、plant(植物)\r\n    \"protection_level\": \"national_first\",  // 保护等级选填默认normal可选值national_first(国家一级)、national_second(国家二级)、provincial(省级)、normal(普通)\r\n    \"characteristics\": \"体型大,羽毛白色,喙长而直...\",  // 特征描述,选填\r\n    \"habits\": \"常在沼泽、湿地等水域觅食...\",  // 生活习性,选填\r\n    \"distribution\": \"主要分布在东北地区...\",  // 分布区域,选填\r\n    \"image_urls\": [\"http://example.com/image1.jpg\"],  // 图片URL数组选填\r\n    \"status\": 1  // 状态选填默认1可选值0(禁用)、1(启用)\r\n}"

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": {
    "id": 0
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data object true none none
»» id integer true none none

GET 获取物种列表

GET /api/admin/species

请求参数

名称 位置 类型 必选 说明
Authorization header string none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": {
    "list": [
      {
        "id": 0,
        "species_code": "string",
        "chinese_name": "string",
        "latin_name": "string",
        "category": "string",
        "protection_level": "string",
        "characteristics": "string",
        "habits": "string",
        "distribution": "string",
        "image_urls": [
          "string"
        ],
        "status": 0,
        "created_at": "string",
        "updated_at": "string",
        "created_by": 0,
        "updated_by": 0
      }
    ],
    "pagination": {
      "total": 0,
      "page": 0,
      "page_size": 0,
      "total_pages": 0
    }
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data object true none none
»» list [object] true none none
»»» id integer false none none
»»» species_code string false none none
»»» chinese_name string false none none
»»» latin_name string false none none
»»» category string false none none
»»» protection_level string false none none
»»» characteristics string false none none
»»» habits string false none none
»»» distribution string false none none
»»» image_urls [string] false none none
»»» status integer false none none
»»» created_at string false none none
»»» updated_at string false none none
»»» created_by integer false none none
»»» updated_by integer false none none
»» pagination object true none none
»»» total integer true none none
»»» page integer true none none
»»» page_size integer true none none
»»» total_pages integer true none none

GET 获取物种详情

GET /api/admin/species/1

请求参数

名称 位置 类型 必选 说明
Authorization header string none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": {
    "id": 0,
    "species_code": "string",
    "chinese_name": "string",
    "latin_name": "string",
    "category": "string",
    "protection_level": "string",
    "characteristics": "string",
    "habits": "string",
    "distribution": "string",
    "image_urls": [
      "string"
    ],
    "status": 0,
    "created_at": "string",
    "updated_at": "string",
    "created_by": 0,
    "updated_by": 0
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data object true none none
»» id integer true none none
»» species_code string true none none
»» chinese_name string true none none
»» latin_name string true none none
»» category string true none none
»» protection_level string true none none
»» characteristics string true none none
»» habits string true none none
»» distribution string true none none
»» image_urls [string] true none none
»» status integer true none none
»» created_at string true none none
»» updated_at string true none none
»» created_by integer true none none
»» updated_by integer true none none

PUT 更新物种信息

PUT /api/admin/species/1

Body 请求参数

"{\r\n    \"species_code\": \"BIRD001\",  // 物种编号必填最大50字符\r\n    \"chinese_name\": \"东方白鹳1\",  // 中文名称必填最大100字符\r\n    \"latin_name\": \"Ciconia boyciana\",  // 拉丁名称选填最大100字符\r\n    \"category\": \"bird\",  // 物种类别必填可选值bird(鸟类)、mammal(哺乳类)、fish(鱼类)、amphibian(两栖类)、reptile(爬行类)、insect(昆虫类)、plant(植物)\r\n    \"protection_level\": \"national_first\",  // 保护等级选填默认normal可选值national_first(国家一级)、national_second(国家二级)、provincial(省级)、normal(普通)\r\n    \"characteristics\": \"体型大,羽毛白色,喙长而直...\",  // 特征描述,选填\r\n    \"habits\": \"常在沼泽、湿地等水域觅食...\",  // 生活习性,选填\r\n    \"distribution\": \"主要分布在东北地区...\",  // 分布区域,选填\r\n    \"image_urls\": [\"http://example.com/image1.jpg\"],  // 图片URL数组选填\r\n    \"status\": 1  // 状态选填默认1可选值0(禁用)、1(启用)\r\n}"

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

200 Response

{
  "success": true,
  "message": "string"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none

GET 获取物种统计信息

GET /api/admin/species/statistics/overview

请求参数

名称 位置 类型 必选 说明
Authorization header string none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": {
    "categories": {
      "bird": {
        "total_count": 0,
        "enabled_count": "string"
      }
    },
    "protection_levels": {
      "national_first": 0
    }
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data object true none none
»» categories object true none none
»»» bird object true none none
»»»» total_count integer true none none
»»»» enabled_count string true none none
»» protection_levels object true none none
»»» national_first integer true none none

PUT 更新物种状态

PUT /api/admin/species/1/status

Body 请求参数

"{\r\n    \"status\": 0  // 必填状态值0(禁用)或1(启用)\r\n}"

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

200 Response

{
  "success": true,
  "message": "string"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none

满意度调查/管理端

POST 创建调查

POST /api/admin/surveys

Body 请求参数

{
  "title": "2024春季湿地公园环境满意度调查",
  "description": "为了持续改善湿地公园环境,提升游客体验,特开展此次调查",
  "questions": [
    {
      "question_id": 1,
      "question_type": "single",
      "question_content": "您对湿地公园的整体环境是否满意?",
      "options": [
        "非常满意",
        "比较满意",
        "一般",
        "不太满意",
        "非常不满意"
      ],
      "required": true
    },
    {
      "question_id": 2,
      "question_type": "multiple",
      "question_content": "您觉得以下哪些设施需要改进?",
      "options": [
        "步道",
        "座椅",
        "标识牌",
        "垃圾桶",
        "卫生间",
        "停车场"
      ],
      "required": true
    },
    {
      "question_id": 3,
      "question_type": "text",
      "question_content": "您对湿地公园环境改善有什么建议?",
      "options": [],
      "required": false
    }
  ],
  "start_time": "2024-03-20 00:00:00",
  "end_time": "2024-04-20 23:59:59",
  "status": 1
}

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": {
    "id": 0
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data object true none none
»» id integer true none none

GET 获取调查列表

GET /api/admin/surveys

请求参数

名称 位置 类型 必选 说明
Authorization header string none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": {
    "list": [
      {
        "id": 0,
        "title": "string",
        "description": "string",
        "questions": [
          "string"
        ],
        "start_time": "string",
        "end_time": "string",
        "status": 0,
        "created_at": "string",
        "updated_at": "string",
        "created_by": 0,
        "updated_by": 0
      }
    ],
    "pagination": {
      "total": 0,
      "page": 0,
      "page_size": 0
    }
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data object true none none
»» list [object] true none none
»»» id integer false none none
»»» title string false none none
»»» description string false none none
»»» questions [string] false none none
»»» start_time string false none none
»»» end_time string false none none
»»» status integer false none none
»»» created_at string false none none
»»» updated_at string false none none
»»» created_by integer false none none
»»» updated_by integer false none none
»» pagination object true none none
»»» total integer true none none
»»» page integer true none none
»»» page_size integer true none none

PUT 更新调查

PUT /api/admin/surveys/1

Body 请求参数

{
  "title": "2024春季湿地公园环境满意度调查",
  "description": "为了持续改善湿地公园环境,提升游客体验,特开展此次调查",
  "questions": [
    {
      "question_id": 1,
      "question_type": "single",
      "question_content": "您对湿地公园的整体环境是否满意?",
      "options": [
        "非常满意",
        "比较满意",
        "一般",
        "不太满意",
        "非常不满意"
      ],
      "required": true
    },
    {
      "question_id": 2,
      "question_type": "multiple",
      "question_content": "您觉得以下哪些设施需要改进?",
      "options": [
        "步道",
        "座椅",
        "标识牌",
        "垃圾桶",
        "卫生间",
        "停车场"
      ],
      "required": true
    },
    {
      "question_id": 3,
      "question_type": "text",
      "question_content": "您对湿地公园环境改善有什么建议?",
      "options": [],
      "required": false
    }
  ],
  "start_time": "2024-03-20 00:00:00",
  "end_time": "2025-05-20 23:59:59",
  "status": 1
}

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

200 Response

{
  "success": true,
  "message": "string"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none

DELETE 删除调查

DELETE /api/admin/surveys/1

请求参数

名称 位置 类型 必选 说明
Authorization header string none

返回示例

200 Response

{}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

GET 获取调查详情

GET /api/admin/surveys/1

请求参数

名称 位置 类型 必选 说明
Authorization header string none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": {
    "id": 0,
    "title": "string",
    "description": "string",
    "questions": [
      {
        "options": [
          "string"
        ],
        "required": true,
        "question_id": 0,
        "question_type": "string",
        "question_content": "string"
      }
    ],
    "start_time": "string",
    "end_time": "string",
    "status": 0,
    "created_at": "string",
    "updated_at": "string",
    "created_by": 0,
    "updated_by": 0
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data object true none none
»» id integer true none none
»» title string true none none
»» description string true none none
»» questions [object] true none none
»»» options [string] true none none
»»» required boolean true none none
»»» question_id integer true none none
»»» question_type string true none none
»»» question_content string true none none
»» start_time string true none none
»» end_time string true none none
»» status integer true none none
»» created_at string true none none
»» updated_at string true none none
»» created_by integer true none none
»» updated_by integer true none none

满意度调查/客户端

GET 获取进行中的调查列表

GET /api/client/surveys

请求参数

名称 位置 类型 必选 说明
Authorization header string none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": {
    "list": [
      "string"
    ],
    "pagination": {
      "total": 0,
      "page": 0,
      "page_size": 0
    }
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data object true none none
»» list [string] true none none
»» pagination object true none none
»»» total integer true none none
»»» page integer true none none
»»» page_size integer true none none

GET 获取调查详情

GET /api/client/surveys/1

请求参数

名称 位置 类型 必选 说明
Authorization header string none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": {
    "id": 0,
    "title": "string",
    "description": "string",
    "questions": [
      {
        "options": [
          "string"
        ],
        "required": true,
        "question_id": 0,
        "question_type": "string",
        "question_content": "string"
      }
    ],
    "start_time": "string",
    "end_time": "string",
    "status": 0,
    "created_at": "string",
    "updated_at": "string",
    "created_by": 0,
    "updated_by": 0
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data object true none none
»» id integer true none none
»» title string true none none
»» description string true none none
»» questions [object] true none none
»»» options [string] true none none
»»» required boolean true none none
»»» question_id integer true none none
»»» question_type string true none none
»»» question_content string true none none
»» start_time string true none none
»» end_time string true none none
»» status integer true none none
»» created_at string true none none
»» updated_at string true none none
»» created_by integer true none none
»» updated_by integer true none none

POST 提交调查答案

POST /api/client/surveys/1/submit

Body 请求参数

{
  "answers": [
    {
      "question_id": 1,
      "answer": "非常满意"
    },
    {
      "question_id": 2,
      "answer": [
        "步道",
        "座椅",
        "标识牌"
      ]
    },
    {
      "question_id": 3,
      "answer": "建议增加更多遮阳设施,并在主要景点增加饮水点。步道的指示牌可以做得更清晰一些。"
    }
  ]
}

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": {
    "id": 0
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data object true none none
»» id integer true none none

巡护计划

POST 创建计划

POST /api/admin/patrol/plans

Body 请求参数

"{\r\n    \"plan_name\": \"2025年春季湿地巡护计划\",  // 必填最大100字符\r\n    \"plan_type\": \"daily\",  // 必填枚举值daily(日常巡护)、special(专项巡护)\r\n    \"start_date\": \"2024-02-20\",  // 必填ISO日期格式\r\n    \"end_date\": \"2024-03-20\",    // 必填必须大于start_date\r\n    \"area_scope\": [  // 必填至少3个点位\r\n        {\r\n            \"latitude\": 30.5866,\r\n            \"longitude\": 114.2995\r\n        },\r\n        {\r\n            \"latitude\": 30.5868,\r\n            \"longitude\": 114.3001\r\n        },\r\n        {\r\n            \"latitude\": 30.5862,\r\n            \"longitude\": 114.2999\r\n        }\r\n    ],\r\n    \"task_frequency\": \"daily\",  // 可选枚举值daily、weekly、monthly\r\n    \"description\": \"春季重点关注候鸟迁徙情况\",  // 可选最大1000字符\r\n    \"status\": 1  // 可选默认10:禁用 1:启用\r\n}"

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": {
    "id": 0
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data object true none none
»» id integer true none none

GET 获取计划列表

GET /api/admin/patrol/plans

请求参数

名称 位置 类型 必选 说明
Authorization header string none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": {
    "list": [
      {
        "id": 0,
        "plan_name": "string",
        "plan_type": "string",
        "start_date": "string",
        "end_date": "string",
        "area_scope": [
          {
            "latitude": null,
            "longitude": null
          }
        ],
        "task_frequency": "string",
        "description": "string",
        "status": 0,
        "created_at": "string",
        "updated_at": "string",
        "created_by": 0,
        "updated_by": 0
      }
    ],
    "pagination": {
      "total": 0,
      "page": 0,
      "page_size": 0,
      "total_pages": 0
    }
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data object true none none
»» list [object] true none none
»»» id integer true none none
»»» plan_name string true none none
»»» plan_type string true none none
»»» start_date string true none none
»»» end_date string true none none
»»» area_scope [object] true none none
»»»» latitude number true none none
»»»» longitude number true none none
»»» task_frequency string true none none
»»» description string true none none
»»» status integer true none none
»»» created_at string true none none
»»» updated_at string true none none
»»» created_by integer true none none
»»» updated_by integer true none none
»» pagination object true none none
»»» total integer true none none
»»» page integer true none none
»»» page_size integer true none none
»»» total_pages integer true none none

GET 查询巡护计划详情

GET /api/admin/patrol/plans/1

请求参数

名称 位置 类型 必选 说明
Authorization header string none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": {
    "id": 0,
    "plan_name": "string",
    "plan_type": "string",
    "start_date": "string",
    "end_date": "string",
    "area_scope": [
      {
        "latitude": 0,
        "longitude": 0
      }
    ],
    "task_frequency": "string",
    "description": "string",
    "status": 0,
    "created_at": "string",
    "updated_at": "string",
    "created_by": 0,
    "updated_by": 0
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data object true none none
»» id integer true none none
»» plan_name string true none none
»» plan_type string true none none
»» start_date string true none none
»» end_date string true none none
»» area_scope [object] true none none
»»» latitude number true none none
»»» longitude number true none none
»» task_frequency string true none none
»» description string true none none
»» status integer true none none
»» created_at string true none none
»» updated_at string true none none
»» created_by integer true none none
»» updated_by integer true none none

PUT 更新计划状态

PUT /api/admin/patrol/plans/1/status

Body 请求参数

"{\r\n    \"status\": 1  // 必填0:禁用 1:启用\r\n}"

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

200 Response

{
  "success": true,
  "message": "string"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none

POST 检查计划名称

POST /api/admin/patrol/plans/check-name

Body 请求参数

"{\r\n    \"plan_name\": \"2025年春季湿地巡护计划\"  // 必填\r\n}"

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": {
    "exists": true
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data object true none none
»» exists boolean true none none

巡护任务

PUT 更新任务

PUT /api/admin/patrol/plans/1

Body 请求参数

"{\r\n    \"plan_name\": \"巡护计划名称\",  // 字符串最大100个字符\r\n    \"plan_type\": \"daily\",      // 字符串,可选值: \"daily\"(日常巡护) 或 \"special\"(专项巡护)\r\n    \"start_date\": \"2024-02-20\", // 日期格式YYYY-MM-DD\r\n    \"end_date\": \"2024-03-20\",   // 日期格式YYYY-MM-DD必须大于开始日期\r\n    \"area_scope\": [            // 数组至少需要3个坐标点\r\n        {\r\n            \"latitude\": 30.5,   // 纬度,范围:-90到90\r\n            \"longitude\": 114.3  // 经度,范围:-180到180\r\n        },\r\n        // ... 更多坐标点\r\n    ],\r\n    \"task_frequency\": \"daily\", // 字符串,可选值: \"daily\"(每日)、\"weekly\"(每周)、\"monthly\"(每月)\r\n    \"description\": \"巡护计划描述\", // 字符串最大1000个字符\r\n    \"status\": 1               // 数字,可选值: 0(禁用)、1(启用)\r\n}"

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

200 Response

{
  "success": true,
  "message": "string"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none

POST 创建任务

POST /api/admin/patrol/tasks

Body 请求参数

"{\r\n    \"plan_id\": 1,  // 必填关联的巡护计划ID\r\n    \"task_name\": \"早班巡护任务\",  // 必填最大100字符\r\n    \"task_type\": \"regular\",  // 必填枚举值regular(常规)、emergency(紧急)\r\n    \"patrol_date\": \"2024-02-20\",  // 必填,巡护日期\r\n    \"start_time\": \"08:00\",  // 必填格式HH:mm\r\n    \"end_time\": \"10:00\",    // 必填格式HH:mm\r\n    \"route_points\": [  // 可选,巡护路线点位\r\n        {\r\n            \"latitude\": 30.5866,\r\n            \"longitude\": 114.2995\r\n        }\r\n    ],\r\n    \"executor_ids\": [1, 2],  // 必填执行人ID列表至少1人\r\n    \"description\": \"重点检查湖区水质情况\",  // 可选最大1000字符\r\n    \"priority\": 2,  // 可选默认21:高 2:中 3:低\r\n    \"status\": 0     // 可选默认00:待执行 1:执行中 2:已完成 3:已取消\r\n}"

请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": {
    "id": 0
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data object true none none
»» id integer true none none

GET 获取任务列表

GET /api/admin/patrol/tasks

请求参数

名称 位置 类型 必选 说明
Authorization header string none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": {
    "list": [
      {
        "id": 0,
        "plan_id": 0,
        "task_name": "string",
        "task_type": "string",
        "patrol_date": "string",
        "start_time": "string",
        "end_time": "string",
        "route_points": [
          {
            "latitude": null,
            "longitude": null
          }
        ],
        "executor_ids": [
          0
        ],
        "description": "string",
        "priority": 0,
        "status": 0,
        "created_at": "string",
        "updated_at": "string",
        "created_by": 0,
        "updated_by": 0,
        "plan_name": "string",
        "plan_type": "string"
      }
    ],
    "pagination": {
      "total": 0,
      "page": 0,
      "page_size": 0,
      "total_pages": 0
    }
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data object true none none
»» list [object] true none none
»»» id integer false none none
»»» plan_id integer false none none
»»» task_name string false none none
»»» task_type string false none none
»»» patrol_date string false none none
»»» start_time string false none none
»»» end_time string false none none
»»» route_points [object] false none none
»»»» latitude number false none none
»»»» longitude number false none none
»»» executor_ids [integer] false none none
»»» description string false none none
»»» priority integer false none none
»»» status integer false none none
»»» created_at string false none none
»»» updated_at string false none none
»»» created_by integer false none none
»»» updated_by integer false none none
»»» plan_name string false none none
»»» plan_type string false none none
»» pagination object true none none
»»» total integer true none none
»»» page integer true none none
»»» page_size integer true none none
»»» total_pages integer true none none

GET 获取计划详情

GET /api/admin/patrol/tasks/1

请求参数

名称 位置 类型 必选 说明
Authorization header string none

返回示例

200 Response

{
  "success": true,
  "message": "string",
  "data": {
    "id": 0,
    "plan_id": 0,
    "task_name": "string",
    "task_type": "string",
    "patrol_date": "string",
    "start_time": "string",
    "end_time": "string",
    "route_points": [
      {
        "latitude": 0,
        "longitude": 0
      }
    ],
    "executor_ids": [
      0
    ],
    "description": "string",
    "priority": 0,
    "status": 0,
    "created_at": "string",
    "updated_at": "string",
    "created_by": 0,
    "updated_by": 0,
    "plan_name": "string",
    "plan_type": "string"
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none
» data object true none none
»» id integer true none none
»» plan_id integer true none none
»» task_name string true none none
»» task_type string true none none
»» patrol_date string true none none
»» start_time string true none none
»» end_time string true none none
»» route_points [object] true none none
»»» latitude number false none none
»»» longitude number false none none
»» executor_ids [integer] true none none
»» description string true none none
»» priority integer true none none
»» status integer true none none
»» created_at string true none none
»» updated_at string true none none
»» created_by integer true none none
»» updated_by integer true none none
»» plan_name string true none none
»» plan_type string true none none

GET 获取执行人任务

GET /api/admin/patrol/tasks/executor/{executorId}

Body 请求参数

"// 如果要查询ID为15的用户被分配的任务\r\n// GET /api/admin/patrol/tasks/executor/15"

请求参数

名称 位置 类型 必选 说明
executorId path string none
Authorization header string none
body body object none

返回示例

200 Response

{}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

POST 取消任务

POST /api/admin/patrol/tasks/1/cancel

请求参数

名称 位置 类型 必选 说明
Authorization header string none

返回示例

200 Response

{
  "success": true,
  "message": "string"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» success boolean true none none
» message string true none none

数据模型