update. 完成前端页面展示、列表和详情页
update. 调整融合主菜单与板块 update. 分离新闻模块
This commit is contained in:
Executable
+48
@@ -0,0 +1,48 @@
|
||||
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
|
||||
Reference in New Issue
Block a user