diff --git a/app/(tabs)/ask.tsx b/app/(tabs)/ask.tsx index a50f7b2..d157744 100644 --- a/app/(tabs)/ask.tsx +++ b/app/(tabs)/ask.tsx @@ -3,13 +3,13 @@ import Chat from "@/components/ask/chat"; import AskHello from "@/components/ask/hello"; import SendMessage from "@/components/ask/send"; import { ThemedText } from "@/components/ThemedText"; -import { checkAuthStatus } from '@/lib/auth'; import { fetchApi } from "@/lib/server-api-util"; import { Message } from "@/types/ask"; import { router, useLocalSearchParams } from "expo-router"; import React, { useEffect, useRef, useState } from 'react'; import { Animated, + Keyboard, KeyboardAvoidingView, Platform, ScrollView, @@ -21,9 +21,7 @@ import { useSafeAreaInsets } from "react-native-safe-area-context"; export default function AskScreen() { const insets = useSafeAreaInsets(); - useEffect(() => { - checkAuthStatus(router); - }, []); + // 在组件内部添加 ref const scrollViewRef = useRef(null); const [isHello, setIsHello] = useState(true); @@ -56,11 +54,11 @@ export default function AskScreen() { setUserMessages(res); }); } - // if (newSession) { - // setIsHello(false); - // createNewConversation(); - // } - }, [sessionId]); + if (newSession) { + setIsHello(true); + setConversationId(null); + } + }, [sessionId, newSession]); // 动画效果 useEffect(() => { @@ -101,7 +99,10 @@ export default function AskScreen() { router.push('/memo-list')} + onPress={() => { + router.push('/memo-list') + Keyboard.dismiss(); + }} > @@ -148,7 +149,7 @@ export default function AskScreen() { {/* 输入框 */} - + { - console.log('Keyboard will show'); - setIsHello(false); - setUserMessages([{ - content: { - text: "快来寻找你的记忆吧。。。" - }, - role: 'Assistant', - timestamp: new Date().toISOString() - }]) + if (!conversationId) { + console.log('Keyboard will show'); + setIsHello(false); + setUserMessages([{ + content: { + text: "快来寻找你的记忆吧。。。" + }, + role: 'Assistant', + timestamp: new Date().toISOString() + }]) + } else { + console.log('Keyboard will show1213'); + } } ); return () => { keyboardWillShowListener.remove(); }; - }, []); + }, [conversationId]); return (