| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- package config
- import (
- "fmt"
- "github.com/spf13/viper"
- )
- type Server struct {
- JWT *JWT `mapstructure:"jwt" json:"jwt" yaml:"jwt"`
- Mysql *Mysql `mapstructure:"mysql" json:"mysql" yaml:"mysql"`
- Zap *Zap `mapstructure:"zap" json:"zap" yaml:"zap"`
- Redis *Redis `mapstructure:"redis" json:"redis" yaml:"redis"`
- Exchange *Exchange `mapstructure:"exchange" json:"exchange" yaml:"exchange"`
- Telegram *Telegram `mapstructure:"telegram" json:"telegram" yaml:"telegram"`
- }
- var envConfig *Server
- func EnvConf() *Server {
- if envConfig == nil {
- readEnvConf()
- }
- return envConfig
- }
- func readEnvConf() {
- envConfigFile := GetConfigFileByMod(AppConf().Mod)
- fmt.Println(fmt.Sprintf("------------->>配置文件%s<<-----------", envConfigFile))
- vp := viper.New()
- vp.SetConfigFile(envConfigFile)
- vp.SetConfigType("json")
- if err := vp.ReadInConfig(); err != nil {
- fmt.Println(fmt.Sprintf("------------->>%s读取失败<<-----------", envConfigFile))
- setDefaultEnvConfig(vp)
- } else {
- fmt.Println(fmt.Sprintf("------------->>配置文件%s读取成功<<-----------", envConfigFile))
- }
- if err := vp.Unmarshal(&envConfig); err != nil {
- panic(err)
- }
- }
|