mirror of
				https://github.com/linux-do/new-api.git
				synced 2025-11-04 13:23:42 +08:00 
			
		
		
		
	feat: 允许设置是否检测mj任务已完成才可进行action操作 (close #349)
This commit is contained in:
		@@ -4,6 +4,7 @@ var MjNotifyEnabled = false
 | 
			
		||||
var MjAccountFilterEnabled = false
 | 
			
		||||
var MjModeClearEnabled = false
 | 
			
		||||
var MjForwardUrlEnabled = true
 | 
			
		||||
var MjActionCheckSuccessEnabled = true
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	MjErrorUnknown = 5
 | 
			
		||||
 
 | 
			
		||||
@@ -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":
 | 
			
		||||
 
 | 
			
		||||
@@ -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")
 | 
			
		||||
 
 | 
			
		||||
@@ -42,6 +42,7 @@ const OperationSetting = () => {
 | 
			
		||||
    MjAccountFilterEnabled: false,
 | 
			
		||||
    MjModeClearEnabled: false,
 | 
			
		||||
    MjForwardUrlEnabled: false,
 | 
			
		||||
    MjActionCheckSuccessEnabled: false,
 | 
			
		||||
    DrawingEnabled: false,
 | 
			
		||||
    DataExportEnabled: false,
 | 
			
		||||
    DataExportDefaultTime: 'hour',
 | 
			
		||||
 
 | 
			
		||||
@@ -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) {
 | 
			
		||||
                  }
 | 
			
		||||
                />
 | 
			
		||||
              </Col>
 | 
			
		||||
              <Col span={8}>
 | 
			
		||||
                <Form.Switch
 | 
			
		||||
                  field={'MjActionCheckSuccessEnabled'}
 | 
			
		||||
                  label={
 | 
			
		||||
                    <>
 | 
			
		||||
                      检测必须等待绘图成功才能进行放大等操作
 | 
			
		||||
                    </>
 | 
			
		||||
                  }
 | 
			
		||||
                  size='large'
 | 
			
		||||
                  checkedText='|'
 | 
			
		||||
                  uncheckedText='〇'
 | 
			
		||||
                  onChange={(value) =>
 | 
			
		||||
                    setInputs({
 | 
			
		||||
                      ...inputs,
 | 
			
		||||
                      MjActionCheckSuccessEnabled: value,
 | 
			
		||||
                    })
 | 
			
		||||
                  }
 | 
			
		||||
                />
 | 
			
		||||
              </Col>
 | 
			
		||||
            </Row>
 | 
			
		||||
            <Row>
 | 
			
		||||
              <Button size='large' onClick={onSubmit}>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user