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), ), ); },