From c89d1d1fe4e820bc9d1a942467a3f1e017b40dac Mon Sep 17 00:00:00 2001
From: wujingjing <gersonwu@qq.com>
Date: 星期三, 06 十一月 2024 16:33:36 +0800
Subject: [PATCH] 无关代码删除

---
 src/components/chat/hooks/useScrollToBottom.ts |   48 +++++++++++++++++++++++++-----------------------
 1 files changed, 25 insertions(+), 23 deletions(-)

diff --git a/src/components/chat/hooks/useScrollToBottom.ts b/src/components/chat/hooks/useScrollToBottom.ts
index b23e8a4..66a344d 100644
--- a/src/components/chat/hooks/useScrollToBottom.ts
+++ b/src/components/chat/hooks/useScrollToBottom.ts
@@ -1,37 +1,39 @@
 import type { ComputedRef, Ref } from 'vue';
-import { nextTick, onActivated, ref, watch } from 'vue';
+import { nextTick, onActivated, onUnmounted, ref, watch } from 'vue';
 import type { ChatMessage } from '../model/types';
+import emitter from '/@/utils/mitt';
+import { debounce } from '/@/utils/util';
 
 export type UseScrollToBottomOption = {
 	chatListDom: Ref<HTMLDivElement>;
-	displayMessageList: ComputedRef<ChatMessage[]>;
 };
 
-export const useScrollToBottom = (option:UseScrollToBottomOption) => {
-    const {chatListDom,displayMessageList} = option;
+export const useScrollToBottom = (option: UseScrollToBottomOption) => {
+	const { chatListDom } = option;
 
-    const scrollToBottom = () => {
-        if (!chatListDom.value) return;
-        chatListDom.value.lastElementChild?.scrollIntoView();
-    };
-    const forbidScroll = ref(false);
-	watch(
-		displayMessageList,
-		() => {
-			if (forbidScroll.value) return;
-			nextTick(() => scrollToBottom());
-		},
-		{
-			deep: true,
-		}
-	);
+	const scrollToBottom = () => {
+		nextTick(() => {
+	
+			if (chatListDom.value.scrollHeight > chatListDom.value.clientHeight) {
+				chatListDom.value.scrollTop = chatListDom.value.scrollHeight - chatListDom.value.clientHeight;
+			}
+		});
+	};
+	const debounceAmisScroll = debounce(({ instance }) => {
+		scrollToBottom();
+	}, 500);
+
+	// emitter.on('amis.page.ready', debounceAmisScroll);
+
+	// onUnmounted(() => {
+	// 	emitter.off('amis.page.ready');
+	// });
 
 	onActivated(() => {
-		if (forbidScroll.value) return;
-		nextTick(() => scrollToBottom());
+		scrollToBottom();
 	});
 
 	return {
-        forbidScroll
-    };
+		scrollToBottom,
+	};
 };

--
Gitblit v1.9.3