""" Pydantic 数据验证模型 """ from pydantic import BaseModel, Field from typing import List, Optional, Dict, Any class LoginRequest(BaseModel): username: str password: str class LoginResponse(BaseModel): access_token: str token_type: str = "bearer" class PasswordChange(BaseModel): old_password: str new_password: str = Field(..., min_length=8, max_length=20) class JsonColorItem(BaseModel): """单个色块的颜色数据""" id: int value: str class JsonDataRequest(BaseModel): """JSON数据尿检请求 - 与txt文件格式一致""" extend: Optional[Dict[str, Any]] = Field(default_factory=dict) data: List[List[JsonColorItem]] = Field(default_factory=list) project_id: Optional[int] = None