Просмотр исходного кода

feat: able to disable quota consumption recording (close #156)

JustSong 2 лет назад
Родитель
Сommit
593e1926e9
4 измененных файлов с 16 добавлено и 0 удалено
  1. 2 0
      common/constants.go
  2. 3 0
      model/log.go
  3. 3 0
      model/option.go
  4. 8 0
      web/src/components/SystemSetting.js

+ 2 - 0
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 = ""

+ 3 - 0
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(),

+ 3 - 0
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 {

+ 8 - 0
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 文本,键为分组名称,值为倍率'
             />
           </Form.Group>
+          <Form.Checkbox
+            checked={inputs.LogConsumeEnabled === 'true'}
+            label='启用额度消费日志记录'
+            name='LogConsumeEnabled'
+            onChange={handleInputChange}
+          />
           <Form.Button onClick={submitOperationConfig}>保存运营设置</Form.Button>
           <Divider />
           <Header as='h3'>