fix(mining-app): 强制用 Future.delayed+hideCurrentSnackBar 关闭提示

Flutter SnackBar duration 在某些版本不可靠,改为手动延迟后强制关闭。

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
hailin 2026-03-10 21:15:22 -07:00
parent acc5c2be80
commit e4a2690130
1 changed files with 12 additions and 6 deletions

View File

@ -86,12 +86,13 @@ class _LoginPageState extends ConsumerState<LoginPage> {
},
);
} 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<LoginPage> {
),
),
);
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();
});
}
}
}