From 9f88b8050171dff2325b69a9da149638f665cd97 Mon Sep 17 00:00:00 2001 From: ivan Date: Sun, 29 Mar 2026 21:06:27 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=9A=E7=A7=AF=E5=88=86?= =?UTF-8?q?=E4=B8=8D=E5=A4=9F=E7=9A=84=E6=97=B6=E5=80=99=E8=B7=B3=E8=BD=AC?= =?UTF-8?q?=E5=88=B0=E5=85=85=E5=80=BC=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/features/home/home_screen.dart | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/lib/features/home/home_screen.dart b/lib/features/home/home_screen.dart index 1076867..4abcdbd 100644 --- a/lib/features/home/home_screen.dart +++ b/lib/features/home/home_screen.dart @@ -294,6 +294,17 @@ class _HomeScreenState extends State { static const _placeholderImage = 'https://images.unsplash.com/photo-1763929272543-0df093e4f659?w=400'; + /// 与 [GenerateVideoScreen] 默认 480P 消耗一致;不足则去充值,够才进生图页 + void _openGeneratePage(TaskItem task) { + final requiredCredits = task.credits480p ?? 50; + final balance = UserState.credits.value ?? 0; + if (balance < requiredCredits) { + Navigator.of(context).pushNamed('/recharge'); + return; + } + Navigator.of(context).pushNamed('/generate', arguments: task); + } + @override Widget build(BuildContext context) { return Scaffold( @@ -376,10 +387,7 @@ class _HomeScreenState extends State { onStopRequested: () => setState(() => _userPausedVideoIndices.add(index)), onGenerateSimilar: () => - Navigator.of(context).pushNamed( - '/generate', - arguments: task, - ), + _openGeneratePage(task), ), ); },