You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

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())
}
}