github.com/zly-app/zapp@v1.3.3/plugin/apollo_provider/usage.go (about) 1 package apollo_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 ProviderName = "apollo" 12 13 // 默认插件类型 14 const DefaultPluginType core.PluginType = "apollo_provider" 15 16 // 当前服务类型 17 var nowPluginType = DefaultPluginType 18 19 // 设置插件类型, 这个函数应该在 zapp.NewApp 之前调用 20 func SetPluginType(t core.PluginType) { 21 nowPluginType = t 22 } 23 24 // 启用插件, 用于设置配置观察的提供者 25 func WithPlugin(setDefaultProvider ...bool) zapp.Option { 26 plugin.RegisterCreatorFunc(nowPluginType, func(app core.IApp) core.IPlugin { 27 p := NewApolloProvider(app) 28 config.RegistryConfigWatchProvider(ProviderName, p) // 注册提供者 29 if len(setDefaultProvider) > 0 && setDefaultProvider[0] { 30 config.SetDefaultConfigWatchProvider(p) // 设为默认 31 } 32 return p 33 }) 34 return zapp.WithPlugin(nowPluginType) 35 }