🎨 代码优化 (#1698)

This commit is contained in:
HibiKier
2024-10-15 03:44:30 +08:00
committed by GitHub
parent 4a52c4825b
commit fe1634eb2d
9 changed files with 352 additions and 129 deletions
+9 -6
View File
@@ -1,11 +1,12 @@
from datetime import datetime
from typing_extensions import Self
from typing import Any, Generic, TypeVar
from pydantic import BaseModel, validator
T = TypeVar("T")
RT = TypeVar("RT")
class User(BaseModel):
username: str
@@ -17,7 +18,7 @@ class Token(BaseModel):
token_type: str
class Result(BaseModel):
class Result(Generic[RT], BaseModel):
"""
总体返回
"""
@@ -30,19 +31,21 @@ class Result(BaseModel):
"""info"""
warning: str | None = None
"""警告信息"""
data: Any = None
data: RT = None
"""返回数据"""
@classmethod
def warning_(cls, info: str, code: int = 200) -> Self:
def warning_(cls, info: str, code: int = 200) -> "Result[RT]":
return cls(suc=True, warning=info, code=code)
@classmethod
def fail(cls, info: str = "异常错误", code: int = 500) -> Self:
def fail(cls, info: str = "异常错误", code: int = 500) -> "Result[RT]":
return cls(suc=False, info=info, code=code)
@classmethod
def ok(cls, data: Any = None, info: str = "操作成功", code: int = 200) -> Self:
def ok(
cls, data: Any = None, info: str = "操作成功", code: int = 200
) -> "Result[RT]":
return cls(suc=True, info=info, code=code, data=data)