Files
server/common/common_response.py
ngfchl 777ca50328 update. 完成前端页面展示、列表和详情页
update. 调整融合主菜单与板块
update. 分离新闻模块
2026-04-01 14:17:03 +08:00

49 lines
1.1 KiB
Python
Executable File

from typing import Optional, TypeVar, Generic
from ninja import Schema
T = TypeVar('T')
class CommonResponse(Schema, Generic[T]):
code: int
msg: Optional[str]
data: Optional[T] = None
succeed: bool = True
"""
统一的json返回格式
"""
def __init__(self, code: int = 0, data: object = None, msg: str = '', succeed: bool = True):
super().__init__(code=code, data=data, msg=msg, succeed=succeed)
@classmethod
def success(cls, code=0, data=None, msg=''):
return cls(code, data, msg, succeed=True)
@classmethod
def error(cls, code=-1, data=None, msg=''):
return cls(code, data, msg, succeed=False)
def to_dict(self):
return {
"code": self.code,
"msg": self.msg,
"data": self.data,
"succeed": self.succeed,
}
class DotDict(dict):
"""实现支持 "." 表示法的字典类"""
def __getattr__(self, attr):
try:
return self[attr]
except Exception:
return None
def __setattr__(self, attr, value):
self[attr] = value