""" 认证相关的Pydantic模型 """ from pydantic import BaseModel, Field from typing import Optional from datetime import datetime class SendCodeRequest(BaseModel): """发送验证码请求""" phone: str = Field(..., min_length=11, max_length=11, description="手机号") class SendCodeResponse(BaseModel): """发送验证码响应""" success: bool message: str expires_in: Optional[int] = None class LoginRequest(BaseModel): """登录请求""" phone: str = Field(..., min_length=11, max_length=11, description="手机号") code: str = Field(..., min_length=6, max_length=6, description="验证码") class UserInfo(BaseModel): """用户信息""" id: int phone: str created_at: datetime last_login_at: Optional[datetime] = None class LoginResponse(BaseModel): """登录响应""" success: bool token: Optional[str] = None user: Optional[UserInfo] = None message: Optional[str] = None class RefreshTokenResponse(BaseModel): """刷新Token响应""" success: bool token: str