123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- package config
- import (
- "fmt"
- "github.com/fsnotify/fsnotify"
- "github.com/spf13/viper"
- )
- type Config struct {
- MysqlAdmin MysqlAdmin `json:"mysqlAdmin"`
- Qiniu Qiniu `json:"qiniu"`
- CasbinConfig CasbinConfig `json:"casbinConfig"`
- RedisAdmin RedisAdmin `json:"redisAdmin"`
- System System `json:"system"`
- JWT JWT `json:"jwt"`
- Captcha Captcha `json:"captcha"`
- Log Log `json:"log"`
- }
- type System struct {
- UseMultipoint bool `json:"useMultipoint"`
- Env string `json:"env"`
- Addr int `json:"addr"`
- }
- type JWT struct {
- SigningKey string `json:"signingKey"`
- }
- type CasbinConfig struct {
- ModelPath string `json:"modelPath"`
- }
- type MysqlAdmin struct {
- Username string `json:"username"`
- Password string `json:"password"`
- Path string `json:"path"`
- Dbname string `json:"dbname"`
- Config string `json:"config"`
- MaxIdleConns int `json:"maxIdleConns"`
- MaxOpenConns int `json:"maxOpenConns"`
- LogMode bool `json:"maxOpenConns"`
- }
- type RedisAdmin struct {
- Addr string `json:"addr"`
- Password string `json:"password"`
- DB int `json:"db"`
- }
- type Qiniu struct {
- AccessKey string `json:"accessKey"`
- SecretKey string `json:"secretKey"`
- }
- type Captcha struct {
- KeyLong int `json:"keyLong"`
- ImgWidth int `json:"imgWidth"`
- ImgHeight int `json:"imgHeight"`
- }
- type Log struct {
-
- Prefix string `json:"prefix"`
-
- LogFile bool `json:"logFile"`
-
- Stdout []string `json:"stdout"`
-
- File []string `json:"file"`
- }
- var GinVueAdminconfig Config
- var VTool *viper.Viper
- func init() {
- v := viper.New()
- v.SetConfigName("config")
- v.AddConfigPath("./static/config/")
- v.SetConfigType("json")
- err := v.ReadInConfig()
- if err != nil {
- panic(fmt.Errorf("Fatal error config file: %s \n", err))
- }
- v.WatchConfig()
- v.OnConfigChange(func(e fsnotify.Event) {
- fmt.Println("config file changed:", e.Name)
- if err := v.Unmarshal(&GinVueAdminconfig); err != nil {
- fmt.Println(err)
- }
- })
- if err := v.Unmarshal(&GinVueAdminconfig); err != nil {
- fmt.Println(err)
- }
- VTool = v
- }
|