/
global.go
75 lines (63 loc) · 1.2 KB
/
global.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
package goinfras
import (
"github.com/spf13/viper"
)
// 初始全局配置
const (
Env = "env" // 允许环境:dev、testing、product
Host = "host" // 主机地址
Endpoint = "endpoint" // 节点
AppName = "appname" // 应用名
Version = "version" // 应用版本
)
func NewGlobal(vpcfg *viper.Viper) Global {
_g = make(map[string]interface{})
_ = vpcfg.UnmarshalKey("Global", &_g)
return _g
}
var _g Global
type Global map[string]interface{}
func (g Global) Set(k string, v interface{}) {
g[k] = v
}
func (g Global) Get(k string) interface{} {
if v, ok := g[k]; ok {
return v
}
return nil
}
func (g Global) GetEnv() string {
s := _g.Get(Env)
if s == nil {
return "undefined"
}
return s.(string)
}
func (g Global) GetHost() string {
s := _g.Get(Host)
if s == nil {
return "undefined"
}
return s.(string)
}
func (g Global) GetEndpoint() string {
s := _g.Get(Endpoint)
if s == nil {
return "undefined"
}
return s.(string)
}
func (g Global) GetAppName() string {
s := _g.Get(AppName)
if s == nil {
return "undefined"
}
return s.(string)
}
func (g Global) GetVersion() string {
s := _g.Get(Version)
if s == nil {
return "undefined"
}
return s.(string)
}