This commit is contained in:
Junhui Chen 2025-08-07 11:15:33 +08:00
parent 35a6f8eacb
commit 780fc293e4

View File

@ -3,7 +3,6 @@ import Chat from "@/components/ask/chat";
import AskHello from "@/components/ask/hello"; import AskHello from "@/components/ask/hello";
import SendMessage from "@/components/ask/send"; import SendMessage from "@/components/ask/send";
import { ThemedText } from "@/components/ThemedText"; import { ThemedText } from "@/components/ThemedText";
import { fetchApi } from "@/lib/server-api-util";
import { WEBSOCKET_ENDPOINT } from "@/lib/websocket-util"; import { WEBSOCKET_ENDPOINT } from "@/lib/websocket-util";
import { Message } from "@/types/ask"; import { Message } from "@/types/ask";
import { useFocusEffect, useLocalSearchParams, useRouter } from "expo-router"; import { useFocusEffect, useLocalSearchParams, useRouter } from "expo-router";
@ -175,32 +174,32 @@ export default function AskScreen() {
// fadeAnimChat.value = withTiming(isHello ? 0 : 1, { duration: 300 }); // fadeAnimChat.value = withTiming(isHello ? 0 : 1, { duration: 300 });
// }, [isHello]); // }, [isHello]);
useEffect(() => { // useEffect(() => {
if (sessionId && isMountedRef.current) { // if (sessionId && isMountedRef.current) {
setConversationId(sessionId); // setConversationId(sessionId);
setIsHello(false); // setIsHello(false);
// 创建新的AbortController // // 创建新的AbortController
abortControllerRef.current = new AbortController(); // abortControllerRef.current = new AbortController();
fetchApi<Message[]>(`/chats/${sessionId}/message-history`, { // fetchApi<Message[]>(`/chats/${sessionId}/message-history`, {
signal: abortControllerRef.current.signal // signal: abortControllerRef.current.signal
}).then((res) => { // }).then((res) => {
if (isMountedRef.current) { // if (isMountedRef.current) {
console.log("isMountedRef.current", isMountedRef.current) // console.log("isMountedRef.current", isMountedRef.current)
setUserMessages(res); // setUserMessages(res);
} // }
}).catch((error) => { // }).catch((error) => {
if (error.name !== 'AbortError') { // if (error.name !== 'AbortError') {
console.error('获取消息历史失败:', error); // console.error('获取消息历史失败:', error);
} // }
}); // });
} // }
if (newSession && isMountedRef.current) { // if (newSession && isMountedRef.current) {
setIsHello(true); // setIsHello(true);
setConversationId(null); // setConversationId(null);
} // }
}, [sessionId, newSession]); // }, [sessionId, newSession]);
useEffect(() => { useEffect(() => {
if (!isHello && isMountedRef.current) { if (!isHello && isMountedRef.current) {