结构调整添加cmd

This commit is contained in:
zhangwenjian
2020-04-18 10:06:44 +08:00
parent f2829bfd98
commit a2f4c00246
72 changed files with 838 additions and 597 deletions
+31
View File
@@ -0,0 +1,31 @@
package config
import "github.com/spf13/viper"
type Application struct {
IsInit bool
ReadTimeout int
WriterTimeout int
Host string
Port string
Name string
JwtSecret string
Mode string
DemoMsg string
}
func InitApplication(cfg *viper.Viper) *Application {
return &Application{
IsInit: cfg.GetBool("isInit"),
ReadTimeout: cfg.GetInt("readTimeout"),
WriterTimeout: cfg.GetInt("writerTimeout"),
Host: cfg.GetString("host"),
Port: cfg.GetString("port"),
Name: cfg.GetString("name"),
JwtSecret: cfg.GetString("jwtSecret"),
Mode: cfg.GetString("mode"),
DemoMsg: cfg.GetString("demoMsg"),
}
}
var ApplicationConfig = new(Application)
+76
View File
@@ -0,0 +1,76 @@
package config
import (
"fmt"
"github.com/spf13/viper"
"io/ioutil"
"log"
"os"
"strings"
)
var cfgDatabase *viper.Viper
var cfgApplication *viper.Viper
var cfgJwt *viper.Viper
var cfgLog *viper.Viper
//func init() {
// InitConfig("settings.dev")
//}
//载入配置文件
func ConfigSetup(path string) {
viper.SetConfigFile(path)
content, err := ioutil.ReadFile(path)
if err != nil {
log.Fatal(fmt.Sprintf("Read config file fail: %s", err.Error()))
}
//Replace environment variables
err = viper.ReadConfig(strings.NewReader(os.ExpandEnv(string(content))))
if err != nil {
log.Fatal(fmt.Sprintf("Parse config file fail: %s", err.Error()))
}
//}
//
//func InitConfig(fileName string) {
// viper.SetConfigName(fileName)
// viper.AddConfigPath("/config")
// err := viper.ReadInConfig()
// if err != nil {
// log.Println(err)
// }
cfgDatabase = viper.Sub("settings.database")
if cfgDatabase == nil {
panic("config not found settings.database")
}
DatabaseConfig = InitDatabase(cfgDatabase)
cfgApplication = viper.Sub("settings.application")
if cfgApplication == nil {
panic("config not found settings.application")
}
ApplicationConfig = InitApplication(cfgApplication)
cfgJwt = viper.Sub("settings.jwt")
if cfgJwt == nil {
panic("config not found settings.jwt")
}
JwtConfig = InitJwt(cfgJwt)
cfgLog = viper.Sub("settings.log")
if cfgLog == nil {
panic("config not found settings.log")
}
LogConfig = InitLog(cfgLog)
}
func SetApplicationIsInit() {
SetConfig("./config", "settings.application.isInit", false)
}
func SetConfig(configPath string, key string, value interface{}) {
viper.AddConfigPath(configPath)
viper.Set(key, value)
viper.WriteConfig()
}
+25
View File
@@ -0,0 +1,25 @@
package config
import "github.com/spf13/viper"
type Database struct {
Dbtype string
Host string
Port int
Name string
Username string
Password string
}
func InitDatabase(cfg *viper.Viper) *Database {
return &Database{
Port: cfg.GetInt("port"),
Dbtype: cfg.GetString("dbType"),
Host: cfg.GetString("host"),
Name: cfg.GetString("name"),
Username: cfg.GetString("username"),
Password: cfg.GetString("password"),
}
}
var DatabaseConfig = new(Database)
+19
View File
@@ -0,0 +1,19 @@
package config
import (
"github.com/spf13/viper"
)
type Jwt struct {
Secret string
Timeout int64
}
func InitJwt(cfg *viper.Viper) *Jwt {
return &Jwt{
Secret: cfg.GetString("secret"),
Timeout: cfg.GetInt64("timeout"),
}
}
var JwtConfig = new(Jwt)
+15
View File
@@ -0,0 +1,15 @@
package config
import "github.com/spf13/viper"
type Log struct {
Dir string
}
func InitLog(cfg *viper.Viper) *Log {
return &Log{
Dir: cfg.GetString("dir"),
}
}
var LogConfig = new(Log)