Files
banban/talkingq-url/api/mqtt_models.py
2026-04-26 20:07:41 +08:00

58 lines
1.6 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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