feat: 优化前端显示&修复若干bug

This commit is contained in:
CaasianVale
2025-03-07 03:33:18 +08:00
parent ff5b820a57
commit 4c115cf325
29 changed files with 3726 additions and 1209 deletions

View File

@@ -1,43 +0,0 @@
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
from typing import Optional, Any
from fastapi import Response
from pydantic import BaseModel
class ResponseModel(BaseModel):
"""
统一返回模型
"""
code: int = 200
msg: str = "Success"
data: Optional[Any] = None
class ApiResponse:
@staticmethod
def __response(code: int, msg: str, data: Optional[Any] = None) -> ResponseModel:
return ResponseModel(code=code, msg=msg, data=data)
@classmethod
def success(cls, *, code: int = 200, msg: str = 'Success', data: Optional[Any] = None) -> Response:
response_model = cls.__response(code=code, msg=msg, data=data)
return cls(content=response_model.model_dump())
@classmethod
def fail(cls, *, code: int = 400, msg: str = 'Bad Request', data: Optional[Any] = None) -> Response:
response_model = cls.__response(code=code, msg=msg, data=data)
return cls(content=response_model.model_dump())
response_api = ApiResponse()
""" 示例
@app.get("/example-success")
async def example_success():
return response_api.success(data={"key": "value"})
@app.get("/example-fail")
async def example_fail():
return response_api.fail(msg="Something went wrong", data={"error": "details"})
"""