add mqtt and device test

This commit is contained in:
HycJack
2026-04-26 20:07:41 +08:00
parent 7c12ca59dd
commit 389f6c4040
22 changed files with 742 additions and 32 deletions

View File

@@ -0,0 +1,57 @@
from typing import Optional
from pydantic import BaseModel, Field
class GPSQueryRequest(BaseModel):
device_id: str = Field(..., description="设备ID如 TalkingQ_001")
class VolumeRequest(BaseModel):
device_id: str = Field(..., description="设备ID")
level: int = Field(..., ge=0, le=100, description="音量等级 0-100")
class OTARequest(BaseModel):
device_id: str = Field(..., description="设备ID")
url: str = Field(..., description="固件下载地址")
version: str = Field(..., description="目标版本号")
class NFCNoticeRequest(BaseModel):
device_id: str = Field(..., description="设备ID")
url: str = Field(..., description="提示音地址")
class NFCListenRequest(BaseModel):
device_id: str = Field(..., description="设备ID")
uuid: str = Field(..., description="NFC卡片UUID")
class NFCUnreadRequest(BaseModel):
device_id: str = Field(..., description="设备ID")
url: str = Field(..., description="未读留言音频地址")
class NFCBindRequest(BaseModel):
device_id: str = Field(..., description="设备ID")
uuid: str = Field(..., description="NFC卡片UUID")
class CommandResponse(BaseModel):
code: int = 0
message: str = "success"
msg_id: str = Field(..., description="消息ID")
device_id: str = Field(..., description="设备ID")
class DeviceResponseData(BaseModel):
msg_id: str
status: Optional[str] = None
data: Optional[dict] = None
timestamp: Optional[float] = None
class DeviceStatusResponse(BaseModel):
device_id: str
online: bool
last_seen: Optional[float] = None