From d54ca151b23885b6e79d99d4f4954741dd99fa74 Mon Sep 17 00:00:00 2001 From: HFO4 <912394456@qq.com> Date: Wed, 23 Mar 2022 18:58:18 +0800 Subject: [PATCH] Feat: overwrite database settings in conf.ini for slave node. --- pkg/cache/driver.go | 10 ++++++++-- pkg/conf/conf.go | 6 +++++- pkg/conf/defaults.go | 19 ++----------------- 3 files changed, 15 insertions(+), 20 deletions(-) diff --git a/pkg/cache/driver.go b/pkg/cache/driver.go index 35f6922..8df967d 100644 --- a/pkg/cache/driver.go +++ b/pkg/cache/driver.go @@ -2,6 +2,7 @@ package cache import ( "github.com/cloudreve/Cloudreve/v3/pkg/conf" + "github.com/cloudreve/Cloudreve/v3/pkg/util" "github.com/gin-gonic/gin" ) @@ -10,8 +11,6 @@ var Store Driver = NewMemoStore() // Init 初始化缓存 func Init() { - //Store = NewRedisStore(10, "tcp", "127.0.0.1:6379", "", "0") - //return if conf.RedisConfig.Server != "" && gin.Mode() != gin.TestMode { Store = NewRedisStore( 10, @@ -21,6 +20,13 @@ func Init() { conf.RedisConfig.DB, ) } + + if conf.SystemConfig.Mode == "slave" { + err := Store.Sets(conf.OptionOverwrite, "setting_") + if err != nil { + util.Log().Warning("无法覆盖数据库设置: %s", err) + } + } } // Driver 键值缓存存储容器 diff --git a/pkg/conf/conf.go b/pkg/conf/conf.go index 7258646..53fd4c1 100644 --- a/pkg/conf/conf.go +++ b/pkg/conf/conf.go @@ -131,7 +131,6 @@ func Init(path string) { "System": SystemConfig, "SSL": SSLConfig, "UnixSocket": UnixConfig, - "Captcha": CaptchaConfig, "Redis": RedisConfig, "Thumbnail": ThumbConfig, "CORS": CORSConfig, @@ -144,6 +143,11 @@ func Init(path string) { } } + // 映射数据库配置覆盖 + for _, key := range cfg.Section("OptionOverwrite").Keys() { + OptionOverwrite[key.Name()] = key.Value() + } + // 重设log等级 if !SystemConfig.Debug { util.Level = util.LevelInformational diff --git a/pkg/conf/defaults.go b/pkg/conf/defaults.go index b39329c..a998976 100644 --- a/pkg/conf/defaults.go +++ b/pkg/conf/defaults.go @@ -1,7 +1,5 @@ package conf -import "github.com/mojocn/base64Captcha" - // RedisConfig Redis服务器配置 var RedisConfig = &redis{ Network: "tcp", @@ -25,21 +23,6 @@ var SystemConfig = &system{ Listen: ":5212", } -// CaptchaConfig 验证码配置 -var CaptchaConfig = &captcha{ - Height: 60, - Width: 240, - Mode: 3, - ComplexOfNoiseText: base64Captcha.CaptchaComplexLower, - ComplexOfNoiseDot: base64Captcha.CaptchaComplexLower, - IsShowHollowLine: false, - IsShowNoiseDot: false, - IsShowNoiseText: false, - IsShowSlimeLine: false, - IsShowSineLine: false, - CaptchaLen: 6, -} - // CORSConfig 跨域配置 var CORSConfig = &cors{ AllowOrigins: []string{"UNSET"}, @@ -75,3 +58,5 @@ var SSLConfig = &ssl{ var UnixConfig = &unix{ Listen: "", } + +var OptionOverwrite = map[string]interface{}{}