From 9c73dccd1eab639c48cf27c3dca48206f03d40c7 Mon Sep 17 00:00:00 2001 From: DLmaster361 Date: Tue, 12 Aug 2025 22:48:19 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E4=B8=8B=E6=8B=89=E5=88=97=E8=A1=A8=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/info.py | 16 ++++++++++++++++ app/core/config.py | 23 +++++++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/app/api/info.py b/app/api/info.py index bdbebef..a7438dc 100644 --- a/app/api/info.py +++ b/app/api/info.py @@ -62,6 +62,22 @@ async def get_script_combox() -> ComboBoxOut: return ComboBoxOut(data=data) +@router.post( + "/combox/task", + summary="获取可选任务下拉框信息", + response_model=ComboBoxOut, + status_code=200, +) +async def get_task_combox() -> ComboBoxOut: + + try: + raw_data = await Config.get_task_combox() + data = [ComboBoxItem(**item) for item in raw_data] if raw_data else [] + except Exception as e: + return ComboBoxOut(code=500, status="error", message=str(e), data=[]) + return ComboBoxOut(data=data) + + @router.post("/notice", summary="获取通知信息", response_model=InfoOut, status_code=200) async def get_notice_info() -> InfoOut: diff --git a/app/core/config.py b/app/core/config.py index bf790cc..f3efef2 100644 --- a/app/core/config.py +++ b/app/core/config.py @@ -1277,6 +1277,29 @@ class AppConfig(GlobalConfig): return data + async def get_task_combox(self): + """获取任务下拉框信息""" + + logger.info("Getting task combo box information...") + data = [{"label": "未选择", "value": None}] + for uid, script in self.QueueConfig.items(): + data.append( + { + "label": f"队列 - {script.get('Info', 'Name')}", + "value": str(uid), + } + ) + for uid, script in self.ScriptConfig.items(): + data.append( + { + "label": f"脚本 - {TYPE_BOOK[script.__class__.__name__]} - {script.get('Info', 'Name')}", + "value": str(uid), + } + ) + logger.success("Task combo box information retrieved successfully.") + + return data + async def get_server_info(self, type: str) -> Dict[str, Any]: """获取公告信息"""