diff --git a/constant/midjourney.go b/constant/midjourney.go index a8d0bfe..1e9d30a 100644 --- a/constant/midjourney.go +++ b/constant/midjourney.go @@ -4,6 +4,7 @@ var MjNotifyEnabled = false var MjAccountFilterEnabled = false var MjModeClearEnabled = false var MjForwardUrlEnabled = true +var MjActionCheckSuccessEnabled = true const ( MjErrorUnknown = 5 diff --git a/model/option.go b/model/option.go index 45aa524..4348919 100644 --- a/model/option.go +++ b/model/option.go @@ -99,6 +99,7 @@ func InitOptionMap() { common.OptionMap["MjAccountFilterEnabled"] = strconv.FormatBool(constant.MjAccountFilterEnabled) common.OptionMap["MjModeClearEnabled"] = strconv.FormatBool(constant.MjModeClearEnabled) common.OptionMap["MjForwardUrlEnabled"] = strconv.FormatBool(constant.MjForwardUrlEnabled) + common.OptionMap["MjActionCheckSuccessEnabled"] = strconv.FormatBool(constant.MjActionCheckSuccessEnabled) common.OptionMap["CheckSensitiveEnabled"] = strconv.FormatBool(constant.CheckSensitiveEnabled) common.OptionMap["CheckSensitiveOnPromptEnabled"] = strconv.FormatBool(constant.CheckSensitiveOnPromptEnabled) //common.OptionMap["CheckSensitiveOnCompletionEnabled"] = strconv.FormatBool(constant.CheckSensitiveOnCompletionEnabled) @@ -210,6 +211,8 @@ func updateOptionMap(key string, value string) (err error) { constant.MjModeClearEnabled = boolValue case "MjForwardUrlEnabled": constant.MjForwardUrlEnabled = boolValue + case "MjActionCheckSuccessEnabled": + constant.MjActionCheckSuccessEnabled = boolValue case "CheckSensitiveEnabled": constant.CheckSensitiveEnabled = boolValue case "CheckSensitiveOnPromptEnabled": diff --git a/relay/relay-mj.go b/relay/relay-mj.go index ee090fa..b399061 100644 --- a/relay/relay-mj.go +++ b/relay/relay-mj.go @@ -415,9 +415,12 @@ func RelayMidjourneySubmit(c *gin.Context, relayMode int) *dto.MidjourneyRespons originTask := model.GetByMJId(userId, mjId) if originTask == nil { return service.MidjourneyErrorWrapper(constant.MjRequestError, "task_not_found") - } else if originTask.Status != "SUCCESS" && relayMode != relayconstant.RelayModeMidjourneyModal { - return service.MidjourneyErrorWrapper(constant.MjRequestError, "task_status_not_success") } else { //原任务的Status=SUCCESS,则可以做放大UPSCALE、变换VARIATION等动作,此时必须使用原来的请求地址才能正确处理 + if constant.MjActionCheckSuccessEnabled { + if originTask.Status != "SUCCESS" && relayMode != relayconstant.RelayModeMidjourneyModal { + return service.MidjourneyErrorWrapper(constant.MjRequestError, "task_status_not_success") + } + } channel, err := model.GetChannelById(originTask.ChannelId, true) if err != nil { return service.MidjourneyErrorWrapper(constant.MjRequestError, "get_channel_info_failed") diff --git a/web/src/components/OperationSetting.js b/web/src/components/OperationSetting.js index 3273f24..a61b757 100644 --- a/web/src/components/OperationSetting.js +++ b/web/src/components/OperationSetting.js @@ -42,6 +42,7 @@ const OperationSetting = () => { MjAccountFilterEnabled: false, MjModeClearEnabled: false, MjForwardUrlEnabled: false, + MjActionCheckSuccessEnabled: false, DrawingEnabled: false, DataExportEnabled: false, DataExportDefaultTime: 'hour', diff --git a/web/src/pages/Setting/Operation/SettingsDrawing.js b/web/src/pages/Setting/Operation/SettingsDrawing.js index bb1c047..e951bb0 100644 --- a/web/src/pages/Setting/Operation/SettingsDrawing.js +++ b/web/src/pages/Setting/Operation/SettingsDrawing.js @@ -16,6 +16,7 @@ export default function SettingsDrawing(props) { MjAccountFilterEnabled: false, MjForwardUrlEnabled: false, MjModeClearEnabled: false, + MjActionCheckSuccessEnabled: false, }); const refForm = useRef(); const [inputsRow, setInputsRow] = useState(inputs); @@ -156,6 +157,25 @@ export default function SettingsDrawing(props) { } /> + + + 检测必须等待绘图成功才能进行放大等操作 + + } + size='large' + checkedText='|' + uncheckedText='〇' + onChange={(value) => + setInputs({ + ...inputs, + MjActionCheckSuccessEnabled: value, + }) + } + /> +