From d1b8e8e2f6cdc2ff8ada81bf7ef4bf1ee009335b Mon Sep 17 00:00:00 2001 From: Twilight Date: Mon, 16 Sep 2024 01:55:38 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E8=BF=9B=20Header?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/chat/Chat.vue | 23 +- src/components/settings/ChatSettings.vue | 2 +- src/layouts/Header.vue | 9 +- src/pages/chat/[id]/index copy.vue | 322 ----------------------- src/pages/chat/[id]/index.vue | 4 +- src/stores/chat.ts | 2 +- src/typed-router.d.ts | 1 - 7 files changed, 27 insertions(+), 336 deletions(-) delete mode 100644 src/pages/chat/[id]/index copy.vue diff --git a/src/components/chat/Chat.vue b/src/components/chat/Chat.vue index 159da13..f904d4a 100644 --- a/src/components/chat/Chat.vue +++ b/src/components/chat/Chat.vue @@ -147,7 +147,6 @@ import getApi from "@/plugins/api"; import MessageList from "./MessageList.vue"; import { useChatStore } from "@/stores/chat"; import router from "@/router"; -import { useAppStore } from "@/stores/app"; import element from "@/config/element"; // 获取组件传入的 chatId @@ -331,9 +330,9 @@ async function sendMessage( }) .then(async (res) => { chatId.value = res.data.data?.id; + chatStore.currentChat = res.data.data; if (chatId.value) { - chatStore.currentChatId = chatId.value; redirect = true; } await getChatMessages(); @@ -529,21 +528,27 @@ function streamChat(streamId: String, redirect = false) { const clearChatHistory = async () => { processing.value = true; - await getApi().ChatMessage.apiV1ChatsIdClearPost(chatStore.currentChatId); + await getApi().ChatMessage.apiV1ChatsIdClearPost( + chatStore.currentChat?.id ?? 0 + ); chatMessages.value = []; processing.value = false; }; const chatData: Ref = ref({}); const getChat = async () => { - chatData.value = ( - await getApi().Chat.apiV1ChatsIdGet(chatStore.currentChatId) - ).data.data ?? {}; + chatData.value = + (await getApi().Chat.apiV1ChatsIdGet(chatStore.currentChat?.id ?? 0)).data + .data ?? {}; + + chatStore.currentChat = chatData.value; }; onMounted(() => { chatId.value = props.chatId; - chatStore.currentChatId = Number(chatId.value); + chatStore.currentChat = { + id: Number(chatId.value), + }; updateInputHeight(); getChatMessages(); @@ -553,7 +558,9 @@ onMounted(() => { }); onUnmounted(() => { - chatStore.currentChatId = 0; + chatStore.currentChat = { + id: 0, + }; }); const uploadFile = () => { diff --git a/src/components/settings/ChatSettings.vue b/src/components/settings/ChatSettings.vue index 47d7b9c..fd57be8 100644 --- a/src/components/settings/ChatSettings.vue +++ b/src/components/settings/ChatSettings.vue @@ -4,7 +4,7 @@ v-for="c in chatStore.chats" :key="c.id" :class=" - c.id === chatStore.currentChatId ? ' bg-gray-100 dark:bg-gray-700' : '' + c.id === chatStore.currentChat?.id ? ' bg-gray-100 dark:bg-gray-700' : '' " @click="viewChat(c.id ?? 0)" > diff --git a/src/layouts/Header.vue b/src/layouts/Header.vue index b82d07f..6744c90 100644 --- a/src/layouts/Header.vue +++ b/src/layouts/Header.vue @@ -54,7 +54,7 @@
- +