bug修复

This commit is contained in:
2025-10-26 23:26:30 +08:00
parent 85e910fac9
commit df818578e5
20 changed files with 2008 additions and 98 deletions
+15 -30
View File
@@ -222,10 +222,13 @@ export const useChatStore = defineStore('chat', () => {
const chatMessages = MessageService.convertToChatMessages(messageList)
console.log('📨 转换后的聊天消息:', chatMessages)
// 如果需要过滤特定会话的消息,可以在这里添加过滤逻辑
// const sessionMessages = chatMessages.filter(msg => msg.sessionId === sessionId)
// 使用优化的排序和去重方法
const sortedMessages = MessageService.sortAndDeduplicateMessages(chatMessages)
messages.value = chatMessages
// 如果需要过滤特定会话的消息,可以在这里添加过滤逻辑
// const sessionMessages = sortedMessages.filter(msg => msg.sessionId === sessionId)
messages.value = sortedMessages
console.log('📨 会话消息加载完成,消息数量:', messages.value.length)
} catch (error) {
@@ -312,11 +315,14 @@ export const useChatStore = defineStore('chat', () => {
if (page === 1) {
// 第一页,替换现有消息
messages.value = chatMessages
const sortedMessages = MessageService.sortAndDeduplicateMessages(chatMessages)
messages.value = sortedMessages
console.log('📨 第一页数据已加载,消息总数:', messages.value.length)
} else {
// 后续页,追加到现有消息
messages.value = [...messages.value, ...chatMessages]
// 后续页,追加到现有消息并重新排序
const combinedMessages = [...messages.value, ...chatMessages]
const sortedMessages = MessageService.sortAndDeduplicateMessages(combinedMessages)
messages.value = sortedMessages
console.log('📨 追加数据已加载,消息总数:', messages.value.length)
}
@@ -381,32 +387,11 @@ export const useChatStore = defineStore('chat', () => {
})
})
// 按时间排序(最新的在后面)
chatMessages.sort((a, b) => {
// 处理时间格式 "2025-07-26 22:09:10" -> ISO格式
const parseTime = (timestamp: string | Date) => {
if (timestamp instanceof Date) {
return timestamp.getTime()
}
if (typeof timestamp === 'string') {
// 如果是 "2025-07-26 22:09:10" 格式,转换为ISO格式
if (timestamp.includes(' ') && !timestamp.includes('T')) {
const isoString = timestamp.replace(' ', 'T')
return new Date(isoString).getTime()
}
return new Date(timestamp).getTime()
}
return new Date().getTime()
}
const timeA = parseTime(a.timestamp)
const timeB = parseTime(b.timestamp)
return timeA - timeB
})
// 使用优化的排序和去重方法
const sortedMessages = MessageService.sortAndDeduplicateMessages(chatMessages)
// 直接设置消息数组(初始加载时不使用队列)
messages.value = chatMessages
messages.value = sortedMessages
console.log('📝 最近消息已加载并排序,消息总数:', messages.value.length)
return chatMessages