wujingjing
2024-11-18 8703f7ddda1cbdbee1cefc4c8f9a31ea97272494
src/components/chat/Chat.vue
@@ -118,15 +118,15 @@
                                       <p class="text-red-500">
                                          {{ item.content.errMsg }}
                                       </p>
                                       <div class="mt-5 flex" v-if="showFixQuestion(item)">
                                          <div class="text-gray-600 flex-0 mt-4">
                                       <div class="mt-3 flex" v-if="showFixQuestion(item)">
                                          <div class="text-gray-600 flex-0 mb-auto py-3">
                                             {{ '猜你想问:' }}
                                          </div>
                                          <div class="ml-1 space-x-2 inline-flex flex-wrap">
                                          <div class="flex-auto space-x-2 space-y-1 inline-flex flex-wrap items-center">
                                             <div
                                                v-for="fixItem in item.content.origin?.sample_question"
                                                :key="fixItem"
                                                class="bg-gray-200 p-3 mt-1 hover:bg-[#c5e0ff] hover:text-[#1c86ff] cursor-pointer rounded-lg"
                                                class="bg-gray-200 p-3 hover:bg-[#c5e0ff] hover:text-[#1c86ff] cursor-pointer rounded-lg first-of-type:ml-2 first-of-type:mt-1"
                                                @click="fixQuestionClick(fixItem, item.content.origin)"
                                             >
                                                {{ fixItem }}
@@ -239,7 +239,7 @@
                     <span class="text-[15px]"> 分享的对话不存在或已失效 </span>
                  </template>
               </el-empty>
               <div v-if="showAskMore && !isShareCheck" class="ml-4 mt-5 text-sm pb-10">
               <div v-if="showAskMore" class="ml-4 mt-5 text-sm pb-10">
                  <div class="text-gray-600 mb-5">你可以继续问我:</div>
                  <div class="space-y-2 inline-flex flex-col">
                     <div
@@ -276,9 +276,8 @@
<script setup lang="ts">
import { ElMessage } from 'element-plus';
import _ from 'lodash';
import moment from 'moment';
import { computed, onMounted, ref } from 'vue';
import { computed, onActivated, onMounted, ref } from 'vue';
import useClipboard from 'vue-clipboard3';
import FeedbackPanel from './components/FeedbackPanel.vue';
import { useAssistantContentOpt } from './hooks/useAssistantContentOpt';
@@ -290,7 +289,7 @@
import { extCallQuery, questionStreamByPost, shareChatHistoryByPost } from '/@/api/ai/chat';
import PlayBar from '/@/components/chat/components/playBar/PlayBar.vue';
import CustomDrawer from '/@/components/drawer/CustomDrawer.vue';
import { SERVE_URL, SHARE_URL } from '/@/constants';
import { SHARE_URL } from '/@/constants';
import { Logger } from '/@/model/logger/Logger';
import router from '/@/router';
import {
@@ -304,8 +303,10 @@
   isSharePage,
   roomConfig,
} from '/@/stores/chatRoom';
import emitter from '/@/utils/mitt';
import { ErrorCode } from '/@/utils/request';
import { toMyFixed } from '/@/utils/util';
import { findLast, orderBy } from 'lodash-es';
const chatWidth = '75%';
const voicePageIsShow = ref(false);
let isTalking = ref(false);
@@ -378,7 +379,7 @@
         };
         break;
   }
   content.askMoreList = _.orderBy(res.context_history, [(item) => Number(item.radio)], ['desc']);
   content.askMoreList = orderBy(res.context_history, [(item) => Number(item.radio)], ['desc']);
   content.errCode = res?.err_code;
   content.errMsg = res?.json_msg;
   content.origin = res;
@@ -445,7 +446,7 @@
      currentSectionAId = activeSectionAId.value;
      activeSectionAId.value = '';
   } else {
      const lastSectionAItem = _.findLast(
      const lastSectionAItem = findLast(
         computedMessageList.value as any,
         (item) => item.role === RoleEnum.assistant && !!item.sectionAId
      );
@@ -635,6 +636,10 @@
   chatListDom: chatListDom,
});
onActivated(() => {
   emitter.emit('updateHeaderTitle', activeChatRoom.value?.title ?? '');
});
onMounted(async () => {
   messageList.value = [];
   // 加载初始数据
@@ -642,6 +647,9 @@
   await loadRangeData().finally(() => {
      chatListLoading.value = false;
   });
   setTimeout(() => {
      emitter.emit('updateHeaderTitle', activeChatRoom.value?.title ?? '');
   }, 300);
   if (messageList.value.length === 0) {
      messageContent.value = {
@@ -652,10 +660,10 @@
      sendChatMessage();
   } else {
      if (isSharePage.value) {
         setTimeout(() => {
            // 滚动到顶部
            scrollToTop();
         }, 300);
         // setTimeout(() => {
         //    // 滚动到顶部
         //    scrollToTop();
         // }, 300);
      } else {
         setTimeout(() => {
            // 初始状态滚一下