{ "swagger": "2.0", "info": { "contact": {} }, "paths": { "/devices": { "get": { "description": "获取系统中所有设备的列表", "produces": [ "application/json" ], "tags": [ "设备管理" ], "summary": "获取设备列表", "responses": { "200": { "description": "业务失败,具体错误码和信息见响应体", "schema": { "$ref": "#/definitions/controller.Response" } } } }, "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": "业务失败,具体错误码和信息见响应体", "schema": { "$ref": "#/definitions/controller.Response" } } } } }, "/devices/{id}": { "get": { "description": "根据设备ID获取单个设备的详细信息", "produces": [ "application/json" ], "tags": [ "设备管理" ], "summary": "获取设备信息", "parameters": [ { "type": "string", "description": "设备ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "业务失败,具体错误码和信息见响应体", "schema": { "$ref": "#/definitions/controller.Response" } } } }, "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": "业务失败,具体错误码和信息见响应体", "schema": { "$ref": "#/definitions/controller.Response" } } } }, "delete": { "description": "根据设备ID删除一个设备(软删除)", "produces": [ "application/json" ], "tags": [ "设备管理" ], "summary": "删除设备", "parameters": [ { "type": "string", "description": "设备ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "业务失败,具体错误码和信息见响应体", "schema": { "$ref": "#/definitions/controller.Response" } } } } }, "/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": "业务失败,具体错误码和信息见响应体(例如400, 409, 500)", "schema": { "$ref": "#/definitions/controller.Response" } } } } }, "/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": "业务失败,具体错误码和信息见响应体(例如400, 401, 500)", "schema": { "$ref": "#/definitions/controller.Response" } } } } } }, "definitions": { "controller.Properties": { "type": "object" }, "controller.Response": { "type": "object", "properties": { "code": { "description": "业务状态码", "type": "integer" }, "data": { "description": "业务数据" }, "message": { "description": "提示信息", "type": "string" } } }, "device.CreateDeviceRequest": { "type": "object" }, "device.DeviceResponse": { "type": "object", "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" } } }, "device.UpdateDeviceRequest": { "type": "object", "required": [ "name", "type" ], "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" } } }, "models.DeviceSubType": { "type": "string", "enum": [ "", "temperature", "humidity", "ammonia", "feed_valve", "fan", "water_curtain" ], "x-enum-varnames": [ "SubTypeNone", "SubTypeSensorTemp", "SubTypeSensorHumidity", "SubTypeSensorAmmonia", "SubTypeValveFeed", "SubTypeFan", "SubTypeWaterCurtain" ] }, "models.DeviceType": { "type": "string", "enum": [ "area_controller", "device" ], "x-enum-varnames": [ "DeviceTypeAreaController", "DeviceTypeDevice" ] }, "user.CreateUserRequest": { "type": "object", "required": [ "password", "username" ], "properties": { "password": { "type": "string", "minLength": 6, "example": "password123" }, "username": { "type": "string", "example": "newuser" } } }, "user.CreateUserResponse": { "type": "object", "properties": { "id": { "type": "integer", "example": 1 }, "username": { "type": "string", "example": "newuser" } } }, "user.LoginRequest": { "type": "object", "required": [ "password", "username" ], "properties": { "password": { "type": "string", "example": "password123" }, "username": { "type": "string", "example": "testuser" } } }, "user.LoginResponse": { "type": "object", "properties": { "id": { "type": "integer", "example": 1 }, "token": { "type": "string", "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." }, "username": { "type": "string", "example": "testuser" } } } } }