From 3a3de64b0f92d513687b665cb33e3860f9fb489e Mon Sep 17 00:00:00 2001 From: jxxghp Date: Wed, 4 Jun 2025 08:21:14 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E9=87=8D=E6=9E=84=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E7=83=AD=E5=8A=A0=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/endpoints/system.py | 4 ++-- app/core/event.py | 17 ++++------------- app/helper/resource.py | 2 +- 3 files changed, 7 insertions(+), 16 deletions(-) diff --git a/app/api/endpoints/system.py b/app/api/endpoints/system.py index f843577d..c847f404 100644 --- a/app/api/endpoints/system.py +++ b/app/api/endpoints/system.py @@ -20,6 +20,7 @@ from app.core.config import global_vars, settings from app.core.metainfo import MetaInfo from app.core.module import ModuleManager from app.core.security import verify_apitoken, verify_resource_token, verify_token +from app.core.event import eventmanager from app.db.models import User from app.db.systemconfig_oper import SystemConfigOper from app.db.user_oper import get_current_active_superuser @@ -38,7 +39,6 @@ from app.utils.crypto import HashUtils from app.utils.http import RequestUtils from app.utils.security import SecurityUtils from app.utils.url import UrlUtils -from core.event import eventmanager from version import APP_VERSION router = APIRouter() @@ -225,7 +225,7 @@ def set_env_setting(env: dict, if failed_updates: return schemas.Response( success=False, - message="部分配置项更新失败", + message=f"{', '.join(failed_updates.keys())} 配置项更新失败", data={ "success_updates": success_updates, "failed_updates": failed_updates diff --git a/app/core/event.py b/app/core/event.py index a30d00cb..d03aac4a 100644 --- a/app/core/event.py +++ b/app/core/event.py @@ -450,24 +450,15 @@ class EventManager(metaclass=Singleton): # 如果类不在全局变量中,尝试动态导入模块并创建实例 try: - if class_name == "Command": - module_name = "app.command" - module = importlib.import_module(module_name) - elif class_name == "Monitor": - module_name = "app.monitor" - module = importlib.import_module(module_name) - elif class_name == "Scheduler": - module_name = "app.scheduler" - module = importlib.import_module(module_name) - elif class_name == "PluginManager": - module_name = "app.core.plugin" + if class_name.endswith("Manager"): + module_name = f"app.core.{class_name[:-7].lower()}" module = importlib.import_module(module_name) elif class_name.endswith("Chain"): module_name = f"app.chain.{class_name[:-5].lower()}" module = importlib.import_module(module_name) else: - logger.debug(f"事件处理出错:不支持的类名: {class_name}") - return None + module_name = f"app.{class_name.lower()}" + module = importlib.import_module(module_name) if hasattr(module, class_name): class_obj = getattr(module, class_name)() return class_obj diff --git a/app/helper/resource.py b/app/helper/resource.py index 2abab2a7..d900a182 100644 --- a/app/helper/resource.py +++ b/app/helper/resource.py @@ -8,7 +8,7 @@ from app.utils.http import RequestUtils from app.utils.singleton import Singleton from app.utils.string import StringUtils from app.utils.system import SystemUtils -from helper.system import SystemHelper +from app.helper.system import SystemHelper class ResourceHelper(metaclass=Singleton):