This commit is contained in:
lz_db
2026-10-25 20:30:33 +08:00
parent 1d9cd1f9c7
commit 074229f417
14 changed files with 222 additions and 19 deletions
@@ -59,6 +59,50 @@ void showGuestLimitDialog(BuildContext context) {
);
}
/// 游客免费额度用完后的全屏锁:盖住播放区并吞掉手势,
/// 用户点「再逛逛」关闭弹窗后依然无法继续观看(必须登录)
class GuestLockOverlay extends StatelessWidget {
const GuestLockOverlay({super.key});
@override
Widget build(BuildContext context) {
return Container(
color: Colors.black.withValues(alpha: 0.92),
child: Center(
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 32),
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
const Icon(Icons.lock_outline, size: 48, color: AppColors.gold),
const SizedBox(height: 16),
const Text(
'今日免费次数已用完',
style: TextStyle(
fontSize: 18,
fontWeight: FontWeight.w700,
color: Colors.white),
),
const SizedBox(height: 8),
const Text(
'注册或登录后继续观看,登录即可解锁全部视频',
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 13, color: AppColors.textSecondary, height: 1.6),
),
const SizedBox(height: 24),
ElevatedButton(
onPressed: () => context.go('/login'),
child: const Text('去登录/注册'),
),
],
),
),
),
);
}
}
/// 积分不足:引导充值 / 开通会员(2001)
void showPointsInsufficientDialog(BuildContext context, int points) {
showDialog<void>(