config.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package config
  2. import "fmt"
  3. type ApiConfig struct {
  4. RunMode string
  5. HttpPort int64
  6. LogMode string
  7. AppName string
  8. DataSource string
  9. SyncDb bool
  10. AutoRefresh bool
  11. }
  12. var AppConfig ApiConfig
  13. var _config *Config = nil
  14. func init() {
  15. ParseConfig()
  16. }
  17. func ParseConfig() {
  18. var err error
  19. _config, err = LoadConfiguration("conf/app.conf")
  20. if err != nil {
  21. fmt.Println(err.Error())
  22. AppConfig.AppName = ""
  23. AppConfig.HttpPort = 8080
  24. AppConfig.LogMode = "debug"
  25. AppConfig.RunMode = "debug"
  26. AppConfig.DataSource = ""
  27. AppConfig.SyncDb = true
  28. AppConfig.AutoRefresh = false
  29. } else {
  30. AppConfig.AppName = _config.String("app_name", "")
  31. AppConfig.HttpPort = _config.Integer("http_port", 8080)
  32. AppConfig.LogMode = _config.String("log_mode", "debug")
  33. AppConfig.RunMode = _config.String("run_mode", "debug")
  34. AppConfig.DataSource = _config.String("data_source", "")
  35. AppConfig.SyncDb = _config.Boolean("sync_db", true)
  36. AppConfig.AutoRefresh = _config.Boolean("auto_refresh", false)
  37. }
  38. }
  39. func (c *ApiConfig) GetKey(key string) string {
  40. if _config == nil {
  41. ParseConfig()
  42. }
  43. return _config.String(key, "")
  44. }
  45. func (c *ApiConfig) GetInt(key string) int64 {
  46. if _config == nil {
  47. ParseConfig()
  48. }
  49. return _config.Integer(key, 0)
  50. }
  51. func (c *ApiConfig) GetBool(key string, def bool) bool {
  52. if _config == nil {
  53. ParseConfig()
  54. }
  55. return _config.Boolean(key, def)
  56. }