From 8e6b518811a52e8c2d783ff6bb7d263783954eac Mon Sep 17 00:00:00 2001 From: wujingjing <gersonwu@qq.com> Date: 星期二, 31 十二月 2024 12:58:41 +0800 Subject: [PATCH] 拆分 messageList 组件 --- src/components/chat/Chat.vue | 45 ++++++++++----------------------------------- 1 files changed, 10 insertions(+), 35 deletions(-) diff --git a/src/components/chat/Chat.vue b/src/components/chat/Chat.vue index ff4ec3f..737079c 100644 --- a/src/components/chat/Chat.vue +++ b/src/components/chat/Chat.vue @@ -8,39 +8,15 @@ > <!-- 娑堟伅鍒楄〃 --> <template #message-list> - <template v-if="computedMessageList?.length > 0"> - <div v-for="(item, msgIndex) of computedMessageList" :key="`${item.historyId}_${item.role}`"> - <UserMsg - :msg="item" - @shareClick="shareClick" - @setCommonQuestion="setCommonQuestionClick" - v-if="item.role === RoleEnum.user" - ></UserMsg> - - <AssistantMsg - v-else - :msg="item" - :msgList="computedMessageList" - :isLast="msgIndex === computedMessageList.length - 1" - @sendChatMessage="sendChatMessage" - @shareMsg="shareClick" - :isTalking="isTalking" - /> - </div> - <div v-if="showAskMore" class="ml-4 mt-5 pb-10"> - <div class="text-gray-600 mb-5">浣犲彲浠ョ户缁棶鎴戯細</div> - <div class="space-y-2 inline-flex flex-col"> - <div - v-for="item in computedMessageList.at(-1).content.askMoreList" - :key="item.history_id" - class="bg-white p-3 hover:bg-[#c5e0ff] hover:text-[#1c86ff] cursor-pointer rounded-lg" - @click="askMoreClick(item)" - > - {{ item.question }} - </div> - </div> - </div> - </template> + <MessageList + v-if="computedMessageList?.length > 0" + :msgList="computedMessageList" + :isTalking="isTalking" + @shareClick="shareClick" + @setCommonQuestionClick="setCommonQuestionClick" + @sendChatMessage="sendChatMessage" + @askMoreClick="askMoreClick" + /> <el-empty v-else-if="isSharePage && !chatListLoading" :image-size="200"> <template #description> <span class="text-[15px]">鍒嗕韩鐨勫璇濅笉瀛樺湪鎴栧凡澶辨晥</span> @@ -88,11 +64,10 @@ import { Logger } from '/@/model/logger/Logger'; import { ElMessage } from 'element-plus'; -import AssistantMsg from './assistant/index.vue'; import ChatContainer from './components/ChatContainer.vue'; import ShareLinkDlg from './components/shareLink/index.vue'; -import UserMsg from './user/index.vue'; import router from '/@/router'; +import MessageList from './messageList/index.vue'; import { activeChatRoom, activeGroupType, -- Gitblit v1.9.3