conn_ini_.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. package conf
  2. import (
  3. "errors"
  4. "github.com/Unknwon/goconfig"
  5. "os"
  6. "strings"
  7. )
  8. // 读取配置文件
  9. var connIni *goconfig.ConfigFile
  10. var connIniTest = false
  11. func ConnIni() (conf *goconfig.ConfigFile, err error) {
  12. // 判断是否加载成功过
  13. if connIniTest == false {
  14. conf, err = connIniGetPath()
  15. if err != nil {
  16. return conf, err
  17. }
  18. connIni = conf
  19. connIniTest = true
  20. }
  21. return connIni, nil
  22. }
  23. func connIniGetPath() (conf *goconfig.ConfigFile, err error) {
  24. // 通过全局变量设置配置文件的名字
  25. var confName string
  26. switch strings.ToLower(os.Getenv("model")) {
  27. case "develop":
  28. confName = "conf.ini"
  29. break
  30. case "master":
  31. confName = "conf_master.ini"
  32. break
  33. case "test":
  34. confName = "conf_test.ini"
  35. break
  36. default:
  37. confName = "conf.ini"
  38. }
  39. // 判断是否加载成功过
  40. if connIniTest == false {
  41. var conFiles = []string{"conf/", "/conf/", "/app/conf/", "../conf/", "../../conf/", "../../../conf/", "../../../../conf/", "../../../../../conf/"}
  42. for _, aConFile := range conFiles {
  43. conn, err := goconfig.LoadConfigFile(aConFile + confName)
  44. if err == nil {
  45. connIniTest = true
  46. connIni = conn
  47. return connIni, nil
  48. }
  49. }
  50. return connIni, errors.New("无法找到配置文件")
  51. }
  52. return connIni, nil
  53. }