From 0b9c6320eb58b0a7aecae909009d1128faa9dc15 Mon Sep 17 00:00:00 2001 From: DLmaster361 Date: Mon, 4 Aug 2025 14:09:01 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=AD=A3=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/api.py | 12 ++++-------- app/core/config.py | 14 +++++--------- 2 files changed, 9 insertions(+), 17 deletions(-) diff --git a/app/api/api.py b/app/api/api.py index dfaec43..604479f 100644 --- a/app/api/api.py +++ b/app/api/api.py @@ -48,8 +48,7 @@ class ScriptCreateOut(BaseModel): class ScriptGetIn(BaseModel): - mode: Literal["ALL", "Index", "Single"] - scriptId: Optional[str] = None + scriptId: Optional[str] = Field(None, description="脚本ID,仅在模式为Single时需要") class ScriptGetOut(BaseModel): @@ -61,9 +60,8 @@ class ScriptGetOut(BaseModel): class ScriptUpdate(BaseModel): - name: Optional[str] = None - content: Optional[str] = None - description: Optional[str] = None + scriptId: str = Field(..., description="脚本ID") + data: Dict[str, Any] = Field(..., description="脚本更新数据") class ScriptUser(BaseModel): @@ -172,9 +170,7 @@ async def add_script(script: ScriptCreateIn = Body(...)) -> ScriptCreateOut: async def get_scripts(script: ScriptGetIn = Body(...)) -> ScriptGetOut: """查询脚本""" try: - index, data = await Config.get_script( - script.mode, uuid.UUID(script.scriptId) if script.scriptId else None - ) + index, data = await Config.get_script(script.scriptId) except Exception as e: return ScriptGetOut(code=500, status="error", message=str(e), index=[], data={}) return ScriptGetOut(index=index, data=data) diff --git a/app/core/config.py b/app/core/config.py index ca42bf2..a4745e1 100644 --- a/app/core/config.py +++ b/app/core/config.py @@ -632,21 +632,17 @@ class AppConfig(GlobalConfig): return await self.ScriptConfig.add(class_book[script]) - async def get_script( - self, mode: Literal["ALL", "Index", "Single"], script_id: Optional[uuid.UUID] - ) -> tuple[list, dict]: + async def get_script(self, script_id: Optional[str]) -> tuple[list, dict]: """获取脚本配置""" - if mode in ["ALL", "Index"]: + if script_id is None: data = await self.ScriptConfig.toDict() - elif mode == "Single": - if script_id is None: - raise ValueError("script_id cannot be None when mode is 'Single'") - data = await self.ScriptConfig.get(script_id) + else: + data = await self.ScriptConfig.get(uuid.UUID(script_id)) index = data.pop("instances", []) - return list(index), data if mode != "Index" else {} + return list(index), data # def check_data(self) -> None: # """检查用户数据文件并处理数据文件版本更新"""