From e4a2690130332454d9fe814d5725195a68268d03 Mon Sep 17 00:00:00 2001 From: hailin Date: Tue, 10 Mar 2026 21:15:22 -0700 Subject: [PATCH] =?UTF-8?q?fix(mining-app):=20=E5=BC=BA=E5=88=B6=E7=94=A8?= =?UTF-8?q?=20Future.delayed+hideCurrentSnackBar=20=E5=85=B3=E9=97=AD?= =?UTF-8?q?=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flutter SnackBar duration 在某些版本不可靠,改为手动延迟后强制关闭。 Co-Authored-By: Claude Sonnet 4.6 --- .../presentation/pages/auth/login_page.dart | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/frontend/mining-app/lib/presentation/pages/auth/login_page.dart b/frontend/mining-app/lib/presentation/pages/auth/login_page.dart index 22131464..2a681885 100644 --- a/frontend/mining-app/lib/presentation/pages/auth/login_page.dart +++ b/frontend/mining-app/lib/presentation/pages/auth/login_page.dart @@ -86,12 +86,13 @@ class _LoginPageState extends ConsumerState { }, ); } else if (message.contains('还剩')) { - // 密码错误但还有机会 → SnackBar 提醒 + 找回密码入口 - ScaffoldMessenger.of(context).showSnackBar( + // 密码错误但还有机会 → SnackBar 提醒 + 找回密码入口(4秒后强制关闭) + final messenger = ScaffoldMessenger.of(context); + messenger.showSnackBar( SnackBar( content: Text(message), backgroundColor: Colors.orange.shade800, - duration: const Duration(seconds: 5), + duration: const Duration(seconds: 4), action: SnackBarAction( label: '找回密码', textColor: Colors.white, @@ -99,10 +100,15 @@ class _LoginPageState extends ConsumerState { ), ), ); + Future.delayed(const Duration(seconds: 4), () { + messenger.hideCurrentSnackBar(); + }); } else { - ScaffoldMessenger.of(context).showSnackBar( - SnackBar(content: Text(message)), - ); + final messenger = ScaffoldMessenger.of(context); + messenger.showSnackBar(SnackBar(content: Text(message))); + Future.delayed(const Duration(seconds: 3), () { + messenger.hideCurrentSnackBar(); + }); } } }