config.go 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  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. EnableLdapServer bool
  12. LdapPort int64
  13. }
  14. var AppConfig ApiConfig
  15. var _config *Config = nil
  16. func init() {
  17. ParseConfig()
  18. logs.Debug(AppConfig)
  19. }
  20. func ParseConfig() {
  21. var err error
  22. _config, err = LoadConfiguration("conf/app.conf")
  23. if _config == nil {
  24. panic("cant find config 'conf/app.conf'")
  25. }
  26. if err != nil {
  27. logs.Error(err.Error())
  28. AppConfig.AppName = ""
  29. AppConfig.HttpPort = 8080
  30. AppConfig.LogMode = "debug"
  31. AppConfig.RunMode = "debug"
  32. AppConfig.DataSource = ""
  33. AppConfig.SyncDb = true
  34. AppConfig.AutoRefresh = false
  35. } else {
  36. AppConfig.AppName = _config.String("app_name", "")
  37. AppConfig.HttpPort = _config.Integer("http_port", 8080)
  38. AppConfig.LogMode = _config.String("log_mode", "debug")
  39. AppConfig.RunMode = _config.String("run_mode", "debug")
  40. AppConfig.DataSource = _config.String("data_source", "")
  41. AppConfig.SyncDb = _config.Boolean("sync_db", true)
  42. AppConfig.AutoRefresh = _config.Boolean("auto_refresh", false)
  43. AppConfig.EnableLdapServer = _config.Boolean("enable_ldap_server", true)
  44. AppConfig.LdapPort = _config.Integer("ldap_port", 389)
  45. }
  46. }
  47. func (c *ApiConfig) GetKey(key string) string {
  48. if _config == nil {
  49. ParseConfig()
  50. }
  51. return _config.String(key, "")
  52. }
  53. func (c *ApiConfig) GetInt(key string) int64 {
  54. if _config == nil {
  55. ParseConfig()
  56. }
  57. return _config.Integer(key, 0)
  58. }
  59. func (c *ApiConfig) GetBool(key string, def bool) bool {
  60. if _config == nil {
  61. ParseConfig()
  62. }
  63. return _config.Boolean(key, def)
  64. }