diff --git a/src/views/MainPage.vue b/src/views/MainPage.vue index e998578..50d1584 100644 --- a/src/views/MainPage.vue +++ b/src/views/MainPage.vue @@ -271,6 +271,23 @@ export default { } }; + // 标记所有未读公告为已读的标志 + const isMarkingAsRead = ref(false); + + // 标记所有未读公告为已读 + const markAllAnnouncementsAsRead = async () => { + if (isMarkingAsRead.value) return; // 防止重复调用 + isMarkingAsRead.value = true; + + try { + for (const announcement of unreadAnnouncements.value) { + await markAnnouncementAsRead(announcement.id); + } + } finally { + isMarkingAsRead.value = false; + } + }; + // 关闭欢迎弹窗并标记所有未读公告为已读 const closeWelcomeDialog = async () => { await markAllAnnouncementsAsRead();