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

feat: able to set AccountFilter

1808837298@qq.com 1 год назад
Родитель
Сommit
cad380eb16
4 измененных файлов с 19 добавлено и 6 удалено
  1. 1 0
      constant/midjourney.go
  2. 3 0
      model/option.go
  3. 8 6
      service/midjourney.go
  4. 7 0
      web/src/components/OperationSetting.js

+ 1 - 0
constant/midjourney.go

@@ -1,6 +1,7 @@
 package constant
 
 var MjNotifyEnabled = false
+var MjAccountFilterEnabled = false
 var MjModeClearEnabled = false
 var MjForwardUrlEnabled = true
 

+ 3 - 0
model/option.go

@@ -92,6 +92,7 @@ func InitOptionMap() {
 	common.OptionMap["DataExportDefaultTime"] = common.DataExportDefaultTime
 	common.OptionMap["DefaultCollapseSidebar"] = strconv.FormatBool(common.DefaultCollapseSidebar)
 	common.OptionMap["MjNotifyEnabled"] = strconv.FormatBool(constant.MjNotifyEnabled)
+	common.OptionMap["MjAccountFilterEnabled"] = strconv.FormatBool(constant.MjAccountFilterEnabled)
 	common.OptionMap["MjModeClearEnabled"] = strconv.FormatBool(constant.MjModeClearEnabled)
 	common.OptionMap["MjForwardUrlEnabled"] = strconv.FormatBool(constant.MjForwardUrlEnabled)
 	common.OptionMap["CheckSensitiveEnabled"] = strconv.FormatBool(constant.CheckSensitiveEnabled)
@@ -197,6 +198,8 @@ func updateOptionMap(key string, value string) (err error) {
 			common.DefaultCollapseSidebar = boolValue
 		case "MjNotifyEnabled":
 			constant.MjNotifyEnabled = boolValue
+		case "MjAccountFilterEnabled":
+			constant.MjAccountFilterEnabled = boolValue
 		case "MjModeClearEnabled":
 			constant.MjModeClearEnabled = boolValue
 		case "MjForwardUrlEnabled":

+ 8 - 6
service/midjourney.go

@@ -165,7 +165,9 @@ func DoMidjourneyHttpRequest(c *gin.Context, timeout time.Duration, fullRequestU
 		if err != nil {
 			return MidjourneyErrorWithStatusCodeWrapper(constant.MjErrorUnknown, "read_request_body_failed", http.StatusInternalServerError), nullBytes, err
 		}
-		delete(mapResult, "accountFilter")
+		if !constant.MjAccountFilterEnabled {
+			delete(mapResult, "accountFilter")
+		}
 		if !constant.MjNotifyEnabled {
 			delete(mapResult, "notifyHook")
 		}
@@ -174,11 +176,11 @@ func DoMidjourneyHttpRequest(c *gin.Context, timeout time.Duration, fullRequestU
 	}
 	if constant.MjModeClearEnabled {
 		if prompt, ok := mapResult["prompt"].(string); ok {
-		    prompt = strings.Replace(prompt, "--fast", "", -1)
-		    prompt = strings.Replace(prompt, "--relax", "", -1)
-		    prompt = strings.Replace(prompt, "--turbo", "", -1)
-		    
-		    mapResult["prompt"] = prompt
+			prompt = strings.Replace(prompt, "--fast", "", -1)
+			prompt = strings.Replace(prompt, "--relax", "", -1)
+			prompt = strings.Replace(prompt, "--turbo", "", -1)
+
+			mapResult["prompt"] = prompt
 		}
 	}
 	reqBody, err := json.Marshal(mapResult)

+ 7 - 0
web/src/components/OperationSetting.js

@@ -38,6 +38,7 @@ const OperationSetting = () => {
     StopOnSensitiveEnabled: '',
     SensitiveWords: '',
     MjNotifyEnabled: '',
+    MjAccountFilterEnabled: '',
     MjModeClearEnabled: '',
     MjForwardUrlEnabled: '',
     DrawingEnabled: '',
@@ -323,6 +324,12 @@ const OperationSetting = () => {
               name='MjNotifyEnabled'
               onChange={handleInputChange}
             />
+            <Form.Checkbox
+              checked={inputs.MjAccountFilterEnabled === 'true'}
+              label='允许AccountFilter参数'
+              name='MjAccountFilterEnabled'
+              onChange={handleInputChange}
+            />
             <Form.Checkbox
               checked={inputs.MjForwardUrlEnabled === 'true'}
               label='开启之后将上游地址替换为服务器地址'