add mqtt and device test
This commit is contained in:
57
talkingq-url/api/mqtt_models.py
Normal file
57
talkingq-url/api/mqtt_models.py
Normal 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
|
||||
Reference in New Issue
Block a user