gl_config.go 640 B

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