diff --git a/zhenxun/builtin_plugins/web_ui/api/tabs/plugin_manage/data_source.py b/zhenxun/builtin_plugins/web_ui/api/tabs/plugin_manage/data_source.py index a8b5e097..df54752e 100644 --- a/zhenxun/builtin_plugins/web_ui/api/tabs/plugin_manage/data_source.py +++ b/zhenxun/builtin_plugins/web_ui/api/tabs/plugin_manage/data_source.py @@ -41,6 +41,7 @@ class ApiDataSource: plugins = await query.all() for plugin in plugins: plugin_info = PluginInfo( + id=plugin.id, module=plugin.module, plugin_name=plugin.name, default_status=plugin.default_status, @@ -269,6 +270,7 @@ class ApiDataSource: cls.__build_plugin_config(module, cfg, config) for cfg in config.configs ) return PluginDetail( + id=db_plugin.id, module=module, plugin_name=db_plugin.name, default_status=db_plugin.default_status, diff --git a/zhenxun/builtin_plugins/web_ui/api/tabs/plugin_manage/model.py b/zhenxun/builtin_plugins/web_ui/api/tabs/plugin_manage/model.py index 007e55e0..dc70f4d9 100644 --- a/zhenxun/builtin_plugins/web_ui/api/tabs/plugin_manage/model.py +++ b/zhenxun/builtin_plugins/web_ui/api/tabs/plugin_manage/model.py @@ -57,6 +57,8 @@ class PluginInfo(BaseModel): 基本插件信息 """ + id: int + """插件id""" module: str """模块""" plugin_name: str diff --git a/zhenxun/builtin_plugins/web_ui/api/tabs/plugin_manage/store.py b/zhenxun/builtin_plugins/web_ui/api/tabs/plugin_manage/store.py index 35d19fe7..bc9e4333 100644 --- a/zhenxun/builtin_plugins/web_ui/api/tabs/plugin_manage/store.py +++ b/zhenxun/builtin_plugins/web_ui/api/tabs/plugin_manage/store.py @@ -87,7 +87,11 @@ async def _(param: PluginIr) -> Result: require("plugin_store") from zhenxun.builtin_plugins.plugin_store import StoreManager - result = await StoreManager.remove_plugin(param.id) # type: ignore + plugin_info = await PluginInfo.get_plugin(id=param.id) + if not plugin_info: + return Result.fail("插件不存在") + + result = await StoreManager.remove_plugin(plugin_info.module) # type: ignore return Result.ok(info=result) except Exception as e: return Result.fail(f"移除插件失败: {type(e)}: {e}")