Brak opisu
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

configure_config.go 1.1KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package subconfigs
  2. import (
  3. "fmt"
  4. "git.x2erp.com/qdy/go-base/config/core"
  5. )
  6. // ConfigureConfig 配置中心配置
  7. type ConfigureConfig struct {
  8. core.BaseConfig
  9. Url string `yaml:"url" desc:"配置中心地址"`
  10. Token string `yaml:"token" desc:"访问配置中心的token"`
  11. Username string `yaml:"username" desc:"Basic认证用户名"`
  12. Password string `yaml:"password" desc:"Basic认证密码"`
  13. }
  14. func (c *ConfigureConfig) Description() string {
  15. return "configure访问配置中心的配置"
  16. }
  17. func NewConfgigureConfig() *ConfigureConfig {
  18. return &ConfigureConfig{}
  19. }
  20. func (c *ConfigureConfig) SetDefaults() {
  21. c.Url = "http://localhost:8080"
  22. c.Token = "123"
  23. }
  24. func (c *ConfigureConfig) Load(data map[string]interface{}) error {
  25. return c.LoadFromYAML(data, c)
  26. }
  27. func (c *ConfigureConfig) Validate() error {
  28. if c.Url == "" {
  29. return fmt.Errorf("configure center url must be positive")
  30. }
  31. // 不再强制要求认证凭证,允许无认证模式(用于公开接口如登录)
  32. return nil
  33. }
  34. func (c *ConfigureConfig) IsConfigured() bool {
  35. return c.Url != ""
  36. }
  37. // 自动注册
  38. func init() {
  39. core.Register("configure", &ConfigureConfig{})
  40. }