app.go 883 B

12345678910111213141516171819202122232425262728293031323334
  1. package config
  2. import (
  3. "fmt"
  4. "github.com/spf13/viper"
  5. )
  6. type App struct {
  7. Mod string `mapstructure:"mod" json:"mod" yaml:"mod"`
  8. ApiAddr int `mapstructure:"api_addr" json:"api_addr" yaml:"api_addr"` // gin 端口值
  9. JobAddr int `mapstructure:"job_addr" json:"job_addr" yaml:"job_addr"` // gin 端口值
  10. RouterPrefix string `mapstructure:"router_prefix" json:"router_prefix" yaml:"router_prefix"`
  11. }
  12. var appConf *App
  13. func AppConf() *App {
  14. if appConf == nil {
  15. readAppConf()
  16. }
  17. return appConf
  18. }
  19. func readAppConf() {
  20. vp := viper.New()
  21. vp.SetConfigFile(ConfigAppFile)
  22. setDefaultAppConfig(vp)
  23. if err := vp.ReadInConfig(); err != nil {
  24. fmt.Println(fmt.Sprintf("------------->>配置文件:%s读取失败, 使用:task config初始化配置文件<<-----------", ConfigAppFile))
  25. }
  26. if err := vp.Unmarshal(&appConf); err != nil {
  27. panic(err)
  28. }
  29. }