config.go 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package config
  2. import "git.qianqiusoft.com/qianqiusoft/light-apiengine/logs"
  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. logs.Debug(AppConfig)
  17. }
  18. func ParseConfig() {
  19. var err error
  20. _config, err = LoadConfiguration("conf/app.conf")
  21. if err != nil {
  22. logs.Error(err.Error())
  23. AppConfig.AppName = ""
  24. AppConfig.HttpPort = 8080
  25. AppConfig.LogMode = "debug"
  26. AppConfig.RunMode = "debug"
  27. AppConfig.DataSource = ""
  28. AppConfig.SyncDb = true
  29. AppConfig.AutoRefresh = false
  30. } else {
  31. AppConfig.AppName = _config.String("app_name", "")
  32. AppConfig.HttpPort = _config.Integer("http_port", 8080)
  33. AppConfig.LogMode = _config.String("log_mode", "debug")
  34. AppConfig.RunMode = _config.String("run_mode", "debug")
  35. AppConfig.DataSource = _config.String("data_source", "")
  36. AppConfig.SyncDb = _config.Boolean("sync_db", true)
  37. AppConfig.AutoRefresh = _config.Boolean("auto_refresh", false)
  38. }
  39. }
  40. func (c *ApiConfig) GetKey(key string) string {
  41. if _config == nil {
  42. ParseConfig()
  43. }
  44. return _config.String(key, "")
  45. }
  46. func (c *ApiConfig) GetInt(key string) int64 {
  47. if _config == nil {
  48. ParseConfig()
  49. }
  50. return _config.Integer(key, 0)
  51. }
  52. func (c *ApiConfig) GetBool(key string, def bool) bool {
  53. if _config == nil {
  54. ParseConfig()
  55. }
  56. return _config.Boolean(key, def)
  57. }