""" 通用响应 Schema """ from pydantic import BaseModel, Field from typing import Generic, TypeVar, Optional, Any DataT = TypeVar('DataT') class Response(BaseModel, Generic[DataT]): """统一响应格式""" code: int = Field(200, description="状态码") message: str = Field("success", description="响应消息") data: Optional[DataT] = Field(None, description="响应数据") class PageResponse(BaseModel, Generic[DataT]): """分页响应格式""" code: int = Field(200, description="状态码") message: str = Field("success", description="响应消息") data: Optional[DataT] = Field(None, description="响应数据列表") total: int = Field(0, description="总记录数") page: int = Field(1, description="当前页码") page_size: int = Field(10, description="每页大小") def success_response(data: Any = None, message: str = "success") -> dict: """成功响应""" return { "code": 200, "message": message, "data": data } def error_response(message: str = "error", code: int = 400, data: Any = None) -> dict: """错误响应""" return { "code": code, "message": message, "data": data }