diff --git a/app/(tabs)/owner.tsx b/app/(tabs)/owner.tsx
index fe9936f..3e7322e 100644
--- a/app/(tabs)/owner.tsx
+++ b/app/(tabs)/owner.tsx
@@ -10,8 +10,8 @@ import UserInfo from '@/components/owner/userName';
import { checkAuthStatus } from '@/lib/auth';
import { fetchApi } from '@/lib/server-api-util';
import { CountData, UserInfoDetails } from '@/types/user';
-import { useRouter } from 'expo-router';
-import { useEffect, useState } from 'react';
+import { useFocusEffect, usePathname, useRouter } from 'expo-router';
+import { useCallback, useEffect, useState } from 'react';
import { useTranslation } from 'react-i18next';
import { FlatList, StyleSheet, View } from 'react-native';
import { useSafeAreaInsets } from "react-native-safe-area-context";
@@ -20,6 +20,7 @@ export default function OwnerPage() {
const insets = useSafeAreaInsets();
const { t } = useTranslation();
const router = useRouter();
+ const pathname = usePathname();
useEffect(() => {
const checkAuth = async () => {
@@ -54,18 +55,24 @@ export default function OwnerPage() {
})
}
// 设计轮询获取数量统计
- useEffect(() => {
- // 将轮询间隔增加到5秒,减少服务器压力和电池消耗
- const interval = setInterval(() => {
+ useFocusEffect(
+ useCallback(() => {
+ // 当页面获取焦点时开始轮询
+ const interval = setInterval(() => {
+ getCountData();
+ }, 5000);
+
+ // 立即执行一次
getCountData();
- }, 5000);
- return () => clearInterval(interval);
- }, []);
+
+ // 当页面失去焦点时清除定时器
+ return () => clearInterval(interval);
+ }, []) // 空依赖数组,因为 getCountData 是稳定的
+ );
// 初始化获取用户信息
useEffect(() => {
getUserInfo();
- getCountData();
}, []);
return (
diff --git a/components/ask/aiChat.tsx b/components/ask/aiChat.tsx
index 58dcc95..4ec6971 100644
--- a/components/ask/aiChat.tsx
+++ b/components/ask/aiChat.tsx
@@ -49,14 +49,15 @@ const MessageItem = ({ setCancel, cancel = true, t, insets, item, sessionId, set
style={[
styles.messageBubble,
isUser ? styles.userBubble : styles.aiBubble,
- { marginRight: item.content.text == "正在寻找,请稍等..." ? 0 : isUser ? 0 : 10 }
+ { marginRight: item.content.text == "keepSearchIng" ? 0 : isUser ? 0 : 10 }
]}
>
{!isUser
- ?
- sessionId ? item.content.text : item.content.text == "正在寻找,请稍等..." ? : item.content.text
+ ? item.content.text == "keepSearchIng"
+ ?
+ : item.content.text
: item.content.text
}
@@ -142,7 +143,7 @@ const MessageItem = ({ setCancel, cancel = true, t, insets, item, sessionId, set
{
- item.content.text == "正在寻找,请稍等..."
+ item.content.text == "keepSearchIng"
&&
{t("ask:ask.think")}
@@ -245,12 +246,12 @@ const styles = StyleSheet.create({
userBubble: {
alignSelf: 'flex-end',
backgroundColor: '#FFB645',
- marginLeft: '20%',
+ marginLeft: 10,
},
aiBubble: {
alignSelf: 'flex-start',
backgroundColor: '#fff',
- marginRight: '20%',
+ marginRight: 10,
borderWidth: 1,
borderColor: '#e5e5ea',
},
diff --git a/components/ask/hello.tsx b/components/ask/hello.tsx
index 474a37e..b502a00 100644
--- a/components/ask/hello.tsx
+++ b/components/ask/hello.tsx
@@ -26,7 +26,7 @@ export default function AskHello({ setUserMessages, setConversationId, setIsHell
},
{
content: {
- text: "正在寻找,请稍等..."
+ text: "keepSearchIng"
},
role: 'Assistant',
timestamp: new Date().toISOString()
@@ -41,7 +41,7 @@ export default function AskHello({ setUserMessages, setConversationId, setIsHell
newMessages.push(response);
}
return newMessages.filter((item: Message) =>
- item?.content?.text !== '正在寻找,请稍等...'
+ item?.content?.text !== 'keepSearchIng'
);
});
}
diff --git a/components/ask/send.tsx b/components/ask/send.tsx
index fef9621..756b258 100644
--- a/components/ask/send.tsx
+++ b/components/ask/send.tsx
@@ -82,7 +82,7 @@ export default function SendMessage(props: Props) {
},
{
content: {
- text: "正在寻找,请稍等..."
+ text: "keepSearchIng"
},
role: 'Assistant',
timestamp: new Date().toISOString()
@@ -100,7 +100,7 @@ export default function SendMessage(props: Props) {
newMessages.push(response);
}
return newMessages.filter((item: Message) =>
- item?.content?.text !== '正在寻找,请稍等...'
+ item?.content?.text !== 'keepSearchIng'
);
});
} else {
@@ -116,7 +116,7 @@ export default function SendMessage(props: Props) {
newMessages.push(response);
}
return newMessages.filter((item: Message) =>
- item?.content?.text !== '正在寻找,请稍等...'
+ item?.content?.text !== 'keepSearchIng'
);
});
}