diff --git a/app/api/v1/endpoints/devices.py b/app/api/v1/endpoints/devices.py index 41db545..29a291c 100644 --- a/app/api/v1/endpoints/devices.py +++ b/app/api/v1/endpoints/devices.py @@ -24,7 +24,10 @@ async def get_devices(): return DeviceListResponse( success=True, message=f"成功获取 {len(devices)} 个设备", - data=devices + data={ + "devices": [device.dict() for device in devices], + "total": len(devices) + } ) except Exception as e: logger.error(f"获取设备列表失败: {e}") diff --git a/app/services/device_service.py b/app/services/device_service.py index 98dbe51..b36868c 100644 --- a/app/services/device_service.py +++ b/app/services/device_service.py @@ -29,7 +29,7 @@ class DeviceService: """获取所有设备""" try: devices = await self.device_manager.get_all_devices() - return [Device.from_device_info(device) for device in devices] + return devices # 直接返回Device对象列表,不需要转换 except Exception as e: logger.error(f"获取所有设备失败: {e}") raise @@ -39,7 +39,7 @@ class DeviceService: try: device_info = await self.device_manager.get_device(device_id) if device_info: - return Device.from_device_info(device_info) + return device_info # 直接返回Device对象,不需要转换 return None except Exception as e: logger.error(f"获取设备 {device_id} 失败: {e}") @@ -55,10 +55,7 @@ class DeviceService: return DeviceStatusResponse( device_id=device_id, status=device.status, - protocol_type=device.protocol_type, - source=device.source, - last_seen=device.last_seen, - properties=device.properties + timestamp=device.updated_at ) except Exception as e: logger.error(f"获取设备 {device_id} 状态失败: {e}") @@ -71,7 +68,10 @@ class DeviceService: if not device: raise ValueError(f"设备 {device_id} 不存在") - if device.source == DeviceSource.REGISTERED: + # 获取设备来源 + device_source = await self.device_manager.get_device_source(device_id) + + if device_source == DeviceSource.REGISTERED: # 注册设备:通过设备分发器执行 return await self.device_dispatcher.execute_operation( device_id=device_id, diff --git a/新建文本文档.txt b/新建文本文档.txt new file mode 100644 index 0000000..e69de29