config.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. package config
  2. import (
  3. "fmt"
  4. "gadmin/internal/admin/library/feishu"
  5. "sync"
  6. "time"
  7. "github.com/joho/godotenv"
  8. "github.com/sirupsen/logrus"
  9. )
  10. var initOnce sync.Once
  11. func Init(cfgfile string) {
  12. initOnce.Do(func() {
  13. envFilename := cfgfile
  14. // if SysType == "windows" {
  15. // envFilename = "local.env"
  16. // // go run main.go -c local67.env
  17. // flag.StringVar(&envFilename, "c", "local.env", "配置环境")
  18. // flag.Parse()
  19. // }
  20. fmt.Printf("当前运行环境为:%v, 加载的环境变量路径为:%v, 运行路径为:%v \r\n", SysType, envFilename, RootPtah)
  21. if err := godotenv.Load(envFilename); err != nil {
  22. logrus.Panic("本地环境加载失败", err)
  23. return
  24. }
  25. // 全局修改为上海时区
  26. time.Local, _ = time.LoadLocation("Asia/Shanghai")
  27. // 读取翻译文件
  28. if err := LoadLocales("manifest/locales/zh-cn.yaml"); err != nil {
  29. logrus.Panic("翻译文件加载失败", err)
  30. }
  31. BuildLogger()
  32. InitDatabase()
  33. InitRedis()
  34. InitCache()
  35. InitNats()
  36. InitEtcd()
  37. InitElastic()
  38. InitCOSClient()
  39. feishu.InitFeiShuClient()
  40. })
  41. }