xuyonghao
2024-11-27 db2339e341668d14506c114ee88d6d143d4813b0
src/views/sessionManager/components/agentSession.vue
@@ -267,7 +267,7 @@
  const visible = ref(false);
  let isHistory = ref(false); //是否是历史记录
  let dsl = reactive({});
  const chatDataMeg = reactive({});
  let toStop = false;
@@ -396,12 +396,17 @@
    const { code, data } = await getAgentSessionDetailsApi(id);
    if (code == 0) {
      console.log(data, 'agent会话详情');
      Object.assign(chatObj, data);
      // sessionDetailList.value = data.dsl.messages;
      await updateAgentConversation({
        converson_id: conversation_id.value,
        dsl:data.dsl,
      })
      let l = data.dsl.messages.length;
      if (l > 1) {
        chatObj.dsl.messages[chatObj.dsl.messages.length-1] = data.dsl.messages[l - 1];
        await updateAgentConversation({
          converson_id: conversation_id.value,
          dsl: chatObj.dsl
        });
      } else {
        chatObj.dsl = data.dsl;
      }
      sessionDetailList.value = chatObj.dsl.messages;
      agentTitle.value = `${data.title}` || '未命名会话';
      from.name = `${data.title}` || '未命名会话';
      refreshScroll(); //刷新滚动条位置
@@ -418,12 +423,18 @@
    from.name = session.name;
    const { code, data } = await getSessionDetailsApi(session.id);
    if (code == 200) {
      sessionDetailList.value = data.message.messages;
      const res = await getAgentSessionDetailsApi(session.dialog_id);
      if (res.code == 0) {
        console.log(res.data, 'agent会话详情');
        console.log(res.data, "agent会话详情");
        Object.assign(agentObj, res.data);
        Object.assign(chatObj, res.data);
        if (data?.message?.messages) {
          sessionDetailList.value = data.message.messages;
          let dsl = data.message;
          Object.assign(chatObj, { "dsl": dsl });
        } else {
          Object.assign(chatObj, res.data);
          sessionDetailList.value = res.data.dsl.messages;
        }
        Object.assign(dsl, res.data.dsl);
        refreshScroll(); //刷新滚动条位置
      }
@@ -454,18 +465,6 @@
          event.preventDefault(); // 阻止默认行为,即不换行
        }
        // chatDis.value = true;
        // loading.value = true;
        // if (!agentObj.id) {
        //   Message.warning('请选择会话');
        //   chatDis.value = false;
        //   loading.value = false;
        //   return;
        // }
        // if (displayedText.value) {
        //   querySessionList();
        // }
        if (inputMsg.value) {
          startChat(inputMsg.value);
@@ -515,7 +514,6 @@
    while (true) {
      if (isStopChat) {
        message_stop.push(message_id);
        setChatDataMeg(chatDataMeg);
        break;
      }
      const x = await reader?.read();
@@ -581,25 +579,21 @@
      .concat(lastArr);
    console.log(sessionDetailList.value, 'sessionDetailList2');
    console.log(chatObj, 'chatObj对象');
    chatObj.dsl.messages = chatObj.dsl.messages.concat(lastArr);
    Object.assign(chatDataMeg, {
      id: chatObj.id,
      conversation_id: chatObj.id,
      message: sessionDetailList.value,
    });
  };
    chatObj.dsl.messages = sessionDetailList.value;
  const setChatDataMeg = async (chatData) => {
    const { code, data } = await addSessionApi(chatData);
    const { code, data } =  await updateAgentConversation({
      converson_id: conversation_id.value,
      dsl:chatObj.dsl,
    });
    if (data) {
      //停止定时器
      clearTimeout(timer!);
      timer = null;
      // displayedText.value = "";
      queryAgentSessionDetail(chatObj.id);
    }
  };
  const handleShiftEnter = (event) => {
    event.preventDefault();
    inputMsg.value += '\n';