{ "swagger": "2.0", "info": { "contact": {} }, "paths": { "/api/v1/area-controllers": { "get": { "description": "获取系统中所有区域主控的列表", "produces": [ "application/json" ], "tags": [ "区域主控管理" ], "summary": "获取所有区域主控列表", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/controller.Response" }, { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/device.AreaControllerResponse" } } } } ] } } } }, "post": { "description": "根据提供的信息创建一个新区域主控", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "区域主控管理" ], "summary": "创建新区域主控", "parameters": [ { "description": "区域主控信息", "name": "areaController", "in": "body", "required": true, "schema": { "$ref": "#/definitions/device.CreateAreaControllerRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/controller.Response" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/device.AreaControllerResponse" } } } ] } } } } }, "/api/v1/area-controllers/{id}": { "get": { "description": "根据ID获取单个区域主控的详细信息", "produces": [ "application/json" ], "tags": [ "区域主控管理" ], "summary": "获取区域主控信息", "parameters": [ { "type": "string", "description": "区域主控ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/controller.Response" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/device.AreaControllerResponse" } } } ] } } } }, "put": { "description": "根据ID更新一个已存在的区域主控信息", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "区域主控管理" ], "summary": "更新区域主控信息", "parameters": [ { "type": "string", "description": "区域主控ID", "name": "id", "in": "path", "required": true }, { "description": "要更新的区域主控信息", "name": "areaController", "in": "body", "required": true, "schema": { "$ref": "#/definitions/device.UpdateAreaControllerRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/controller.Response" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/device.AreaControllerResponse" } } } ] } } } }, "delete": { "description": "根据ID删除一个区域主控(软删除)", "produces": [ "application/json" ], "tags": [ "区域主控管理" ], "summary": "删除区域主控", "parameters": [ { "type": "string", "description": "区域主控ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/controller.Response" } } } } }, "/api/v1/device-templates": { "get": { "description": "获取系统中所有设备模板的列表", "produces": [ "application/json" ], "tags": [ "设备模板管理" ], "summary": "获取设备模板列表", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/controller.Response" }, { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/device.DeviceTemplateResponse" } } } } ] } } } }, "post": { "description": "根据提供的信息创建一个新设备模板", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "设备模板管理" ], "summary": "创建新设备模板", "parameters": [ { "description": "设备模板信息", "name": "deviceTemplate", "in": "body", "required": true, "schema": { "$ref": "#/definitions/device.CreateDeviceTemplateRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/controller.Response" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/device.DeviceTemplateResponse" } } } ] } } } } }, "/api/v1/device-templates/{id}": { "get": { "description": "根据设备模板ID获取单个设备模板的详细信息", "produces": [ "application/json" ], "tags": [ "设备模板管理" ], "summary": "获取设备模板信息", "parameters": [ { "type": "string", "description": "设备模板ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/controller.Response" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/device.DeviceTemplateResponse" } } } ] } } } }, "put": { "description": "根据设备模板ID更新一个已存在的设备模板信息", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "设备模板管理" ], "summary": "更新设备模板信息", "parameters": [ { "type": "string", "description": "设备模板ID", "name": "id", "in": "path", "required": true }, { "description": "要更新的设备模板信息", "name": "deviceTemplate", "in": "body", "required": true, "schema": { "$ref": "#/definitions/device.UpdateDeviceTemplateRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/controller.Response" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/device.DeviceTemplateResponse" } } } ] } } } }, "delete": { "description": "根据设备模板ID删除一个设备模板(软删除)", "produces": [ "application/json" ], "tags": [ "设备模板管理" ], "summary": "删除设备模板", "parameters": [ { "type": "string", "description": "设备模板ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/controller.Response" } } } } }, "/api/v1/devices": { "get": { "description": "获取系统中所有设备的列表", "produces": [ "application/json" ], "tags": [ "设备管理" ], "summary": "获取设备列表", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/controller.Response" }, { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/git_huangwc_com_pig_pig-farm-controller_internal_app_controller_device.DeviceResponse" } } } } ] } } } }, "post": { "description": "根据提供的信息创建一个新设备", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "设备管理" ], "summary": "创建新设备", "parameters": [ { "description": "设备信息", "name": "device", "in": "body", "required": true, "schema": { "$ref": "#/definitions/device.CreateDeviceRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/controller.Response" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/git_huangwc_com_pig_pig-farm-controller_internal_app_controller_device.DeviceResponse" } } } ] } } } } }, "/api/v1/devices/{id}": { "get": { "description": "根据设备ID获取单个设备的详细信息", "produces": [ "application/json" ], "tags": [ "设备管理" ], "summary": "获取设备信息", "parameters": [ { "type": "string", "description": "设备ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/controller.Response" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/git_huangwc_com_pig_pig-farm-controller_internal_app_controller_device.DeviceResponse" } } } ] } } } }, "put": { "description": "根据设备ID更新一个已存在的设备信息", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "设备管理" ], "summary": "更新设备信息", "parameters": [ { "type": "string", "description": "设备ID", "name": "id", "in": "path", "required": true }, { "description": "要更新的设备信息", "name": "device", "in": "body", "required": true, "schema": { "$ref": "#/definitions/device.UpdateDeviceRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/controller.Response" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/git_huangwc_com_pig_pig-farm-controller_internal_app_controller_device.DeviceResponse" } } } ] } } } }, "delete": { "description": "根据设备ID删除一个设备(软删除)", "produces": [ "application/json" ], "tags": [ "设备管理" ], "summary": "删除设备", "parameters": [ { "type": "string", "description": "设备ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/controller.Response" } } } } }, "/api/v1/plans": { "get": { "description": "获取所有计划的列表", "produces": [ "application/json" ], "tags": [ "计划管理" ], "summary": "获取计划列表", "responses": { "200": { "description": "业务码为200代表成功获取列表", "schema": { "allOf": [ { "$ref": "#/definitions/controller.Response" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/plan.ListPlansResponse" } } } ] } } } }, "post": { "description": "创建一个新的计划,包括其基本信息和所有关联的子计划/任务。", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "计划管理" ], "summary": "创建计划", "parameters": [ { "description": "计划信息", "name": "plan", "in": "body", "required": true, "schema": { "$ref": "#/definitions/plan.CreatePlanRequest" } } ], "responses": { "200": { "description": "业务码为201代表创建成功", "schema": { "allOf": [ { "$ref": "#/definitions/controller.Response" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/plan.PlanResponse" } } } ] } } } } }, "/api/v1/plans/{id}": { "get": { "description": "根据计划ID获取单个计划的详细信息。", "produces": [ "application/json" ], "tags": [ "计划管理" ], "summary": "获取计划详情", "parameters": [ { "type": "integer", "description": "计划ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "业务码为200代表成功获取", "schema": { "allOf": [ { "$ref": "#/definitions/controller.Response" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/plan.PlanResponse" } } } ] } } } }, "put": { "description": "根据计划ID更新计划的详细信息。", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "计划管理" ], "summary": "更新计划", "parameters": [ { "type": "integer", "description": "计划ID", "name": "id", "in": "path", "required": true }, { "description": "更新后的计划信息", "name": "plan", "in": "body", "required": true, "schema": { "$ref": "#/definitions/plan.UpdatePlanRequest" } } ], "responses": { "200": { "description": "业务码为200代表更新成功", "schema": { "allOf": [ { "$ref": "#/definitions/controller.Response" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/plan.PlanResponse" } } } ] } } } }, "delete": { "description": "根据计划ID删除计划。(软删除)", "produces": [ "application/json" ], "tags": [ "计划管理" ], "summary": "删除计划", "parameters": [ { "type": "integer", "description": "计划ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "业务码为200代表删除成功", "schema": { "$ref": "#/definitions/controller.Response" } } } } }, "/api/v1/plans/{id}/start": { "post": { "description": "根据计划ID启动一个计划的执行。", "produces": [ "application/json" ], "tags": [ "计划管理" ], "summary": "启动计划", "parameters": [ { "type": "integer", "description": "计划ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "业务码为200代表成功启动计划", "schema": { "$ref": "#/definitions/controller.Response" } } } } }, "/api/v1/plans/{id}/stop": { "post": { "description": "根据计划ID停止一个正在执行的计划。", "produces": [ "application/json" ], "tags": [ "计划管理" ], "summary": "停止计划", "parameters": [ { "type": "integer", "description": "计划ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "业务码为200代表成功停止计划", "schema": { "$ref": "#/definitions/controller.Response" } } } } }, "/api/v1/users": { "post": { "description": "根据用户名和密码创建一个新的系统用户。", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "用户管理" ], "summary": "创建新用户", "parameters": [ { "description": "用户信息", "name": "user", "in": "body", "required": true, "schema": { "$ref": "#/definitions/user.CreateUserRequest" } } ], "responses": { "200": { "description": "业务码为201代表创建成功", "schema": { "allOf": [ { "$ref": "#/definitions/controller.Response" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/user.CreateUserResponse" } } } ] } } } } }, "/api/v1/users/login": { "post": { "description": "用户可以使用用户名、邮箱、手机号、微信号或飞书账号进行登录,成功后返回 JWT 令牌。", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "用户管理" ], "summary": "用户登录", "parameters": [ { "description": "登录凭证", "name": "credentials", "in": "body", "required": true, "schema": { "$ref": "#/definitions/user.LoginRequest" } } ], "responses": { "200": { "description": "业务码为200代表登录成功", "schema": { "allOf": [ { "$ref": "#/definitions/controller.Response" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/user.LoginResponse" } } } ] } } } } }, "/api/v1/users/{id}/history": { "get": { "description": "根据用户ID,分页获取该用户的操作审计日志。", "produces": [ "application/json" ], "tags": [ "用户管理" ], "summary": "获取指定用户的操作历史", "parameters": [ { "type": "integer", "description": "用户ID", "name": "id", "in": "path", "required": true }, { "type": "integer", "default": 1, "description": "页码", "name": "page", "in": "query" }, { "type": "integer", "default": 10, "description": "每页大小", "name": "page_size", "in": "query" }, { "type": "string", "description": "按操作类型过滤", "name": "action_type", "in": "query" } ], "responses": { "200": { "description": "业务码为200代表成功获取", "schema": { "allOf": [ { "$ref": "#/definitions/controller.Response" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/user.ListHistoryResponse" } } } ] } } } } } }, "definitions": { "controller.Response": { "type": "object", "properties": { "code": { "description": "业务状态码", "allOf": [ { "$ref": "#/definitions/controller.ResponseCode" } ] }, "data": { "description": "业务数据" }, "message": { "description": "提示信息", "type": "string" } } }, "controller.ResponseCode": { "type": "integer", "enum": [ 2000, 2001, 4000, 4001, 4004, 4009, 5000, 5003 ], "x-enum-comments": { "CodeBadRequest": "请求参数错误", "CodeConflict": "资源冲突", "CodeCreated": "创建成功", "CodeInternalError": "服务器内部错误", "CodeNotFound": "资源未找到", "CodeServiceUnavailable": "服务不可用", "CodeSuccess": "操作成功", "CodeUnauthorized": "未授权" }, "x-enum-descriptions": [ "操作成功", "创建成功", "请求参数错误", "未授权", "资源未找到", "资源冲突", "服务器内部错误", "服务不可用" ], "x-enum-varnames": [ "CodeSuccess", "CodeCreated", "CodeBadRequest", "CodeUnauthorized", "CodeNotFound", "CodeConflict", "CodeInternalError", "CodeServiceUnavailable" ] }, "device.AreaControllerResponse": { "type": "object", "properties": { "created_at": { "type": "string" }, "id": { "type": "integer" }, "location": { "type": "string" }, "name": { "type": "string" }, "network_id": { "type": "string" }, "properties": { "type": "object", "additionalProperties": true }, "status": { "type": "string" }, "updated_at": { "type": "string" } } }, "device.CreateAreaControllerRequest": { "type": "object", "required": [ "name", "network_id" ], "properties": { "location": { "type": "string" }, "name": { "type": "string" }, "network_id": { "type": "string" }, "properties": { "type": "object", "additionalProperties": true } } }, "device.CreateDeviceRequest": { "type": "object", "required": [ "area_controller_id", "device_template_id", "name" ], "properties": { "area_controller_id": { "type": "integer" }, "device_template_id": { "type": "integer" }, "location": { "type": "string" }, "name": { "type": "string" }, "properties": { "type": "object", "additionalProperties": true } } }, "device.CreateDeviceTemplateRequest": { "type": "object", "required": [ "category", "commands", "name" ], "properties": { "category": { "$ref": "#/definitions/models.DeviceCategory" }, "commands": { "type": "object", "additionalProperties": true }, "description": { "type": "string" }, "manufacturer": { "type": "string" }, "name": { "type": "string" }, "values": { "type": "array", "items": { "$ref": "#/definitions/models.ValueDescriptor" } } } }, "device.DeviceTemplateResponse": { "type": "object", "properties": { "category": { "$ref": "#/definitions/models.DeviceCategory" }, "commands": { "type": "object", "additionalProperties": true }, "created_at": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "integer" }, "manufacturer": { "type": "string" }, "name": { "type": "string" }, "updated_at": { "type": "string" }, "values": { "type": "array", "items": { "$ref": "#/definitions/models.ValueDescriptor" } } } }, "device.UpdateAreaControllerRequest": { "type": "object", "required": [ "name", "network_id" ], "properties": { "location": { "type": "string" }, "name": { "type": "string" }, "network_id": { "type": "string" }, "properties": { "type": "object", "additionalProperties": true } } }, "device.UpdateDeviceRequest": { "type": "object", "required": [ "area_controller_id", "device_template_id", "name" ], "properties": { "area_controller_id": { "type": "integer" }, "device_template_id": { "type": "integer" }, "location": { "type": "string" }, "name": { "type": "string" }, "properties": { "type": "object", "additionalProperties": true } } }, "device.UpdateDeviceTemplateRequest": { "type": "object", "required": [ "category", "commands", "name" ], "properties": { "category": { "$ref": "#/definitions/models.DeviceCategory" }, "commands": { "type": "object", "additionalProperties": true }, "description": { "type": "string" }, "manufacturer": { "type": "string" }, "name": { "type": "string" }, "values": { "type": "array", "items": { "$ref": "#/definitions/models.ValueDescriptor" } } } }, "git_huangwc_com_pig_pig-farm-controller_internal_app_controller_device.DeviceResponse": { "type": "object", "properties": { "area_controller_id": { "type": "integer" }, "area_controller_name": { "type": "string" }, "created_at": { "type": "string" }, "device_template_id": { "type": "integer" }, "device_template_name": { "type": "string" }, "id": { "type": "integer" }, "location": { "type": "string" }, "name": { "type": "string" }, "properties": { "type": "object", "additionalProperties": true }, "updated_at": { "type": "string" } } }, "models.DeviceCategory": { "type": "string", "enum": [ "actuator", "sensor" ], "x-enum-varnames": [ "CategoryActuator", "CategorySensor" ] }, "models.PlanContentType": { "type": "string", "enum": [ "sub_plans", "tasks" ], "x-enum-comments": { "PlanContentTypeSubPlans": "计划包含子计划", "PlanContentTypeTasks": "计划包含任务" }, "x-enum-descriptions": [ "计划包含子计划", "计划包含任务" ], "x-enum-varnames": [ "PlanContentTypeSubPlans", "PlanContentTypeTasks" ] }, "models.PlanExecutionType": { "type": "string", "enum": [ "automatic", "manual" ], "x-enum-comments": { "PlanExecutionTypeAutomatic": "自动执行 (包含定时和循环)", "PlanExecutionTypeManual": "手动执行" }, "x-enum-descriptions": [ "自动执行 (包含定时和循环)", "手动执行" ], "x-enum-varnames": [ "PlanExecutionTypeAutomatic", "PlanExecutionTypeManual" ] }, "models.PlanStatus": { "type": "integer", "format": "int32", "enum": [ 0, 1, 2, 3 ], "x-enum-comments": { "PlanStatusDisabled": "禁用计划", "PlanStatusEnabled": "启用计划", "PlanStatusFailed": "执行失败", "PlanStatusStopeed": "执行完毕" }, "x-enum-descriptions": [ "禁用计划", "启用计划", "执行完毕", "执行失败" ], "x-enum-varnames": [ "PlanStatusDisabled", "PlanStatusEnabled", "PlanStatusStopeed", "PlanStatusFailed" ] }, "models.SensorType": { "type": "string", "enum": [ "signal_metrics", "battery_level", "temperature", "humidity", "weight" ], "x-enum-comments": { "SensorTypeBatteryLevel": "电池电量", "SensorTypeHumidity": "湿度", "SensorTypeSignalMetrics": "信号强度", "SensorTypeTemperature": "温度", "SensorTypeWeight": "重量" }, "x-enum-descriptions": [ "信号强度", "电池电量", "温度", "湿度", "重量" ], "x-enum-varnames": [ "SensorTypeSignalMetrics", "SensorTypeBatteryLevel", "SensorTypeTemperature", "SensorTypeHumidity", "SensorTypeWeight" ] }, "models.TaskType": { "type": "string", "enum": [ "plan_analysis", "waiting", "release_feed_weight" ], "x-enum-comments": { "TaskPlanAnalysis": "解析Plan的Task列表并添加到待执行队列的特殊任务", "TaskTypeReleaseFeedWeight": "下料口释放指定重量任务", "TaskTypeWaiting": "等待任务" }, "x-enum-descriptions": [ "解析Plan的Task列表并添加到待执行队列的特殊任务", "等待任务", "下料口释放指定重量任务" ], "x-enum-varnames": [ "TaskPlanAnalysis", "TaskTypeWaiting", "TaskTypeReleaseFeedWeight" ] }, "models.ValueDescriptor": { "type": "object", "properties": { "multiplier": { "description": "乘数,用于原始数据转换", "type": "number" }, "offset": { "description": "偏移量,用于原始数据转换", "type": "number" }, "type": { "$ref": "#/definitions/models.SensorType" } } }, "plan.CreatePlanRequest": { "type": "object", "required": [ "execution_type", "name" ], "properties": { "cron_expression": { "type": "string", "example": "0 0 6 * * *" }, "description": { "type": "string", "example": "根据温度自动调节风扇和加热器" }, "execute_num": { "type": "integer", "example": 10 }, "execution_type": { "allOf": [ { "$ref": "#/definitions/models.PlanExecutionType" } ], "example": "automatic" }, "name": { "type": "string", "example": "猪舍温度控制计划" }, "sub_plan_ids": { "type": "array", "items": { "type": "integer" } }, "tasks": { "type": "array", "items": { "$ref": "#/definitions/plan.TaskRequest" } } } }, "plan.ListPlansResponse": { "type": "object", "properties": { "plans": { "type": "array", "items": { "$ref": "#/definitions/plan.PlanResponse" } }, "total": { "type": "integer", "example": 100 } } }, "plan.PlanResponse": { "type": "object", "properties": { "content_type": { "allOf": [ { "$ref": "#/definitions/models.PlanContentType" } ], "example": "tasks" }, "cron_expression": { "type": "string", "example": "0 0 6 * * *" }, "description": { "type": "string", "example": "根据温度自动调节风扇和加热器" }, "execute_count": { "type": "integer", "example": 0 }, "execute_num": { "type": "integer", "example": 10 }, "execution_type": { "allOf": [ { "$ref": "#/definitions/models.PlanExecutionType" } ], "example": "automatic" }, "id": { "type": "integer", "example": 1 }, "name": { "type": "string", "example": "猪舍温度控制计划" }, "status": { "allOf": [ { "$ref": "#/definitions/models.PlanStatus" } ], "example": 0 }, "sub_plans": { "type": "array", "items": { "$ref": "#/definitions/plan.SubPlanResponse" } }, "tasks": { "type": "array", "items": { "$ref": "#/definitions/plan.TaskResponse" } } } }, "plan.SubPlanResponse": { "type": "object", "properties": { "child_plan": { "$ref": "#/definitions/plan.PlanResponse" }, "child_plan_id": { "type": "integer", "example": 2 }, "execution_order": { "type": "integer", "example": 1 }, "id": { "type": "integer", "example": 1 }, "parent_plan_id": { "type": "integer", "example": 1 } } }, "plan.TaskRequest": { "type": "object", "properties": { "description": { "type": "string", "example": "打开1号风扇" }, "execution_order": { "type": "integer", "example": 1 }, "name": { "type": "string", "example": "打开风扇" }, "parameters": { "type": "object", "additionalProperties": true }, "type": { "allOf": [ { "$ref": "#/definitions/models.TaskType" } ], "example": "waiting" } } }, "plan.TaskResponse": { "type": "object", "properties": { "description": { "type": "string", "example": "打开1号风扇" }, "execution_order": { "type": "integer", "example": 1 }, "id": { "type": "integer", "example": 1 }, "name": { "type": "string", "example": "打开风扇" }, "parameters": { "type": "object", "additionalProperties": true }, "plan_id": { "type": "integer", "example": 1 }, "type": { "allOf": [ { "$ref": "#/definitions/models.TaskType" } ], "example": "waiting" } } }, "plan.UpdatePlanRequest": { "type": "object", "properties": { "cron_expression": { "type": "string", "example": "0 0 6 * * *" }, "description": { "type": "string", "example": "更新后的描述" }, "execute_num": { "type": "integer", "example": 10 }, "execution_type": { "allOf": [ { "$ref": "#/definitions/models.PlanExecutionType" } ], "example": "automatic" }, "name": { "type": "string", "example": "猪舍温度控制计划V2" }, "sub_plan_ids": { "type": "array", "items": { "type": "integer" } }, "tasks": { "type": "array", "items": { "$ref": "#/definitions/plan.TaskRequest" } } } }, "user.CreateUserRequest": { "type": "object", "required": [ "password", "username" ], "properties": { "password": { "type": "string", "example": "password123" }, "username": { "type": "string", "example": "newuser" } } }, "user.CreateUserResponse": { "type": "object", "properties": { "id": { "type": "integer", "example": 1 }, "username": { "type": "string", "example": "newuser" } } }, "user.HistoryResponse": { "type": "object", "properties": { "action_type": { "type": "string", "example": "更新设备" }, "description": { "type": "string", "example": "设备更新成功" }, "target_resource": {}, "time": { "type": "string" }, "user_id": { "type": "integer", "example": 101 }, "username": { "type": "string", "example": "testuser" } } }, "user.ListHistoryResponse": { "type": "object", "properties": { "history": { "type": "array", "items": { "$ref": "#/definitions/user.HistoryResponse" } }, "total": { "type": "integer", "example": 100 } } }, "user.LoginRequest": { "type": "object", "required": [ "identifier", "password" ], "properties": { "identifier": { "description": "Identifier 可以是用户名、邮箱、手机号、微信号或飞书账号", "type": "string", "example": "testuser" }, "password": { "type": "string", "example": "password123" } } }, "user.LoginResponse": { "type": "object", "properties": { "id": { "type": "integer", "example": 1 }, "token": { "type": "string", "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." }, "username": { "type": "string", "example": "testuser" } } } } }