add cobra

add cobra
This commit is contained in:
xiexiaojun
2019-05-05 21:13:15 +08:00
parent 21a054c9c7
commit 03a29cc432
6 changed files with 199 additions and 0 deletions

39
data/config/MyIni.go Normal file
View File

@@ -0,0 +1,39 @@
package config
import "fmt"
//
type Config struct {
CfgBase
MySQLInfo MysqlDbInfo `toml:"mysql_info"`
}
//mysql 数据库信息
type MysqlDbInfo struct {
Host string `validate:"required"` //地址
Port int `validate:"required"` //端口号
Username string `validate:"required"` //用户名
Password string `validate:"required"` //密码
Database string `validate:"required"` //数据库名
}
//更新mysql配置信息
func SetMysqlDbInfo(info *MysqlDbInfo) {
_map.MySQLInfo = *info
}
//获取mysql配置信息
func GetMysqlDbInfo() MysqlDbInfo {
return _map.MySQLInfo
}
//获取mysql 连接字符串
func GetMysqlConStr() string {
return fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?charset=utf8&parseTime=True&loc=Local",
_map.MySQLInfo.Username,
_map.MySQLInfo.Password,
_map.MySQLInfo.Host,
_map.MySQLInfo.Port,
_map.MySQLInfo.Database,
)
}

55
data/config/common.go Normal file
View File

@@ -0,0 +1,55 @@
package config
import (
"fmt"
"public/tools"
"github.com/BurntSushi/toml"
)
//
type CfgBase struct {
SerialNumber string `json:"serial_number" toml:"serial_number"` //版本号
ServiceName string `json:"service_name" toml:"service_name"` //service名字
ServiceDisplayname string `json:"service_displayname" toml:"service_displayname"` //显示名
SerciceDesc string `json:"sercice_desc" toml:"sercice_desc"` //service描述
IsDev bool `json:"is_dev" toml:"is_dev"` //是否是开发版本
}
var _map = Config{}
func init() {
onInit()
}
func onInit() {
path := tools.GetModelPath()
err := InitFile(path + "/config.toml")
if err != nil {
fmt.Println("InitFile: ", err.Error())
return
}
}
//OnIsDev ... 是否是开发版本
func OnIsDev() bool {
return _map.IsDev
}
//InitFile ...
func InitFile(filename string) error {
if _, err := toml.DecodeFile(filename, &_map); err != nil {
fmt.Println("read toml error: ", err.Error())
return err
}
return nil
}
//获取service配置信息
func GetServiceConfig() (name, displayName, desc string) {
name = _map.ServiceName
displayName = _map.ServiceDisplayname
desc = _map.SerciceDesc
return
}

19
data/config/test_def.go Normal file
View File

@@ -0,0 +1,19 @@
package config
import (
"os"
"strings"
)
const (
test_file = `
`
)
//判断是否在测试环境下使用
func IsRunTesting() bool {
if len(os.Args) > 1 {
return strings.HasPrefix(os.Args[1], "-test")
}
return false
}