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 { // 消息轮询失败不影响评分主流程。 }