eta_config.go 659 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package config
  2. import (
  3. "eta/eta_mini_ht_api/common/contants"
  4. "sync"
  5. )
  6. var (
  7. etaOnce sync.Once
  8. etaConfig *ETAConfig
  9. )
  10. type ETAOpts struct {
  11. DBUrl string
  12. }
  13. type ETAConfig struct {
  14. BaseConfig
  15. opts ETAOpts
  16. }
  17. func (r *ETAConfig) GetDBUrl() string {
  18. return r.opts.DBUrl
  19. }
  20. func (r *ETAConfig) InitConfig() {
  21. opts := ETAOpts{
  22. DBUrl: r.GetString("database.url"),
  23. }
  24. r.opts = opts
  25. }
  26. func NewETAConfig() Config {
  27. if etaConfig == nil {
  28. etaOnce.Do(func() {
  29. etaConfig = &ETAConfig{
  30. BaseConfig: BaseConfig{prefix: contants.ETA},
  31. opts: ETAOpts{},
  32. }
  33. })
  34. }
  35. return etaConfig
  36. }
  37. func init() {
  38. Register(contants.ETA, NewETAConfig)
  39. }