diff --git a/src/views/ai/chat/Conversation.vue b/src/views/ai/chat/Conversation.vue
index bbdc9f18..5c929a12 100644
--- a/src/views/ai/chat/Conversation.vue
+++ b/src/views/ai/chat/Conversation.vue
@@ -24,7 +24,10 @@
-
+
+
+
+
{{ conversationKey }}
@@ -102,6 +105,8 @@ const activeConversationId = ref
(null) // 选中的对话,默
const conversationList = ref([] as ChatConversationVO[]) // 对话列表
const conversationMap = ref({}) // 对话分组 (置顶、今天、三天前、一星期前、一个月前)
const drawer = ref(false) // 角色仓库抽屉
+const loading = ref(false) // 加载中
+const loadingTime = ref() // 加载中定时器
// 定义组件 props
const props = defineProps({
@@ -147,25 +152,38 @@ const handleConversationClick = async (id: string) => {
* 对话 - 获取列表
*/
const getChatConversationList = async () => {
- // 1、获取 对话数据
- const res = await ChatConversationApi.getChatConversationMyList()
- // 2、排序
- res.sort((a, b) => {
- return b.createTime - a.createTime
- })
- conversationList.value = res
- // 3、默认选中
- if (!activeId?.value) {
- await handleConversationClick(res[0].id)
+ try {
+ // 0、加载中
+ loadingTime.value = setTimeout(() => {
+ loading.value = true
+ }, 50)
+ // 1、获取 对话数据
+ const res = await ChatConversationApi.getChatConversationMyList()
+ // 2、排序
+ res.sort((a, b) => {
+ return b.createTime - a.createTime
+ })
+ conversationList.value = res
+ // 3、默认选中
+ if (!activeId?.value) {
+ await handleConversationClick(res[0].id)
+ }
+ // 4、没有 任何对话情况
+ if (conversationList.value.length === 0) {
+ activeConversationId.value = null
+ conversationMap.value = {}
+ return
+ }
+ // 5、对话根据时间分组(置顶、今天、一天前、三天前、七天前、30天前)
+ conversationMap.value = await conversationTimeGroup(conversationList.value)
+ } finally {
+ // 清理定时器
+ if (loadingTime.value) {
+ clearTimeout(loadingTime.value)
+ }
+ // 加载完成
+ loading.value = false
}
- // 4、没有 任何对话情况
- if (conversationList.value.length === 0) {
- activeConversationId.value = null
- conversationMap.value = {}
- return
- }
- // 5、对话根据时间分组(置顶、今天、一天前、三天前、七天前、30天前)
- conversationMap.value = await conversationTimeGroup(conversationList.value)
}
const conversationTimeGroup = async (list: ChatConversationVO[]) => {