From 593e1926e927e84e6db7626f5d084283911cd27f Mon Sep 17 00:00:00 2001 From: JustSong Date: Thu, 15 Jun 2023 16:32:16 +0800 Subject: [PATCH] feat: able to disable quota consumption recording (close #156) --- common/constants.go | 2 ++ model/log.go | 3 +++ model/option.go | 3 +++ web/src/components/SystemSetting.js | 8 ++++++++ 4 files changed, 16 insertions(+) diff --git a/common/constants.go b/common/constants.go index 3a8f6d77..23fb3584 100644 --- a/common/constants.go +++ b/common/constants.go @@ -35,6 +35,8 @@ var WeChatAuthEnabled = false var TurnstileCheckEnabled = false var RegisterEnabled = true +var LogConsumeEnabled = true + var SMTPServer = "" var SMTPPort = 587 var SMTPAccount = "" diff --git a/model/log.go b/model/log.go index 52d02a6f..a21cb6b4 100644 --- a/model/log.go +++ b/model/log.go @@ -22,6 +22,9 @@ const ( ) func RecordLog(userId int, logType int, content string) { + if logType == LogTypeConsume && !common.LogConsumeEnabled { + return + } log := &Log{ UserId: userId, CreatedAt: common.GetTimestamp(), diff --git a/model/option.go b/model/option.go index 5e74984d..101f694d 100644 --- a/model/option.go +++ b/model/option.go @@ -34,6 +34,7 @@ func InitOptionMap() { common.OptionMap["TurnstileCheckEnabled"] = strconv.FormatBool(common.TurnstileCheckEnabled) common.OptionMap["RegisterEnabled"] = strconv.FormatBool(common.RegisterEnabled) common.OptionMap["AutomaticDisableChannelEnabled"] = strconv.FormatBool(common.AutomaticDisableChannelEnabled) + common.OptionMap["LogConsumeEnabled"] = strconv.FormatBool(common.LogConsumeEnabled) common.OptionMap["ChannelDisableThreshold"] = strconv.FormatFloat(common.ChannelDisableThreshold, 'f', -1, 64) common.OptionMap["SMTPServer"] = "" common.OptionMap["SMTPFrom"] = "" @@ -134,6 +135,8 @@ func updateOptionMap(key string, value string) (err error) { common.RegisterEnabled = boolValue case "AutomaticDisableChannelEnabled": common.AutomaticDisableChannelEnabled = boolValue + case "LogConsumeEnabled": + common.LogConsumeEnabled = boolValue } } switch key { diff --git a/web/src/components/SystemSetting.js b/web/src/components/SystemSetting.js index 3b40822b..ac6d9263 100644 --- a/web/src/components/SystemSetting.js +++ b/web/src/components/SystemSetting.js @@ -34,6 +34,7 @@ const SystemSetting = () => { TopUpLink: '', AutomaticDisableChannelEnabled: '', ChannelDisableThreshold: 0, + LogConsumeEnabled: '', }); const [originInputs, setOriginInputs] = useState({}); let [loading, setLoading] = useState(false); @@ -68,6 +69,7 @@ const SystemSetting = () => { case 'TurnstileCheckEnabled': case 'RegisterEnabled': case 'AutomaticDisableChannelEnabled': + case 'LogConsumeEnabled': value = inputs[key] === 'true' ? 'false' : 'true'; break; default: @@ -349,6 +351,12 @@ const SystemSetting = () => { placeholder='为一个 JSON 文本,键为分组名称,值为倍率' /> + 保存运营设置