对话逻辑修复
This commit is contained in:
@@ -80,7 +80,7 @@
|
||||
:class="{ 'user-message': message.type === 'user' }"
|
||||
>
|
||||
<div class="message-bubble">
|
||||
<div v-if="message.type === 'ai'" class="message-avatar">
|
||||
<div v-if="message.type === 'ai' || message.sender === 'ai'" class="message-avatar">
|
||||
<a-avatar :src="kaikaiAvatar" :size="32" />
|
||||
</div>
|
||||
<div class="message-content">
|
||||
@@ -285,12 +285,13 @@
|
||||
SearchOutlined,
|
||||
HeartOutlined,
|
||||
} from '@ant-design/icons-vue'
|
||||
import { useChatStore } from '@/stores'
|
||||
import { useChatStore, useUserStore } from '@/stores'
|
||||
import { formatTime } from '@/utils'
|
||||
import { messageApi, emotionSummaryApi } from '@/services/api'
|
||||
import type { Dayjs } from 'dayjs'
|
||||
|
||||
const chatStore = useChatStore()
|
||||
const userStore = useUserStore()
|
||||
|
||||
// 响应式数据
|
||||
const messageInput = ref('')
|
||||
@@ -443,9 +444,18 @@
|
||||
try {
|
||||
historyLoading.value = true
|
||||
|
||||
console.log('开始加载历史记录:', {
|
||||
page,
|
||||
pageSize: historyPagination.value.pageSize,
|
||||
token: !!localStorage.getItem('token'),
|
||||
userInfo: userStore.userInfo
|
||||
})
|
||||
|
||||
// 调用API获取用户消息(后端会从token中获取用户信息)
|
||||
const pageData = await messageApi.getUserMessages(page, historyPagination.value.pageSize)
|
||||
|
||||
console.log('API返回数据:', pageData)
|
||||
|
||||
if (page === 1) {
|
||||
historyMessages.value = pageData.records || []
|
||||
} else {
|
||||
@@ -458,10 +468,20 @@
|
||||
total: pageData.total || 0
|
||||
}
|
||||
|
||||
console.log('历史记录加载成功:', historyMessages.value.length, '条')
|
||||
console.log('历史记录加载成功:', {
|
||||
total: historyMessages.value.length,
|
||||
pagination: historyPagination.value
|
||||
})
|
||||
|
||||
} catch (error) {
|
||||
console.error('加载历史记录时发生错误:', error)
|
||||
|
||||
// 显示用户友好的错误信息
|
||||
if (error.response?.status === 401) {
|
||||
console.log('认证失败,可能需要重新登录')
|
||||
} else if (error.response?.status === 500) {
|
||||
console.log('服务器错误,请稍后重试')
|
||||
}
|
||||
} finally {
|
||||
historyLoading.value = false
|
||||
}
|
||||
@@ -477,13 +497,27 @@
|
||||
try {
|
||||
historyLoading.value = true
|
||||
|
||||
console.log('开始搜索历史记录:', {
|
||||
keyword: searchKeyword.value,
|
||||
token: !!localStorage.getItem('token')
|
||||
})
|
||||
|
||||
// 调用API搜索用户消息(后端会从token中获取用户信息)
|
||||
const messages = await messageApi.searchUserMessages(searchKeyword.value, 100)
|
||||
historyMessages.value = messages || []
|
||||
console.log('搜索历史记录成功:', historyMessages.value.length, '条')
|
||||
|
||||
console.log('搜索历史记录成功:', {
|
||||
keyword: searchKeyword.value,
|
||||
total: historyMessages.value.length
|
||||
})
|
||||
|
||||
} catch (error) {
|
||||
console.error('搜索历史记录时发生错误:', error)
|
||||
|
||||
// 显示用户友好的错误信息
|
||||
if (error.response?.status === 401) {
|
||||
console.log('认证失败,搜索功能需要登录')
|
||||
}
|
||||
} finally {
|
||||
historyLoading.value = false
|
||||
}
|
||||
@@ -509,15 +543,15 @@
|
||||
id: msg.id,
|
||||
content: msg.content,
|
||||
sender: msg.sender === 'user' ? 'user' : 'ai',
|
||||
timestamp: new Date(msg.createTime).getTime(),
|
||||
type: 'text'
|
||||
type: msg.sender === 'user' ? 'user' : 'ai', // 修复:type字段用于CSS类判断
|
||||
timestamp: new Date(msg.createTime).getTime()
|
||||
}))
|
||||
|
||||
// 按时间顺序排列(最新的在最后)
|
||||
chatMessages.sort((a, b) => a.timestamp - b.timestamp)
|
||||
|
||||
// 添加到消息列表
|
||||
messages.value.push(...chatMessages)
|
||||
chatStore.messages.push(...chatMessages)
|
||||
|
||||
console.log('加载最近聊天记录成功:', chatMessages.length, '条')
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user