|
@@ -98,7 +98,7 @@
|
|
|
|
|
|
<script setup>
|
|
|
import { ref, onMounted, nextTick, watch } from 'vue'
|
|
|
-import { useRoute } from 'vue-router'
|
|
|
+import { useRoute, useRouter } from 'vue-router'
|
|
|
import userAvatar from '@/assets/user-avatar.png'
|
|
|
import assistantAvatar from '@/assets/assistant-avatar.png'
|
|
|
import { post,get } from '@/utils/request'
|
|
@@ -110,6 +110,7 @@ import { useUserStore } from '../stores/user'
|
|
|
|
|
|
const userStore = useUserStore()
|
|
|
const route = useRoute()
|
|
|
+const router = useRouter()
|
|
|
const messagesRef = ref(null)
|
|
|
const inputMessage = ref('')
|
|
|
const loading = ref(false)
|
|
@@ -527,17 +528,23 @@ const getHistoryChat = async (historyId) => {
|
|
|
|
|
|
// 初始化对话
|
|
|
const initChat = async () => {
|
|
|
- messages.value = []
|
|
|
- await getKnowledgeList() // 获取最新的知识库列表
|
|
|
- chatId.value = ''
|
|
|
- sessionId.value = ''
|
|
|
- isChating.value = false
|
|
|
+ messages.value = [] // 清除所有消息
|
|
|
+ chatId.value = '' // 清除对话 ID
|
|
|
+ sessionId.value = '' // 清除会话 ID
|
|
|
+ isChating.value = false // 关闭对话状态
|
|
|
+ inputMessage.value = '' // 清空输入框
|
|
|
+ loading.value = false // 重置加载状态
|
|
|
+ await getKnowledgeList() // 重新获取知识库列表
|
|
|
}
|
|
|
|
|
|
// 监听路由参数变化
|
|
|
watch(() => route.query.newChat, async (newVal) => {
|
|
|
- if(newVal) {
|
|
|
+ if(newVal === 'true') { // 确保检查的是字符串 'true'
|
|
|
await initChat()
|
|
|
+ // 清除 URL 中的 newChat 参数,防止重复触发
|
|
|
+ router.replace({
|
|
|
+ query: { ...route.query, newChat: undefined }
|
|
|
+ })
|
|
|
}
|
|
|
}, { immediate: true })
|
|
|
|