fix: speed up chat detail pagination
This commit is contained in:
@@ -53,6 +53,7 @@ const previewKnowledgeId = ref<number | null>(null);
|
||||
const chatDetail = ref<ChatDetail | null>(null);
|
||||
const chatDetailOpen = ref(false);
|
||||
const chatDetailLoading = ref(false);
|
||||
const chatMessagesLoading = ref(false);
|
||||
const chatDetailSessionId = ref<number | null>(null);
|
||||
const selectedAiLog = ref<AiLogRecord | null>(null);
|
||||
const aiLogDetailOpen = ref(false);
|
||||
@@ -773,7 +774,21 @@ async function loadChatDetail(sessionId = chatDetailSessionId.value, page = chat
|
||||
}
|
||||
|
||||
async function changeChatDetailMessagePage(page: number, pageSize: number) {
|
||||
await loadChatDetail(chatDetailSessionId.value, page, pageSize);
|
||||
if (!chatDetailSessionId.value || !chatDetail.value) return;
|
||||
chatMessagesLoading.value = true;
|
||||
try {
|
||||
const result = await api.chatMessages(chatDetailSessionId.value, { page, pageSize });
|
||||
chatDetail.value = {
|
||||
...chatDetail.value,
|
||||
messages: result.items,
|
||||
messagesPage: result,
|
||||
};
|
||||
Object.assign(chatDetailMessagePager, { page: result.page, pageSize: result.pageSize, total: result.total });
|
||||
} catch (error) {
|
||||
ElMessage.error(error instanceof Error ? error.message : "聊天消息加载失败");
|
||||
} finally {
|
||||
chatMessagesLoading.value = false;
|
||||
}
|
||||
}
|
||||
|
||||
async function openAiLogDetail(row: AiLogRecord) {
|
||||
@@ -1244,7 +1259,7 @@ function formatRecordDateTime(value: string, boundary: "start" | "end") {
|
||||
</section>
|
||||
|
||||
<h3 class="detail-title">完整对话</h3>
|
||||
<section class="conversation-list">
|
||||
<section v-loading="chatMessagesLoading" class="conversation-list">
|
||||
<article
|
||||
v-for="message in chatDetail.messages"
|
||||
:key="message.id"
|
||||
|
||||
Reference in New Issue
Block a user