插件删除回调(onRemove)与模板/示例同步

- sdk: RegisterOnRemoveHandler/RunOnRemoveHandlers(仅卸载时触发,重载不触发;
  后注册先执行、幂等),与 RegisterStopHandler/RunStopHandlers 并存
- plugindev: 模板 main.go.tmpl 新增 onRemove 演示(删配置键),templates.go 同步
- example/calendar: RegisterOnRemoveHandler(p.cleanupData) 卸载时清理 events.json
- README/README_EN: 生命周期文档补充 onRemove
- example/calendar/plg.json: 版本对齐
This commit is contained in:
root
2026-08-02 13:33:25 +08:00
parent db5d3133ea
commit fb07081929
7 changed files with 111 additions and 13 deletions

View File

@ -20,6 +20,12 @@ func (p *Plugin) Name() string { return p.name }
func (p *Plugin) Start(s *sdk.PluginSDK) error {
p.sdk = s
s.RegisterStopHandler(func() {
fmt.Printf("[%s] stop handler running\n", p.name)
})
s.RegisterOnRemoveHandler(func() {
fmt.Printf("[%s] onRemove handler running\n", p.name)
})
s.Settings().RegisterDef(sdk.ConfigDef{
Key: "plugin.{{.Plg.Name}}.example",
Default: "hello",