Browse Source

助手修改

master
xueyinfei 4 weeks ago
parent
commit
357ea21987
  1. 111
      vue-fastapi-frontend/src/views/aichat/aichat.vue

111
vue-fastapi-frontend/src/views/aichat/aichat.vue

@ -587,6 +587,10 @@ async function sendChatHandle(event) {
"sessionName": chatList.value.length > 0 ? chatList.value[0].content.substring(0, 20) : inputValue.value.trim().substring(0, 20),
"file": currentFiles.value
}
chatList.value.push(lastQuestion.value)
let question = JSON.parse(JSON.stringify(lastQuestion.value))
question.file = JSON.stringify(question.file)
await addChat(question)
asking.value = true
nextTick(() => {
//
@ -620,71 +624,66 @@ function sendChatMessage(data){
// chatList.value.push({"chatId":uuidv4(),"type":"answer","content":[{"type":"text","content":":"+res.status}],"isEnd":true,"isStop":false,"sessionId":chatList.value[0].sessionId,"sessionName":chatList.value[0].sessionName,"operate":'',"thumbDownReason":''})
currentError.value = "服务异常,错误码:"+res.status +",请联系管理员!"
}else {
chatList.value.push(lastQuestion.value)
let question = JSON.parse(JSON.stringify(lastQuestion.value))
question.file = JSON.stringify(question.file)
addChat(question).then(()=>{
currentError.value = ''
currentChatData.value = {}
currentFiles.value = []
chatList.value.push({"chatId":uuidv4(),"type":"answer","content":[],"isEnd":false,"isStop":false,"sessionId":chatList.value[0].sessionId,"sessionName":chatList.value[0].sessionName, "operate":'',"thumbDownReason":''})
const reader = res.body.getReader()
const write = getWrite(reader)
reader.read().then(write).then(()=> {
asking.value = false
let answer = JSON.parse(JSON.stringify(chatList.value[chatList.value.length - 1]))
answer.content = JSON.stringify(answer.content)
answer.interrupt = answer.interrupt ? JSON.stringify(answer.interrupt): null
answer.checkpointer = JSON.stringify(answer.checkpointer)
addChat(answer)
}).then(()=>{
let answer = JSON.parse(JSON.stringify(chatList.value[chatList.value.length - 1]))
if(answer.interrupt){
let robot = answer.interrupt.robot
let block = answer.interrupt.block
let action = answer.interrupt.action
let autoRequest = false
if (autoProcess.value.autoArray.length > 0 && autoProcess.value.autoArray.indexOf(robot) !== -1){
// block
autoRequest = true
if (block && block.length>0){
for (let i = 0; i < block.length; i++) {
if (block[i].required){
if (block[i].ct_type === 'dateRangePicker' || block[i].ct_type === 'checkboxGroup' || block[i].ct_type === 'multiselect'){
//default_value
if (!block[i].default_value || block[i].default_value === []){
autoRequest = false
}
currentError.value = ''
currentChatData.value = {}
currentFiles.value = []
chatList.value.push({"chatId":uuidv4(),"type":"answer","content":[],"isEnd":false,"isStop":false,"sessionId":chatList.value[0].sessionId,"sessionName":chatList.value[0].sessionName, "operate":'',"thumbDownReason":''})
const reader = res.body.getReader()
const write = getWrite(reader)
reader.read().then(write).then(()=> {
asking.value = false
let answer = JSON.parse(JSON.stringify(chatList.value[chatList.value.length - 1]))
answer.content = JSON.stringify(answer.content)
answer.interrupt = answer.interrupt ? JSON.stringify(answer.interrupt): null
answer.checkpointer = JSON.stringify(answer.checkpointer)
addChat(answer)
}).then(()=>{
let answer = JSON.parse(JSON.stringify(chatList.value[chatList.value.length - 1]))
if(answer.interrupt){
let robot = answer.interrupt.robot
let block = answer.interrupt.block
let action = answer.interrupt.action
let autoRequest = false
if (autoProcess.value.autoArray.length > 0 && autoProcess.value.autoArray.indexOf(robot) !== -1){
// block
autoRequest = true
if (block && block.length>0){
for (let i = 0; i < block.length; i++) {
if (block[i].required){
if (block[i].ct_type === 'dateRangePicker' || block[i].ct_type === 'checkboxGroup' || block[i].ct_type === 'multiselect'){
//default_value
if (!block[i].default_value || block[i].default_value === []){
autoRequest = false
}
if (block[i].ct_type === 'datePicker' || block[i].ct_type === 'input' || block[i].ct_type === 'radioGroup' ||block[i].ct_type === 'select'){
//default_value
if (!block[i].default_value || block[i].default_value.trim() === ''){
autoRequest = false
}
}
if (block[i].ct_type === 'datePicker' || block[i].ct_type === 'input' || block[i].ct_type === 'radioGroup' ||block[i].ct_type === 'select'){
//default_value
if (!block[i].default_value || block[i].default_value.trim() === ''){
autoRequest = false
}
}
}
}
if (autoRequest){
let reqData = {
"user_id": cache.local.get("username"),
"session_id": Cookies.get("chatSessionId"),
"checkpointer": answer.checkpointer,
"action":"",
"resume": true,
"block": block
}
for (let i = 0; i < action.length; i++) {
if (action[i].style === 'primary'){
reqData.action = action[i].action
}
}
if (autoRequest){
let reqData = {
"user_id": cache.local.get("username"),
"session_id": Cookies.get("chatSessionId"),
"checkpointer": answer.checkpointer,
"action":"",
"resume": true,
"block": block
}
for (let i = 0; i < action.length; i++) {
if (action[i].style === 'primary'){
reqData.action = action[i].action
}
asking.value = true
sendChatMessage(reqData)
}
asking.value = true
sendChatMessage(reqData)
}
}
})
}
})
}
}).catch((e) => {

Loading…
Cancel
Save