github.com/zly-app/zapp@v1.3.3/config/watch_example/example_provider/usage.go (about) 1 package example_provider 2 3 import ( 4 "github.com/zly-app/zapp" 5 "github.com/zly-app/zapp/config" 6 "github.com/zly-app/zapp/core" 7 "github.com/zly-app/zapp/plugin" 8 ) 9 10 // 默认插件类型 11 const DefaultPluginType core.PluginType = "example_watch_provider" 12 13 // 当前服务类型 14 var nowPluginType = DefaultPluginType 15 16 // 设置插件类型, 这个函数应该在 zapp.NewApp 之前调用 17 func SetPluginType(t core.PluginType) { 18 nowPluginType = t 19 } 20 21 // 启用插件 22 func WithPlugin(setDefaultProvider ...bool) zapp.Option { 23 plugin.RegisterCreatorFunc(nowPluginType, func(app core.IApp) core.IPlugin { 24 p := NewExamplePlugin(app) 25 config.RegistryConfigWatchProvider("example_watch_provider", p) // 注册提供者 26 if len(setDefaultProvider) > 0 && setDefaultProvider[0] { 27 config.SetDefaultConfigWatchProvider(p) // 设为默认 28 } 29 return p 30 }) 31 return zapp.WithPlugin(nowPluginType) 32 }