|
@@ -12,27 +12,23 @@ import (
|
|
|
//配置文件
|
|
|
|
|
|
var (
|
|
|
- ApplicationConfig = new(application)
|
|
|
- BasicConfig = new(basic)
|
|
|
- LoggerConfig = new(logger)
|
|
|
- RobotConfig = new(robot)
|
|
|
- PostgresConfig = new(postgres)
|
|
|
- MetadataConfig = new(metadata)
|
|
|
+ BasicConfig = new(basic)
|
|
|
+ ServerConfig = new(server)
|
|
|
+ LoggerConfig = new(logger)
|
|
|
+ RobotConfig = new(robot)
|
|
|
+ PostgresConfig = new(postgres)
|
|
|
+ MetadataConfig = new(metadata)
|
|
|
)
|
|
|
|
|
|
// 应用配置
|
|
|
-type application struct {
|
|
|
- Host string
|
|
|
- Port int
|
|
|
- Mode string
|
|
|
-}
|
|
|
-
|
|
|
-func (p *application) Addr() string {
|
|
|
- return fmt.Sprintf("%s:%d", p.Host, p.Port)
|
|
|
+type server struct {
|
|
|
+ Auth string
|
|
|
+ Resource string
|
|
|
}
|
|
|
|
|
|
type basic struct {
|
|
|
- Jwt string
|
|
|
+ Jwt string
|
|
|
+ Mode string
|
|
|
}
|
|
|
|
|
|
// 日志配置
|
|
@@ -75,6 +71,7 @@ func (p *postgres) setup() {
|
|
|
|
|
|
// metadata配置
|
|
|
type metadata struct {
|
|
|
+ Locales []string
|
|
|
Languages []Lang
|
|
|
Product Product
|
|
|
Sources []Source
|
|
@@ -110,14 +107,6 @@ func (p *metadata) GetSources() []Source {
|
|
|
return p.Sources
|
|
|
}
|
|
|
|
|
|
-func InitApplication() *application {
|
|
|
- return &application{
|
|
|
- Host: viper.GetString("host"),
|
|
|
- Port: viper.GetInt("port"),
|
|
|
- Mode: viper.GetString("mode"),
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
func InitBasic(cfg *viper.Viper) *basic {
|
|
|
var basic basic
|
|
|
err := cfg.Unmarshal(&basic)
|
|
@@ -127,6 +116,15 @@ func InitBasic(cfg *viper.Viper) *basic {
|
|
|
return &basic
|
|
|
}
|
|
|
|
|
|
+func InitServer(cfg *viper.Viper) *server {
|
|
|
+ var server server
|
|
|
+ err := cfg.Unmarshal(&server)
|
|
|
+ if err != nil {
|
|
|
+ panic("InitServer err")
|
|
|
+ }
|
|
|
+ return &server
|
|
|
+}
|
|
|
+
|
|
|
func InitLog(cfg *viper.Viper) *logger {
|
|
|
var logger logger
|
|
|
err := cfg.Unmarshal(&logger)
|
|
@@ -168,12 +166,11 @@ func InitMetadata(cfg *viper.Viper) *metadata {
|
|
|
}
|
|
|
|
|
|
// 载入配置文件
|
|
|
-func SetupConfig(path string) {
|
|
|
+func SetupConfig(path string, addr string, mode string) {
|
|
|
viper.SetConfigFile(path)
|
|
|
if err := viper.ReadInConfig(); err != nil {
|
|
|
panic(err)
|
|
|
}
|
|
|
- ApplicationConfig = InitApplication()
|
|
|
|
|
|
cfgBasic := viper.Sub("basic")
|
|
|
if cfgBasic == nil {
|
|
@@ -181,6 +178,15 @@ func SetupConfig(path string) {
|
|
|
}
|
|
|
BasicConfig = InitBasic(cfgBasic)
|
|
|
|
|
|
+ cfgServer := viper.Sub("server")
|
|
|
+ if cfgServer == nil {
|
|
|
+ panic("No found server in the configuration")
|
|
|
+ }
|
|
|
+ ServerConfig = InitServer(cfgServer)
|
|
|
+
|
|
|
+ BasicConfig.Mode = mode
|
|
|
+ ServerConfig.Auth = addr
|
|
|
+
|
|
|
cfgLog := viper.Sub("logger")
|
|
|
if cfgLog == nil {
|
|
|
panic("No found logger in the configuration")
|