浏览代码

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

tags/1.0.1
非法操作 8 个月前
父节点
当前提交
d84fa4d154
没有帐户链接到提交者的电子邮件
共有 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

正在加载...
取消
保存