From fa328f893d2ddc9317a0506591df71f9bba2a31c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=88=90?= Date: Mon, 5 Jan 2026 18:34:05 +0800 Subject: [PATCH] 1 --- .../components/MessagePageContent.tsx | 10 +++++++-- src/other_pages/comment_reply/index.tsx | 21 ++++++++++++------- src/other_pages/new_follow/index.tsx | 21 ++++++++++++------- 3 files changed, 36 insertions(+), 16 deletions(-) diff --git a/src/main_pages/components/MessagePageContent.tsx b/src/main_pages/components/MessagePageContent.tsx index 8f79305..0f77599 100644 --- a/src/main_pages/components/MessagePageContent.tsx +++ b/src/main_pages/components/MessagePageContent.tsx @@ -64,11 +64,17 @@ const MessagePageContent: React.FC = ({ isActive = true } }; - // 只有当页面激活且未加载过数据时才加载接口 + // 当切换到消息 tab 时,调用红点信息接口 + useEffect(() => { + if (isActive) { + fetchReddotInfo(); + } + }, [isActive]); + + // 只有当页面激活且未加载过数据时才加载通知列表 useEffect(() => { if (isActive && !hasLoaded) { getNoticeList(); - fetchReddotInfo(); setHasLoaded(true); } }, [isActive, hasLoaded]); diff --git a/src/other_pages/comment_reply/index.tsx b/src/other_pages/comment_reply/index.tsx index 75c29a9..6a94d53 100644 --- a/src/other_pages/comment_reply/index.tsx +++ b/src/other_pages/comment_reply/index.tsx @@ -71,14 +71,12 @@ const CommentReply = () => { setCommentList(mappedList); - // 获取未读评论ID并标记已读 - const unreadIds = res.data.rows - .filter((item: any) => item.is_read === 0) - .map((item: any) => item.id); + // 获取所有评论ID列表并标记已读(传入所有ID,包括已读和未读) + const allCommentIds = res.data.rows.map((item: any) => item.id); - if (unreadIds.length > 0) { - // 使用统一接口标记已读 - messageService.markAsRead('comment', unreadIds).catch(e => { + if (allCommentIds.length > 0) { + // 使用统一接口标记已读,传入所有评论ID + messageService.markAsRead('comment', allCommentIds).catch(e => { console.error("标记评论已读失败:", e); }); } @@ -217,6 +215,15 @@ const CommentReply = () => { })); setCommentList(mappedList); + + // 获取所有评论ID列表并标记已读(传入所有ID) + const allCommentIds = res.data.rows.map((item: any) => item.id); + + if (allCommentIds.length > 0) { + messageService.markAsRead('comment', allCommentIds).catch(e => { + console.error("标记评论已读失败:", e); + }); + } } } catch (e) { Taro.showToast({ diff --git a/src/other_pages/new_follow/index.tsx b/src/other_pages/new_follow/index.tsx index cfddbfb..61eec71 100644 --- a/src/other_pages/new_follow/index.tsx +++ b/src/other_pages/new_follow/index.tsx @@ -56,14 +56,12 @@ const NewFollow = () => { setFollowList(mappedList); - // 获取未读关注ID并标记已读 - const unreadFanIds = res.list - .filter((item: any) => item.is_read === 0) - .map((item: any) => item.id); + // 获取所有关注者ID列表并标记已读(传入所有ID,包括已读和未读) + const allFanIds = res.list.map((item: any) => item.id); - if (unreadFanIds.length > 0) { - // 使用统一接口标记已读 - messageService.markAsRead('follow', unreadFanIds).catch(e => { + if (allFanIds.length > 0) { + // 使用统一接口标记已读,传入所有关注者ID + messageService.markAsRead('follow', allFanIds).catch(e => { console.error("标记关注已读失败:", e); }); } @@ -164,6 +162,15 @@ const NewFollow = () => { })); setFollowList(mappedList); + + // 获取所有关注者ID列表并标记已读(传入所有ID) + const allFanIds = res.list.map((item: any) => item.id); + + if (allFanIds.length > 0) { + messageService.markAsRead('follow', allFanIds).catch(e => { + console.error("标记关注已读失败:", e); + }); + } } else { // 如果没有数据,设置为空数组以显示空状态 setFollowList([]);