mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2026-10-06 12:20:00 +08:00
🎨 代码优化 (#1698)
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user