70 lines
1.5 KiB
Go
70 lines
1.5 KiB
Go
|
package config
|
||
|
|
||
|
import (
|
||
|
"dubbo.apache.org/dubbo-go/v3/common/constant"
|
||
|
"fmt"
|
||
|
"github.com/exhibition-main/internal/model"
|
||
|
"github.com/spf13/viper"
|
||
|
"os"
|
||
|
)
|
||
|
|
||
|
var Data = new(AppConfig)
|
||
|
|
||
|
type AppConfig struct {
|
||
|
System struct {
|
||
|
Domain string
|
||
|
Mode string
|
||
|
NodeNum int32
|
||
|
Port int32
|
||
|
KeyPath string `mapstructure:"key_path"`
|
||
|
CertPath string `mapstructure:"cert_path"`
|
||
|
IsHttps bool `mapstructure:"is_https"`
|
||
|
Cron bool
|
||
|
}
|
||
|
Redis struct {
|
||
|
Db uint8
|
||
|
Addr string
|
||
|
Password string
|
||
|
}
|
||
|
|
||
|
ZapLog struct {
|
||
|
Level string `mapstructure:"level"`
|
||
|
Filename string `mapstructure:"filename"`
|
||
|
MaxSize int `mapstructure:"max_size"`
|
||
|
MaxAge int `mapstructure:"max_age"`
|
||
|
MaxBackups int `mapstructure:"max_backups"`
|
||
|
}
|
||
|
Jaeger struct {
|
||
|
Addr string
|
||
|
Open bool
|
||
|
}
|
||
|
Jwt struct {
|
||
|
Key string
|
||
|
Expire int32
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func GetConf() (iniConf string, err error) {
|
||
|
if os.Getenv(model.MODE_ENV) != "" {
|
||
|
if err = os.Setenv(constant.ConfigFileEnvKey, fmt.Sprintf("./conf/%s/%s", os.Getenv(model.MODE_ENV), model.SERVER_DUBBOGO_CONFIG)); err != nil {
|
||
|
return
|
||
|
}
|
||
|
}
|
||
|
iniConf = fmt.Sprintf("./conf/%s/%s", os.Getenv(model.MODE_ENV), model.SERVER_CONFIG)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
func GetOptions() {
|
||
|
iniConf, err := GetConf()
|
||
|
viper.SetConfigFile(iniConf)
|
||
|
err = viper.ReadInConfig()
|
||
|
if err != nil {
|
||
|
panic("viper.ReadInConfig failed" + err.Error())
|
||
|
return
|
||
|
}
|
||
|
if err = viper.Unmarshal(Data); err != nil {
|
||
|
panic("viper.Unmarshal failed" + err.Error())
|
||
|
}
|
||
|
|
||
|
}
|