config.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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. }
  11. var AppConfig ApiConfig
  12. var _config *Config = nil
  13. func init() {
  14. ParseConfig()
  15. }
  16. func ParseConfig() {
  17. var err error
  18. _config, err = LoadConfiguration("conf/app.conf")
  19. if err != nil {
  20. fmt.Println(err.Error())
  21. AppConfig.AppName = ""
  22. AppConfig.HttpPort = 8080
  23. AppConfig.LogMode = "debug"
  24. AppConfig.RunMode = "debug"
  25. AppConfig.DataSource = ""
  26. AppConfig.SyncDb = true
  27. } else {
  28. AppConfig.AppName = _config.String("appname", "")
  29. AppConfig.HttpPort = _config.Integer("httpport", 8080)
  30. AppConfig.LogMode = _config.String("logmode", "debug")
  31. AppConfig.RunMode = _config.String("runmode", "debug")
  32. AppConfig.DataSource = _config.String("datasource", "")
  33. AppConfig.SyncDb = _config.Boolean("syncDb", true)
  34. }
  35. }
  36. func (c *ApiConfig) GetKey(key string) string {
  37. if _config == nil {
  38. ParseConfig()
  39. }
  40. return _config.String(key, "")
  41. }
  42. func (c *ApiConfig) GetInt(key string) int64 {
  43. if _config == nil {
  44. ParseConfig()
  45. }
  46. return _config.Integer(key, 0)
  47. }
  48. func (c *ApiConfig) GetBool(key string, def bool) bool {
  49. if _config == nil {
  50. ParseConfig()
  51. }
  52. return _config.Boolean(key, def)
  53. }