bug修复
This commit is contained in:
+15
-30
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user