152 lines
3.0 KiB
Go
152 lines
3.0 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)
|
|
|
|
var (
|
|
AppMode string
|
|
HttpPort string
|
|
Key string
|
|
Cert string
|
|
IsHttps bool
|
|
RunHttps bool
|
|
Domain string
|
|
OssDomain string
|
|
ServerDM string
|
|
Env string
|
|
DriverUrl string
|
|
AppointUrl string
|
|
MaterialHost string
|
|
BosAk string
|
|
BosSk string
|
|
BosBucketName string
|
|
BosBaseDir string
|
|
BosUrl string
|
|
BosHttp string
|
|
BosDomain string
|
|
ProjectMapDir string
|
|
JaegerHost string
|
|
JaegerOpen bool
|
|
Cron bool
|
|
DingAccessToken string
|
|
DingUrl string
|
|
HolidayID string
|
|
HolidaySecret string
|
|
HolidaySingleUrl string
|
|
HolidayMultiUrl string
|
|
|
|
ErpAk string
|
|
ErpSk string
|
|
|
|
// rabbitmq
|
|
RabbitmqUser string
|
|
RabbitmqPassword string
|
|
RabbitmqHost string
|
|
RabbitmqPort int
|
|
RabbitmqVhost string
|
|
RabbitmqVhostArtwork string
|
|
|
|
RedisDB int
|
|
RedisAddr string
|
|
RedisPw string
|
|
|
|
//shop配置
|
|
ShopHost string
|
|
//ShopDetail string
|
|
|
|
// 地图
|
|
MapAppCode string
|
|
// es
|
|
ElasticHost string
|
|
SendIndexesUrl string
|
|
ChatGptHost string
|
|
|
|
ApiHost string
|
|
|
|
Level string
|
|
Filename string
|
|
MaxSize string
|
|
MaxAge string
|
|
MaxBackups string
|
|
|
|
YearGiftCheckHost string
|
|
Aliyun struct {
|
|
AccessKeyId string
|
|
AccessKeySecret string
|
|
}
|
|
)
|
|
|
|
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
|
|
}
|
|
Bos struct {
|
|
AccessKeyId string
|
|
AccessKeySecret string
|
|
Endpoint string
|
|
Host string
|
|
BucketName string
|
|
BosBaseDir string
|
|
CdnHost string
|
|
}
|
|
}
|
|
|
|
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())
|
|
}
|
|
|
|
}
|