import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:kaer_with_panels/app/localization/app_translations.dart'; import 'dart:io'; import 'package:path_provider/path_provider.dart'; import 'package:kaer_with_panels/app/routes/app_pages.dart'; import 'package:kaer_with_panels/app/utils/kr_subscribe_navigation_util.dart'; import '../../../widgets/kr_app_text_style.dart'; /// 订阅卡片组件 class KRSubscriptionCard extends StatelessWidget { const KRSubscriptionCard({ super.key, }); @override Widget build(BuildContext context) { return _kr_buildSubscriptionCard(context); } // 构建订阅卡片 Widget _kr_buildSubscriptionCard(BuildContext context) { // 🔧 新增:订阅卡片渲染日志 print('🎴 [SubscriptionCard] 开始构建订阅卡片'); print('🎴 [SubscriptionCard] 卡片颜色: ${Theme.of(context).cardColor}'); print('🎴 [SubscriptionCard] 主题亮度: ${Theme.of(context).brightness}'); print('🎴 [SubscriptionCard] 文本颜色: ${Theme.of(context).textTheme.bodyMedium?.color}'); // 🔧 关键修复:完全移除 ScreenUtil,使用固定像素值避免缩放问题 return Container( // 添加固定高度,确保卡片可见 constraints: const BoxConstraints(minHeight: 200), padding: const EdgeInsets.all(16), decoration: BoxDecoration( color: Theme.of(context).cardColor, borderRadius: BorderRadius.circular(12), ), child: Column( mainAxisSize: MainAxisSize.min, children: [ // 图标 Container( width: 48, height: 48, decoration: BoxDecoration( color: Colors.blue.withOpacity(0.1), shape: BoxShape.circle, ), child: const Icon( Icons.language, color: Colors.blue, size: 28, ), ), const SizedBox(height: 16), // 描述文字 Padding( padding: const EdgeInsets.symmetric(horizontal: 16), child: Text( AppTranslations.kr_home.subscriptionDescription, textAlign: TextAlign.center, style: TextStyle( fontSize: 15, fontWeight: FontWeight.w400, height: 1.5, // 🔧 关键修复:确保文本颜色可见 color: Theme.of(context).brightness == Brightness.dark ? Colors.white : Colors.black87, ), ), ), const SizedBox(height: 20), // 订阅按钮 SizedBox( width: double.infinity, height: 46, child: ElevatedButton( onPressed: () { print('🎴 [SubscriptionCard] ========== 订阅按钮被点击 =========='); print('🎴 [SubscriptionCard] 当前时间: ${DateTime.now()}'); print('🎴 [SubscriptionCard] 准备调用导航方法...'); // 🔧 关键修复:文件写入改为非阻塞,不影响主流程 Future(() async { try { final dir = await getApplicationDocumentsDirectory(); final debugFile = File('${dir.path}/SUBSCRIBE_BUTTON_DEBUG.txt'); await debugFile.writeAsString( '=' * 60 + '\n' '🎴 订阅按钮被点击!\n' '时间: ${DateTime.now()}\n' '版本标识: Android15_Fix_v5\n' '=' * 60 + '\n', mode: FileMode.append, ); print('🎴 [SubscriptionCard] ✅ 按钮点击日志已写入文件: ${debugFile.path}'); } catch (e) { print('🎴 [SubscriptionCard] ❌ 写入按钮点击日志失败: $e'); } }); try { KRSubscribeNavigationUtil.navigateToPurchase(tag: 'SubscriptionCard'); print('🎴 [SubscriptionCard] 导航方法调用成功'); } catch (e, stackTrace) { print('🎴 [SubscriptionCard] ❌ 导航方法调用失败: $e'); print('🎴 [SubscriptionCard] StackTrace: $stackTrace'); } }, style: ElevatedButton.styleFrom( backgroundColor: Colors.blue, elevation: 0, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(8), ), ), child: Text( AppTranslations.kr_home.subscribe, style: const TextStyle( fontSize: 16, fontWeight: FontWeight.w500, color: Colors.white, ), ), ), ), ], ), ); } Widget _kr_buildListContainer( BuildContext context, { required Widget child, EdgeInsetsGeometry? margin, bool addBottomPadding = true, }) { return Container( margin: margin ?? EdgeInsets.symmetric(horizontal: 16), decoration: BoxDecoration( color: Theme.of(context).cardColor, borderRadius: BorderRadius.circular(12), ), child: IntrinsicWidth( child: child, ), ); } }