Ai_GirlFriend/lover/response.py

25 lines
703 B
Python
Raw Normal View History

2026-01-31 19:15:41 +08:00
from typing import Generic, Optional, TypeVar
from pydantic import BaseModel, Field
T = TypeVar("T")
class ApiResponse(BaseModel, Generic[T]):
"""
统一响应包装便于前端通过 code 判断成功/失败
code: 1 表示成功 1 HTTP 状态码填充错误
"""
code: int = Field(default=1)
msg: str = Field(default="ok")
data: Optional[T] = None
def success_response(data: Optional[T] = None, msg: str = "ok") -> ApiResponse[T]:
return ApiResponse[T](code=1, msg=msg, data=data)
def error_response(msg: str = "error", code: int = 0, data: Optional[T] = None) -> ApiResponse[T]:
return ApiResponse[T](code=code, msg=msg, data=data)