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

fix: with file conversation second chat raise error (#15097)

tags/1.0.1
非法操作 8 месяцев назад
Родитель
Сommit
d84fa4d154
Аккаунт пользователя с таким Email не найден
1 измененных файлов: 24 добавлений и 4 удалений
  1. 24
    4
      web/app/components/base/chat/chat/utils.ts

+ 24
- 4
web/app/components/base/chat/chat/utils.ts Просмотреть файл

@@ -17,15 +17,35 @@ export const processOpeningStatement = (openingStatement: string, inputs: Record
})
}

export const processInputFileFromServer = (fileItem: Record<string, any>) => {
return {
type: fileItem.type,
transfer_method: fileItem.transfer_method,
url: fileItem.remote_url,
upload_file_id: fileItem.related_id,
}
}

export const getProcessedInputs = (inputs: Record<string, any>, inputsForm: InputForm[]) => {
const processedInputs = { ...inputs }

inputsForm.forEach((item) => {
if (item.type === InputVarType.multiFiles && inputs[item.variable])
processedInputs[item.variable] = getProcessedFiles(inputs[item.variable])
const inputValue = inputs[item.variable]
if (!inputValue)
return

if (item.type === InputVarType.singleFile && inputs[item.variable])
processedInputs[item.variable] = getProcessedFiles([inputs[item.variable]])[0]
if (item.type === InputVarType.singleFile) {
if ('transfer_method' in inputValue)
processedInputs[item.variable] = processInputFileFromServer(inputValue)
else
processedInputs[item.variable] = getProcessedFiles([inputValue])[0]
}
else if (item.type === InputVarType.multiFiles) {
if ('transfer_method' in inputValue[0])
processedInputs[item.variable] = inputValue.map(processInputFileFromServer)
else
processedInputs[item.variable] = getProcessedFiles(inputValue)
}
})

return processedInputs

Загрузка…
Отмена
Сохранить