mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2026-09-28 16:20:56 +08:00
🐛 修复webui插件删除问题 (#2097)
This commit is contained in:
@@ -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}")
|
||||
|
||||
Reference in New Issue
Block a user