update. 完成前端页面展示、列表和详情页

update. 调整融合主菜单与板块
update. 分离新闻模块
This commit is contained in:
ngfchl
2026-04-01 14:17:03 +08:00
parent af9d7a676f
commit 777ca50328
55 changed files with 2190 additions and 567 deletions
+48
View File
@@ -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