-
Notifications
You must be signed in to change notification settings - Fork 0
/
settings.go
41 lines (35 loc) · 1.39 KB
/
settings.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
package vars
import (
"log"
"path/filepath"
"github.com/spf13/viper"
)
type OssConfig struct {
Endpoint string
AccessKey string
AccessKeySecret string
Bucket string
Path string
}
var AliOssConfig *OssConfig
func init() {
viper.SetConfigName("config") //指定配置文件的文件名称(不需要制定配置文件的扩展名)
//viper.AddConfigPath("/etc/appname/") //设置配置文件的搜索目录
//viper.AddConfigPath("$HOME/.appname") // 设置配置文件的搜索目录
viper.AddConfigPath(".") // 设置配置文件和可执行二进制文件在用一个目录
err := viper.ReadInConfig() // 根据以上配置读取加载配置文件
if err != nil {
log.Fatalf("读取配置文件出错: %v, 请参考 example.json 配置了 config.json 文件", err)
}
AliOssConfig = &OssConfig{
Endpoint: viper.GetString("endpoint"),
AccessKey: viper.GetString("ak"),
AccessKeySecret: viper.GetString("aks"),
Bucket: viper.GetString("bucket"),
Path: filepath.Join(viper.GetString("path"), "public"),
}
// fmt.Println("获取配置文件的string", viper.GetString(`app.name`))
// fmt.Println("获取配置文件的string", viper.GetInt(`app.foo`))
// fmt.Println("获取配置文件的string", viper.GetBool(`app.bar`))
// fmt.Println("获取配置文件的map[string]string", viper.GetStringMapString(`app`))
}