"""统一响应格式""" from typing import Any, Generic, Optional, TypeVar, List from pydantic import BaseModel, Field T = TypeVar("T") class ResponseModel(BaseModel, Generic[T]): """通用响应格式""" code: int = 200 message: str = "success" data: Optional[T] = None timestamp: int = 0 class Config: from_attributes = True class PageResult(BaseModel, Generic[T]): """分页响应格式""" items: List[T] = Field(default_factory=list, serialization_alias="list") total: int = 0 page: int = 1 pageSize: int = 10 totalPages: int = 0 def success_response(data: Any = None, message: str = "success") -> dict: """成功响应""" from datetime import datetime return { "code": 200, "message": message, "data": data, "timestamp": int(datetime.now().timestamp() * 1000) } def error_response(code: int = 400, message: str = "error", data: Any = None) -> dict: """错误响应""" from datetime import datetime return { "code": code, "message": message, "data": data, "timestamp": int(datetime.now().timestamp() * 1000) }