132 lines
3.8 KiB
JavaScript
132 lines
3.8 KiB
JavaScript
/**
|
|
* 设备管理模块 Swagger 文档
|
|
* @file swagger-devices.js
|
|
* @description 设备管理相关的 Swagger API 文档定义
|
|
*/
|
|
|
|
// 设备管理相关的 API 路径定义
|
|
const devicesPaths = {
|
|
'/api/devices': {
|
|
get: {
|
|
summary: '获取所有设备',
|
|
tags: ['设备管理'],
|
|
parameters: [
|
|
{ $ref: '#/components/parameters/PageParam' },
|
|
{ $ref: '#/components/parameters/LimitParam' },
|
|
{ $ref: '#/components/parameters/SearchParam' }
|
|
],
|
|
responses: {
|
|
200: { $ref: '#/components/responses/Success' }
|
|
}
|
|
},
|
|
post: {
|
|
summary: '创建设备',
|
|
tags: ['设备管理'],
|
|
requestBody: {
|
|
required: true,
|
|
content: {
|
|
'application/json': {
|
|
schema: { $ref: '#/components/schemas/DeviceInput' }
|
|
}
|
|
}
|
|
},
|
|
responses: {
|
|
201: { $ref: '#/components/responses/Created' },
|
|
400: { $ref: '#/components/responses/BadRequest' }
|
|
}
|
|
}
|
|
},
|
|
'/api/devices/{id}': {
|
|
get: {
|
|
summary: '根据ID获取设备',
|
|
tags: ['设备管理'],
|
|
parameters: [{ $ref: '#/components/parameters/IdParam' }],
|
|
responses: {
|
|
200: { $ref: '#/components/responses/Success' },
|
|
404: { $ref: '#/components/responses/NotFound' }
|
|
}
|
|
},
|
|
put: {
|
|
summary: '更新设备信息',
|
|
tags: ['设备管理'],
|
|
parameters: [{ $ref: '#/components/parameters/IdParam' }],
|
|
requestBody: {
|
|
required: true,
|
|
content: {
|
|
'application/json': {
|
|
schema: { $ref: '#/components/schemas/DeviceInput' }
|
|
}
|
|
}
|
|
},
|
|
responses: {
|
|
200: { $ref: '#/components/responses/Success' },
|
|
404: { $ref: '#/components/responses/NotFound' }
|
|
}
|
|
},
|
|
delete: {
|
|
summary: '删除设备',
|
|
tags: ['设备管理'],
|
|
parameters: [{ $ref: '#/components/parameters/IdParam' }],
|
|
responses: {
|
|
200: { $ref: '#/components/responses/Success' },
|
|
404: { $ref: '#/components/responses/NotFound' }
|
|
}
|
|
}
|
|
},
|
|
'/api/devices/stats/status': {
|
|
get: {
|
|
summary: '获取设备状态统计',
|
|
tags: ['设备管理'],
|
|
responses: {
|
|
200: { $ref: '#/components/responses/Success' }
|
|
}
|
|
}
|
|
},
|
|
'/api/devices/stats/type': {
|
|
get: {
|
|
summary: '获取设备类型统计',
|
|
tags: ['设备管理'],
|
|
responses: {
|
|
200: { $ref: '#/components/responses/Success' }
|
|
}
|
|
}
|
|
}
|
|
};
|
|
|
|
// 设备管理相关的数据模型定义
|
|
const devicesSchemas = {
|
|
Device: {
|
|
type: 'object',
|
|
properties: {
|
|
id: { type: 'integer', description: '设备ID' },
|
|
deviceId: { type: 'string', description: '设备编号' },
|
|
name: { type: 'string', description: '设备名称' },
|
|
type: { type: 'string', description: '设备类型' },
|
|
status: { type: 'string', enum: ['online', 'offline', 'fault'], description: '设备状态' },
|
|
batteryLevel: { type: 'integer', description: '电池电量' },
|
|
location: { type: 'string', description: '位置信息' },
|
|
farmId: { type: 'integer', description: '养殖场ID' },
|
|
animalId: { type: 'integer', description: '绑定的动物ID' },
|
|
createdAt: { type: 'string', format: 'date-time', description: '创建时间' },
|
|
updatedAt: { type: 'string', format: 'date-time', description: '更新时间' }
|
|
}
|
|
},
|
|
DeviceInput: {
|
|
type: 'object',
|
|
required: ['deviceId', 'name', 'type'],
|
|
properties: {
|
|
deviceId: { type: 'string', description: '设备编号' },
|
|
name: { type: 'string', description: '设备名称' },
|
|
type: { type: 'string', description: '设备类型' },
|
|
farmId: { type: 'integer', description: '养殖场ID' },
|
|
animalId: { type: 'integer', description: '绑定的动物ID' }
|
|
}
|
|
}
|
|
};
|
|
|
|
module.exports = {
|
|
devicesPaths,
|
|
devicesSchemas
|
|
};
|
|
|