2025-09-12 16:58:39 +08:00
|
|
|
|
definitions:
|
2025-09-12 17:43:42 +08:00
|
|
|
|
controller.Properties:
|
|
|
|
|
|
type: object
|
2025-09-12 16:58:39 +08:00
|
|
|
|
controller.Response:
|
|
|
|
|
|
properties:
|
|
|
|
|
|
code:
|
|
|
|
|
|
description: 业务状态码
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
data:
|
|
|
|
|
|
description: 业务数据
|
|
|
|
|
|
message:
|
|
|
|
|
|
description: 提示信息
|
|
|
|
|
|
type: string
|
|
|
|
|
|
type: object
|
2025-09-12 17:43:42 +08:00
|
|
|
|
device.CreateDeviceRequest:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
device.DeviceResponse:
|
|
|
|
|
|
properties:
|
|
|
|
|
|
created_at:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
id:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
location:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
name:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
parent_id:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
properties:
|
|
|
|
|
|
$ref: '#/definitions/controller.Properties'
|
|
|
|
|
|
sub_type:
|
|
|
|
|
|
$ref: '#/definitions/models.DeviceSubType'
|
|
|
|
|
|
type:
|
|
|
|
|
|
$ref: '#/definitions/models.DeviceType'
|
|
|
|
|
|
updated_at:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
type: object
|
|
|
|
|
|
device.UpdateDeviceRequest:
|
|
|
|
|
|
properties:
|
|
|
|
|
|
location:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
name:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
parent_id:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
properties:
|
|
|
|
|
|
$ref: '#/definitions/controller.Properties'
|
|
|
|
|
|
sub_type:
|
|
|
|
|
|
$ref: '#/definitions/models.DeviceSubType'
|
|
|
|
|
|
type:
|
|
|
|
|
|
$ref: '#/definitions/models.DeviceType'
|
|
|
|
|
|
required:
|
|
|
|
|
|
- name
|
|
|
|
|
|
- type
|
|
|
|
|
|
type: object
|
|
|
|
|
|
models.DeviceSubType:
|
|
|
|
|
|
enum:
|
|
|
|
|
|
- ""
|
|
|
|
|
|
- temperature
|
|
|
|
|
|
- humidity
|
|
|
|
|
|
- ammonia
|
|
|
|
|
|
- feed_valve
|
|
|
|
|
|
- fan
|
|
|
|
|
|
- water_curtain
|
|
|
|
|
|
type: string
|
|
|
|
|
|
x-enum-varnames:
|
|
|
|
|
|
- SubTypeNone
|
|
|
|
|
|
- SubTypeSensorTemp
|
|
|
|
|
|
- SubTypeSensorHumidity
|
|
|
|
|
|
- SubTypeSensorAmmonia
|
|
|
|
|
|
- SubTypeValveFeed
|
|
|
|
|
|
- SubTypeFan
|
|
|
|
|
|
- SubTypeWaterCurtain
|
|
|
|
|
|
models.DeviceType:
|
|
|
|
|
|
enum:
|
|
|
|
|
|
- area_controller
|
|
|
|
|
|
- device
|
|
|
|
|
|
type: string
|
|
|
|
|
|
x-enum-varnames:
|
|
|
|
|
|
- DeviceTypeAreaController
|
|
|
|
|
|
- DeviceTypeDevice
|
2025-09-13 14:09:22 +08:00
|
|
|
|
plan.CreatePlanRequest:
|
|
|
|
|
|
properties:
|
|
|
|
|
|
description:
|
|
|
|
|
|
example: 根据温度自动调节风扇和加热器
|
|
|
|
|
|
type: string
|
|
|
|
|
|
name:
|
|
|
|
|
|
example: 猪舍温度控制计划
|
|
|
|
|
|
type: string
|
|
|
|
|
|
required:
|
|
|
|
|
|
- name
|
|
|
|
|
|
type: object
|
|
|
|
|
|
plan.ListPlansResponse:
|
|
|
|
|
|
properties:
|
|
|
|
|
|
plans:
|
|
|
|
|
|
items:
|
|
|
|
|
|
$ref: '#/definitions/plan.PlanResponse'
|
|
|
|
|
|
type: array
|
|
|
|
|
|
total:
|
|
|
|
|
|
example: 100
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
type: object
|
|
|
|
|
|
plan.PlanResponse:
|
|
|
|
|
|
properties:
|
|
|
|
|
|
description:
|
|
|
|
|
|
example: 根据温度自动调节风扇和加热器
|
|
|
|
|
|
type: string
|
|
|
|
|
|
id:
|
|
|
|
|
|
example: 1
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
name:
|
|
|
|
|
|
example: 猪舍温度控制计划
|
|
|
|
|
|
type: string
|
|
|
|
|
|
type: object
|
|
|
|
|
|
plan.UpdatePlanRequest:
|
|
|
|
|
|
properties:
|
|
|
|
|
|
description:
|
|
|
|
|
|
example: 更新后的描述
|
|
|
|
|
|
type: string
|
|
|
|
|
|
name:
|
|
|
|
|
|
example: 猪舍温度控制计划V2
|
|
|
|
|
|
type: string
|
|
|
|
|
|
type: object
|
2025-09-12 16:58:39 +08:00
|
|
|
|
user.CreateUserRequest:
|
|
|
|
|
|
properties:
|
|
|
|
|
|
password:
|
|
|
|
|
|
example: password123
|
|
|
|
|
|
minLength: 6
|
|
|
|
|
|
type: string
|
|
|
|
|
|
username:
|
|
|
|
|
|
example: newuser
|
|
|
|
|
|
type: string
|
|
|
|
|
|
required:
|
|
|
|
|
|
- password
|
|
|
|
|
|
- username
|
|
|
|
|
|
type: object
|
|
|
|
|
|
user.CreateUserResponse:
|
|
|
|
|
|
properties:
|
|
|
|
|
|
id:
|
|
|
|
|
|
example: 1
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
username:
|
|
|
|
|
|
example: newuser
|
|
|
|
|
|
type: string
|
|
|
|
|
|
type: object
|
|
|
|
|
|
user.LoginRequest:
|
|
|
|
|
|
properties:
|
|
|
|
|
|
password:
|
|
|
|
|
|
example: password123
|
|
|
|
|
|
type: string
|
|
|
|
|
|
username:
|
|
|
|
|
|
example: testuser
|
|
|
|
|
|
type: string
|
|
|
|
|
|
required:
|
|
|
|
|
|
- password
|
|
|
|
|
|
- username
|
|
|
|
|
|
type: object
|
|
|
|
|
|
user.LoginResponse:
|
|
|
|
|
|
properties:
|
|
|
|
|
|
id:
|
|
|
|
|
|
example: 1
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
token:
|
|
|
|
|
|
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
|
|
|
|
|
|
type: string
|
|
|
|
|
|
username:
|
|
|
|
|
|
example: testuser
|
|
|
|
|
|
type: string
|
|
|
|
|
|
type: object
|
|
|
|
|
|
info:
|
2025-09-12 20:32:29 +08:00
|
|
|
|
contact: {}
|
2025-09-12 16:58:39 +08:00
|
|
|
|
paths:
|
2025-09-12 17:43:42 +08:00
|
|
|
|
/devices:
|
|
|
|
|
|
get:
|
|
|
|
|
|
description: 获取系统中所有设备的列表
|
|
|
|
|
|
produces:
|
|
|
|
|
|
- application/json
|
|
|
|
|
|
responses:
|
|
|
|
|
|
"200":
|
|
|
|
|
|
description: 业务失败,具体错误码和信息见响应体
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/definitions/controller.Response'
|
|
|
|
|
|
summary: 获取设备列表
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- 设备管理
|
2025-09-12 16:58:39 +08:00
|
|
|
|
post:
|
|
|
|
|
|
consumes:
|
|
|
|
|
|
- application/json
|
2025-09-12 17:43:42 +08:00
|
|
|
|
description: 根据提供的信息创建一个新设备
|
2025-09-12 16:58:39 +08:00
|
|
|
|
parameters:
|
2025-09-12 17:43:42 +08:00
|
|
|
|
- description: 设备信息
|
2025-09-12 16:58:39 +08:00
|
|
|
|
in: body
|
2025-09-12 17:43:42 +08:00
|
|
|
|
name: device
|
2025-09-12 16:58:39 +08:00
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
2025-09-12 17:43:42 +08:00
|
|
|
|
$ref: '#/definitions/device.CreateDeviceRequest'
|
2025-09-12 16:58:39 +08:00
|
|
|
|
produces:
|
|
|
|
|
|
- application/json
|
|
|
|
|
|
responses:
|
|
|
|
|
|
"200":
|
2025-09-12 17:43:42 +08:00
|
|
|
|
description: 业务失败,具体错误码和信息见响应体
|
2025-09-12 16:58:39 +08:00
|
|
|
|
schema:
|
2025-09-12 17:43:42 +08:00
|
|
|
|
$ref: '#/definitions/controller.Response'
|
|
|
|
|
|
summary: 创建新设备
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- 设备管理
|
|
|
|
|
|
/devices/{id}:
|
|
|
|
|
|
delete:
|
|
|
|
|
|
description: 根据设备ID删除一个设备(软删除)
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- description: 设备ID
|
|
|
|
|
|
in: path
|
|
|
|
|
|
name: id
|
|
|
|
|
|
required: true
|
|
|
|
|
|
type: string
|
|
|
|
|
|
produces:
|
|
|
|
|
|
- application/json
|
|
|
|
|
|
responses:
|
|
|
|
|
|
"200":
|
|
|
|
|
|
description: 业务失败,具体错误码和信息见响应体
|
2025-09-12 16:58:39 +08:00
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/definitions/controller.Response'
|
2025-09-12 17:43:42 +08:00
|
|
|
|
summary: 删除设备
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- 设备管理
|
|
|
|
|
|
get:
|
|
|
|
|
|
description: 根据设备ID获取单个设备的详细信息
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- description: 设备ID
|
|
|
|
|
|
in: path
|
|
|
|
|
|
name: id
|
|
|
|
|
|
required: true
|
|
|
|
|
|
type: string
|
|
|
|
|
|
produces:
|
|
|
|
|
|
- application/json
|
|
|
|
|
|
responses:
|
|
|
|
|
|
"200":
|
|
|
|
|
|
description: 业务失败,具体错误码和信息见响应体
|
2025-09-12 16:58:39 +08:00
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/definitions/controller.Response'
|
2025-09-12 17:43:42 +08:00
|
|
|
|
summary: 获取设备信息
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- 设备管理
|
|
|
|
|
|
put:
|
|
|
|
|
|
consumes:
|
|
|
|
|
|
- application/json
|
|
|
|
|
|
description: 根据设备ID更新一个已存在的设备信息
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- description: 设备ID
|
|
|
|
|
|
in: path
|
|
|
|
|
|
name: id
|
|
|
|
|
|
required: true
|
|
|
|
|
|
type: string
|
|
|
|
|
|
- description: 要更新的设备信息
|
|
|
|
|
|
in: body
|
|
|
|
|
|
name: device
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/definitions/device.UpdateDeviceRequest'
|
|
|
|
|
|
produces:
|
|
|
|
|
|
- application/json
|
|
|
|
|
|
responses:
|
|
|
|
|
|
"200":
|
|
|
|
|
|
description: 业务失败,具体错误码和信息见响应体
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/definitions/controller.Response'
|
|
|
|
|
|
summary: 更新设备信息
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- 设备管理
|
2025-09-13 14:09:22 +08:00
|
|
|
|
/plans:
|
|
|
|
|
|
get:
|
|
|
|
|
|
description: 获取所有计划的列表
|
|
|
|
|
|
produces:
|
|
|
|
|
|
- application/json
|
|
|
|
|
|
responses:
|
|
|
|
|
|
"200":
|
|
|
|
|
|
description: 业务失败,具体错误码和信息见响应体(例如400, 500)
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/definitions/controller.Response'
|
|
|
|
|
|
summary: 获取计划列表
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- 计划管理
|
|
|
|
|
|
post:
|
|
|
|
|
|
consumes:
|
|
|
|
|
|
- application/json
|
|
|
|
|
|
description: 创建一个新的计划,包括其基本信息和所有关联的子计划/任务。
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- description: 计划信息
|
|
|
|
|
|
in: body
|
|
|
|
|
|
name: plan
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/definitions/plan.CreatePlanRequest'
|
|
|
|
|
|
produces:
|
|
|
|
|
|
- application/json
|
|
|
|
|
|
responses:
|
|
|
|
|
|
"200":
|
|
|
|
|
|
description: 业务失败,具体错误码和信息见响应体(例如400, 500)
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/definitions/controller.Response'
|
|
|
|
|
|
summary: 创建计划
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- 计划管理
|
|
|
|
|
|
/plans/{id}:
|
|
|
|
|
|
delete:
|
|
|
|
|
|
description: 根据计划ID删除计划。
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- description: 计划ID
|
|
|
|
|
|
in: path
|
|
|
|
|
|
name: id
|
|
|
|
|
|
required: true
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
produces:
|
|
|
|
|
|
- application/json
|
|
|
|
|
|
responses:
|
|
|
|
|
|
"200":
|
|
|
|
|
|
description: 业务失败,具体错误码和信息见响应体(例如400, 404, 500)
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/definitions/controller.Response'
|
|
|
|
|
|
summary: 删除计划
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- 计划管理
|
|
|
|
|
|
get:
|
|
|
|
|
|
description: 根据计划ID获取单个计划的详细信息。
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- description: 计划ID
|
|
|
|
|
|
in: path
|
|
|
|
|
|
name: id
|
|
|
|
|
|
required: true
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
produces:
|
|
|
|
|
|
- application/json
|
|
|
|
|
|
responses:
|
|
|
|
|
|
"200":
|
|
|
|
|
|
description: 业务失败,具体错误码和信息见响应体(例如400, 404, 500)
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/definitions/controller.Response'
|
|
|
|
|
|
summary: 获取计划详情
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- 计划管理
|
|
|
|
|
|
put:
|
|
|
|
|
|
consumes:
|
|
|
|
|
|
- application/json
|
|
|
|
|
|
description: 根据计划ID更新计划的详细信息。
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- description: 计划ID
|
|
|
|
|
|
in: path
|
|
|
|
|
|
name: id
|
|
|
|
|
|
required: true
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
- description: 更新后的计划信息
|
|
|
|
|
|
in: body
|
|
|
|
|
|
name: plan
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/definitions/plan.UpdatePlanRequest'
|
|
|
|
|
|
produces:
|
|
|
|
|
|
- application/json
|
|
|
|
|
|
responses:
|
|
|
|
|
|
"200":
|
|
|
|
|
|
description: 业务失败,具体错误码和信息见响应体(例如400, 404, 500)
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/definitions/controller.Response'
|
|
|
|
|
|
summary: 更新计划
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- 计划管理
|
|
|
|
|
|
/plans/{id}/start:
|
|
|
|
|
|
post:
|
|
|
|
|
|
description: 根据计划ID启动一个计划的执行。
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- description: 计划ID
|
|
|
|
|
|
in: path
|
|
|
|
|
|
name: id
|
|
|
|
|
|
required: true
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
produces:
|
|
|
|
|
|
- application/json
|
|
|
|
|
|
responses:
|
|
|
|
|
|
"200":
|
|
|
|
|
|
description: 业务失败,具体错误码和信息见响应体(例如400, 404, 500)
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/definitions/controller.Response'
|
|
|
|
|
|
summary: 启动计划
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- 计划管理
|
|
|
|
|
|
/plans/{id}/stop:
|
|
|
|
|
|
post:
|
|
|
|
|
|
description: 根据计划ID停止一个正在执行的计划。
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- description: 计划ID
|
|
|
|
|
|
in: path
|
|
|
|
|
|
name: id
|
|
|
|
|
|
required: true
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
produces:
|
|
|
|
|
|
- application/json
|
|
|
|
|
|
responses:
|
|
|
|
|
|
"200":
|
|
|
|
|
|
description: 业务失败,具体错误码和信息见响应体(例如400, 404, 500)
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/definitions/controller.Response'
|
|
|
|
|
|
summary: 停止计划
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- 计划管理
|
2025-09-12 17:43:42 +08:00
|
|
|
|
/users:
|
|
|
|
|
|
post:
|
|
|
|
|
|
consumes:
|
|
|
|
|
|
- application/json
|
|
|
|
|
|
description: 根据用户名和密码创建一个新的系统用户。
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- description: 用户信息
|
|
|
|
|
|
in: body
|
|
|
|
|
|
name: user
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/definitions/user.CreateUserRequest'
|
|
|
|
|
|
produces:
|
|
|
|
|
|
- application/json
|
|
|
|
|
|
responses:
|
|
|
|
|
|
"200":
|
|
|
|
|
|
description: 业务失败,具体错误码和信息见响应体(例如400, 409, 500)
|
2025-09-12 16:58:39 +08:00
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/definitions/controller.Response'
|
|
|
|
|
|
summary: 创建新用户
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- 用户管理
|
|
|
|
|
|
/users/login:
|
|
|
|
|
|
post:
|
|
|
|
|
|
consumes:
|
|
|
|
|
|
- application/json
|
|
|
|
|
|
description: 用户使用用户名和密码登录,成功后返回 JWT 令牌。
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- description: 登录凭证
|
|
|
|
|
|
in: body
|
|
|
|
|
|
name: credentials
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/definitions/user.LoginRequest'
|
|
|
|
|
|
produces:
|
|
|
|
|
|
- application/json
|
|
|
|
|
|
responses:
|
|
|
|
|
|
"200":
|
2025-09-12 17:43:42 +08:00
|
|
|
|
description: 业务失败,具体错误码和信息见响应体(例如400, 401, 500)
|
2025-09-12 16:58:39 +08:00
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/definitions/controller.Response'
|
|
|
|
|
|
summary: 用户登录
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- 用户管理
|
|
|
|
|
|
swagger: "2.0"
|