| | |
| | | * 获取用户回复数据,并插入到对话当中去 |
| | | */ |
| | | const loadReplyData = async (userMsg: any[]) => { |
| | | const sectionAIdMap = new Map(); |
| | | const userItemIdMap = new Map(); |
| | | // 用户消息 |
| | | const tmpMessageList: ChatMessage[] = userMsg.map((item) => { |
| | | return { |
| | | historyId: item.history_id, |
| | |
| | | }); |
| | | const resList = await Promise.all( |
| | | (userMsg ?? []).map((item) => { |
| | | sectionAIdMap.set(item.history_id, item.section_a_id); |
| | | userItemIdMap.set(item.history_id, item); |
| | | return getAnswerById(item.history_id); |
| | | }) |
| | | ); |
| | |
| | | const insertIndex = index + 1 + i; |
| | | const currentUserMsg = tmpMessageList[insertIndex - 1]; |
| | | currentUserMsg.content.values = item?.answer?.question ?? currentUserMsg.content.values; |
| | | |
| | | const mapUser = userItemIdMap.get(item.answer.history_id) |
| | | tmpMessageList.splice( |
| | | insertIndex, |
| | | 0, |
| | |
| | | role: RoleEnum.assistant, |
| | | content: parseAnswerContent(item.answer), |
| | | state: item.answer_state, |
| | | sectionAId: sectionAIdMap.get(item.answer.history_id), |
| | | sectionAId: mapUser?.section_a_id, |
| | | createTime:mapUser?.create_time |
| | | } |
| | | ); |
| | | i++; |