🐛 修复webui插件删除问题 (#2097)

This commit is contained in:
HibiKier
2026-02-06 09:13:36 +08:00
committed by GitHub
parent 662d61a672
commit 4f152638b0
3 changed files with 9 additions and 1 deletions
@@ -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,
@@ -57,6 +57,8 @@ class PluginInfo(BaseModel):
基本插件信息
"""
id: int
"""插件id"""
module: str
"""模块"""
plugin_name: str
@@ -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}")