diff --git a/app/found/page.js b/app/found/page.js
index 3f23271..7ac5da8 100644
--- a/app/found/page.js
+++ b/app/found/page.js
@@ -39,7 +39,7 @@ export default function Found() {
const [activeIndex, setActiveIndex] = useState(0);
const [account, setAccount] = useState(null);
const [scrollHeight, setScrollHeight] = useState(0);
-
+ const [loading, setLoading] = useState(false);
// useEffect(() => {
// const info = get("account");
// console.log("info",info)
@@ -48,11 +48,14 @@ export default function Found() {
// }
// }, []
// )
- const childrenFunc = () => {
+ const childrenFunc = async () => {
+ setLoading(true);
if (!activeIndex) {
- recommPostRef.current?.doRefresh();
+ await recommPostRef.current?.doRefresh();
+ setLoading(false);
} else {
- followPostRef.current?.doRefresh();
+ await followPostRef.current?.doRefresh();
+ setLoading(false);
}
};
useEffect(() => {
@@ -119,7 +122,9 @@ export default function Found() {
{
const intervalId = setInterval(() => {
+ // debugger;
// console.log("oldMessages[0]", oldMessages[0]);
- if (oldMessages[0]) {
- updateMessages(oldMessages[0]?.id, 0, oldMessages);
+ if (oldMessages.list[0]) {
+ updateMessages(oldMessages.list[0]?.id, 0, oldMessages.list);
// toScrollBottom.current = 1;
}
}, 3000); // 间隔时间为3秒
@@ -71,13 +76,14 @@ export default function MessageDetail({}) {
return () => {
clearInterval(intervalId);
};
- }, [oldMessages]);
+ }, [oldMessages.list]);
useEffect(() => {
- if (toScrollBottom.current) {
+ // debugger;
+ if (toScrollBottom.current && !oldMessages.isGetHistory) {
scrollBox.current?.scrollTo(0, scrollBox.current.scrollHeight + 50);
toScrollBottom.current = 0;
}
- }, [messages]);
+ }, [oldMessages.list, oldMessages.isGetHistory]);
useEffect(() => {
if (sessionId && userInfo.mid) {
loadEarlierHistory().then((res) => {
@@ -190,7 +196,10 @@ export default function MessageDetail({}) {
}
setOffset(data.data.offset);
setMore(data.data.more);
- let mathNewMessages = handleData([...oldMessages, ...data.data.list]);
+ let mathNewMessages = handleData(
+ [...oldMessages.list, ...data.data.list],
+ oldMessages.list.length > 0
+ );
// setMessages((prev) => [...prev, ...temMessages]);
setLoading(false);
return mathNewMessages;
@@ -212,6 +221,7 @@ export default function MessageDetail({}) {
//查询历史记录的时候后移一位,防止记录重复
setOffset((prev) => prev + 1);
//请求接口发送私信
+ setSendding(true);
try {
const data = await requireAPI(
"POST",
@@ -224,6 +234,7 @@ export default function MessageDetail({}) {
},
}
);
+ setSendding(false);
if (data.ret === -1) {
Toast.show({
icon: "error",
@@ -240,6 +251,7 @@ export default function MessageDetail({}) {
});
} catch (error) {
// console.error(error);
+ setSendding(false);
}
// //每次发送都缓存信息到本地
// addArr(`${selfData.mid}_to_${params.mid}_messages`, messages);
@@ -265,7 +277,7 @@ export default function MessageDetail({}) {
}
}
- const handleData = (list) => {
+ const handleData = (list, isGetHistory) => {
// console.log("list", list);
const account = get("account");
const temMessages = list.map((item) => {
@@ -293,7 +305,9 @@ export default function MessageDetail({}) {
user: {
_id: 0,
name: "客服",
- avatar: process.env.NEXT_PUBLIC_WEB_ASSETS_URL + "/images/icon.png",
+ avatar:
+ process.env.NEXT_PUBLIC_WEB_ASSETS_URL +
+ "/images/icon_border.png",
},
};
}
@@ -301,7 +315,16 @@ export default function MessageDetail({}) {
// console.log("handledmessages......", handledmessages);
// console.log("[...messages, ...temMessages]", temMessages);
setHandledmessages(temMessages);
- setOldMessages(list);
+ setOldMessages((old) => {
+ // debugger;
+ if (old.list.length === list.length) {
+ return old;
+ } else {
+ // debugger;
+ return { list, isGetHistory: !!isGetHistory };
+ }
+ });
+
let newMessages = temMessages.reverse();
let mathNewMessages = newMessages.reduce(
(accumulator, currentValue, index, sourceArray) => {
@@ -415,11 +438,16 @@ export default function MessageDetail({}) {
触发按钮:
- {btns.map((item) => {
+ {btns.map((item, index) => {
return (
- {
- onSend(item, oldMessages[0]?.id || -1, oldMessages);
+ onSend(
+ item,
+ oldMessages[0]?.id || -1,
+ oldMessages.list
+ );
}}
className="bg-[#3333331A] rounded text-center px-4 py-1"
>
@@ -436,7 +464,7 @@ export default function MessageDetail({}) {
}
// data.m_type===1?it?.text.split("|")it?.text
},
- [sessionId]
+ [sessionId, oldMessages.list]
);
return (
@@ -549,9 +577,22 @@ export default function MessageDetail({}) {
- {data?.recent_contact_cs_msg || "暂无新消息"}
+ {(data?.recent_contact_cs_msg?.includes("|")
+ ? data?.recent_contact_cs_msg?.split("|")[0]
+ : data?.recent_contact_cs_msg) || "暂无新消息"}
diff --git a/app/space/page.js b/app/space/page.js
index 96ddee3..264c67e 100644
--- a/app/space/page.js
+++ b/app/space/page.js
@@ -321,6 +321,8 @@ const SpacesList = forwardRef(({ scrollHeight }, ref) => {
hasMore={hasMore}
isEmpty={spacesList.length == 0}
showNoMore={spacesList.length === 0}
+ zoneEmpty={true}
+ type="nospace"
/>
@@ -434,7 +436,12 @@ const SpacePostList = forwardRef(({ scrollHeight }, ref) => {
)}
{spacePostList?.map((item, index) => (
-
+
))}
{!spacePostList?.length && (
@@ -442,7 +449,7 @@ const SpacePostList = forwardRef(({ scrollHeight }, ref) => {
className={`flex flex-col items-center justify-center h-screen`}
style={{ height: `calc(100vh - 133px)` }}
>
-
+
)}
diff --git a/components/InfiniteScrollContent/index.jsx b/components/InfiniteScrollContent/index.jsx
index 179ea64..a5dfcbe 100644
--- a/components/InfiniteScrollContent/index.jsx
+++ b/components/InfiniteScrollContent/index.jsx
@@ -8,6 +8,8 @@ export default function InfiniteScrollContent({
hasMore = 0,
isEmpty,
showNoMore = true,
+ zoneEmpty = false,
+ type = "nodata",
}) {
const router = useRouter();
return (
@@ -24,21 +26,23 @@ export default function InfiniteScrollContent({
className={`flex flex-col items-center mt-28`}
// style={{ height: `${scrollHeight}px` }}
>
-
-
-
router.push("/search")}
- className="text-base font-medium flex items-center justify-center bg-[#FFFFFF1A] mt-2 rounded-full w-[190px] h-[46px]"
- >
- 搜索空间
-
-
router.push("/found")}
- className="text-base font-medium flex items-center justify-center bg-[#FFFFFF1A] mt-2 rounded-full w-[190px] h-[46px]"
- >
- 查看推荐
-
-
+
+ {zoneEmpty && (
+
+
router.push("/search")}
+ className="text-base font-medium flex items-center justify-center bg-[#FFFFFF1A] mt-2 rounded-full w-[190px] h-[46px]"
+ >
+ 搜索空间
+
+
router.push("/found")}
+ className="text-base font-medium flex items-center justify-center bg-[#FFFFFF1A] mt-2 rounded-full w-[190px] h-[46px]"
+ >
+ 查看推荐
+
+
+ )}
)}
>