From ec703ed4badcdb39ead3ea0d7f28940b787ef94b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E6=A2=93=E5=BD=AD?= Date: Tue, 22 Sep 2026 09:13:23 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E5=8F=B0=E5=8F=91=E8=B5=B7?= =?UTF-8?q?=E6=88=90=E7=BB=A9=E4=BF=AE=E6=AD=A3=E5=90=8E=E8=A3=81=E5=88=A4?= =?UTF-8?q?=E7=AB=AF=E5=90=8C=E6=AD=A5=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/modules/home/views/home_page.dart | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/modules/home/views/home_page.dart b/lib/modules/home/views/home_page.dart index 8134896..1bbebbd 100644 --- a/lib/modules/home/views/home_page.dart +++ b/lib/modules/home/views/home_page.dart @@ -284,7 +284,15 @@ class _HomePageState extends State { Future _loadUnreadMessages() async { try { final result = await _api.loadMessages(onlyUnread: true); - if (mounted) setState(() => _unreadMessages = result.data.length); + if (!mounted) return; + final previousCount = _unreadMessages; + final currentCount = result.data.length; + setState(() => _unreadMessages = currentCount); + if (!result.fromCache && + currentCount > previousCount && + _remoteTasks.isNotEmpty) { + await _loadTasks(); + } } on ApiException { // 消息轮询失败不影响评分主流程。 }