覆盖所有模块: - api 层:17 个路由文件,每个接口标注用途、参数、返回值、权限 - services 层:18 个服务文件,每个方法标注作用、参数、返回值、调用方 - repositories 层:13 个仓储文件,每个方法标注查询逻辑和被调用方 - schemas 层:11 个请求/响应体文件,每个字段标注业务含义 - core 层:config、security、exceptions、responses、error_codes - models 层:19 个 ORM 模型类,每个表标注业务含义和关联关系 - scripts:bootstrap_data、smoke_check - migrations:env.py 和版本迁移文件 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
47 lines
1.1 KiB
Python
47 lines
1.1 KiB
Python
"""
|
|
公共响应模型模块
|
|
|
|
提供全系统统一的 API 响应数据模型和便捷函数,包括:
|
|
- 成功/失败消息体
|
|
- 空数据体
|
|
- 标准化成功响应构造函数
|
|
"""
|
|
|
|
from typing import Any
|
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
from backend.app.core.error_codes import ErrorCode
|
|
|
|
|
|
class MessageData(BaseModel):
|
|
"""通用消息响应数据模型,用于返回操作结果提示信息。"""
|
|
|
|
success: bool = True
|
|
"""操作是否成功"""
|
|
|
|
detail: str | None = None
|
|
"""详细说明信息,如错误原因或提示内容"""
|
|
|
|
|
|
class EmptyData(BaseModel):
|
|
"""空数据占位模型,用于无需返回业务数据的接口响应。"""
|
|
pass
|
|
|
|
|
|
def success_payload(data: Any, message: str = "success") -> dict[str, Any]:
|
|
"""构造标准成功响应字典。
|
|
|
|
Args:
|
|
data: 响应业务数据
|
|
message: 响应提示信息,默认为 "success"
|
|
|
|
Returns:
|
|
包含 code、message、data 三个字段的标准响应字典
|
|
"""
|
|
return {
|
|
"code": ErrorCode.SUCCESS,
|
|
"message": message,
|
|
"data": data,
|
|
}
|