插件卸载清配置:删除配置项定义与插件配置表

- ConfigRegistry.RemovePlugin(name):删除 defs 中 plugin.<name>.* 配置项定义
  (该插件 RegisterDef 注册的全部配置项)+ DROP 插件配置表 config_<name>
  (含用户设置值);ListPlugins 基于 config_% 表枚举,卸载后插件配置区
  在 WebUI/Settings API 中完全消失
- Registry.RemovePlugin 在 RemoveDisabledPlugin 基础上追加 RemovePlugin 调用;
  语义与 onRemove 回调(清数据文件)互补:删除 = 数据文件 + 配置 + 注册全清,
  disable/重载不清配置
This commit is contained in:
root
2026-08-02 13:43:01 +08:00
parent a965a74d27
commit b19eeca0cf
2 changed files with 19 additions and 0 deletions

View File

@ -615,6 +615,7 @@ func (r *Registry) RemovePlugin(name string) error {
}
if r.cfgReg != nil {
r.cfgReg.RemoveDisabledPlugin(name)
r.cfgReg.RemovePlugin(name)
}
log.Printf("[plugin] removed: %s", name)
return nil