mirror of
https://github.com/fastapiadmin/FastapiAdmin.git
synced 2026-10-11 03:49:33 +00:00
refactor: 大规模代码重构与项目配置优化
- 调整前端路由前缀为 /web 并新增配置项 - 重构环境变量配置,替换旧环境文件为 dev/prod/test 版本 - 优化后端接口路由与参数校验,替换 dataclass 查询参数为 Pydantic 模型 - 整理后端导入顺序,延迟加载循环依赖模块 - 统一前端 API 调用命名,重构模块命名 - 新增多种响应类型支持,优化代码模板 - 简化后端路由装饰器写法,合并配置参数
This commit is contained in:
@@ -1,11 +1,7 @@
|
||||
from dataclasses import dataclass
|
||||
|
||||
from fastapi import Query
|
||||
from pydantic import BaseModel, ConfigDict, Field, field_validator
|
||||
from pydantic import BaseModel, ConfigDict, Field, field_validator, model_validator
|
||||
|
||||
from app.common.enums import QueueEnum
|
||||
from app.core.base_params import BaseQueryParam
|
||||
from app.core.base_schema import BaseSchema
|
||||
from app.core.base_schema import BaseQueryParam, BaseSchema
|
||||
|
||||
|
||||
class PluginCreateSchema(BaseModel):
|
||||
@@ -82,18 +78,19 @@ class PluginInstallSchema(BaseModel):
|
||||
plugin_id: int = Field(..., description="插件ID")
|
||||
|
||||
|
||||
@dataclass
|
||||
class PluginQueryParam(BaseQueryParam):
|
||||
"""插件查询参数"""
|
||||
|
||||
name: str | None = Query(None, description="插件名称")
|
||||
category: str | None = Query(None, description="插件分类(tool/ai/monitor/business)")
|
||||
status: int | None = Query(None, ge=0, le=1, description="状态(0:启动 1:停用)")
|
||||
name: str | None = Field(None, description="插件名称")
|
||||
category: str | None = Field(None, description="插件分类(tool/ai/monitor/business)")
|
||||
status: int | None = Field(None, ge=0, le=1, description="状态(0:启动 1:停用)")
|
||||
|
||||
def __post_init__(self) -> None:
|
||||
@model_validator(mode="after")
|
||||
def validate_query_params(self) -> "PluginQueryParam":
|
||||
if self.name:
|
||||
self.name = (QueueEnum.like.value, self.name)
|
||||
if self.category:
|
||||
self.category = (QueueEnum.eq.value, self.category)
|
||||
if isinstance(self.status, int):
|
||||
self.status = (QueueEnum.eq.value, self.status)
|
||||
return self
|
||||
|
||||
Reference in New Issue
Block a user