ljw 1 год назад
Родитель
Сommit
d9ed2127da
3 измененных файлов с 25 добавлено и 14 удалено
  1. 1 3
      cmd/apimain.go
  2. 9 9
      conf/config.yaml
  3. 15 2
      config/config.go

+ 1 - 3
cmd/apimain.go

@@ -33,9 +33,7 @@ import (
33 33
 // @name Authorization
34 34
 func main() {
35 35
 	//配置解析
36
-	global.Viper = config.Init(&global.Config, func() {
37
-		fmt.Println(global.Config)
38
-	})
36
+	global.Viper = config.Init(&global.Config)
39 37
 
40 38
 	//日志
41 39
 	global.Logger = logger.New(&logger.Config{

+ 9 - 9
conf/config.yaml

@@ -7,15 +7,15 @@ gorm:
7 7
   max-idle-conns: 10
8 8
   max-open-conns: 100
9 9
 mysql:
10
-  username: "root"
11
-  password: "111111"
12
-  addr: "192.168.1.66:3308"
13
-  dbname: "rustdesk2"
10
+  username: ""
11
+  password: ""
12
+  addr: ""
13
+  dbname: ""
14 14
 rustdesk:
15
-  id-server: "124.220.134.240:21116"
16
-  relay-server: "124.220.134.240:21117"
17
-  api-server: "http://127.0.0.1:21114"
18
-  key: "ljw19891989"
15
+  id-server: "192.168.1.66:21116"
16
+  relay-server: "192.168.1.66:21117"
17
+  api-server: "http://192.168.1.66:21114"
18
+  key: "123456789"
19 19
 redis:
20 20
   addr: "127.0.0.1:6379"
21 21
   password: ""
@@ -28,7 +28,7 @@ cache:
28 28
   type: "file"
29 29
   file-dir: "./runtime/cache"
30 30
   redis-addr: "127.0.0.1:6379"
31
-  redis-pwd: "ljw19891989"
31
+  redis-pwd: ""
32 32
   redis-db: 0
33 33
 oss:
34 34
   access-key-id: ""

+ 15 - 2
config/config.go

@@ -5,6 +5,7 @@ import (
5 5
 	"fmt"
6 6
 	"github.com/fsnotify/fsnotify"
7 7
 	"github.com/spf13/viper"
8
+	"strings"
8 9
 )
9 10
 
10 11
 const (
@@ -26,7 +27,7 @@ type Config struct {
26 27
 }
27 28
 
28 29
 // Init 初始化配置
29
-func Init(rowVal interface{}, cb func()) *viper.Viper {
30
+func Init(rowVal interface{}) *viper.Viper {
30 31
 	var config string
31 32
 	flag.StringVar(&config, "c", "", "choose config file.")
32 33
 	flag.Parse()
@@ -34,6 +35,9 @@ func Init(rowVal interface{}, cb func()) *viper.Viper {
34 35
 		config = DefaultConfig
35 36
 	}
36 37
 	v := viper.New()
38
+	v.AutomaticEnv()
39
+	v.SetEnvKeyReplacer(strings.NewReplacer(".", "_"))
40
+	v.SetEnvPrefix("RUSTDESK_API")
37 41
 	v.SetConfigFile(config)
38 42
 	v.SetConfigType("yaml")
39 43
 	err := v.ReadInConfig()
@@ -47,10 +51,19 @@ func Init(rowVal interface{}, cb func()) *viper.Viper {
47 51
 		if err2 := v.Unmarshal(rowVal); err2 != nil {
48 52
 			fmt.Println(err2)
49 53
 		}
50
-		cb()
51 54
 	})
52 55
 	if err := v.Unmarshal(rowVal); err != nil {
53 56
 		fmt.Println(err)
54 57
 	}
55 58
 	return v
56 59
 }
60
+
61
+// ReadEnv 读取环境变量
62
+func ReadEnv(rowVal interface{}) *viper.Viper {
63
+	v := viper.New()
64
+	v.AutomaticEnv()
65
+	if err := v.Unmarshal(rowVal); err != nil {
66
+		fmt.Println(err)
67
+	}
68
+	return v
69
+}