优化部分安卓机型可能存在连接超时等问题新增日志排查

(cherry picked from commit e0fcc27f28f27321a49115df86507e3ac55e8ef8)
This commit is contained in:
2025-11-02 01:32:51 -08:00
committed by speakeloudest
parent b8d0417d0f
commit dee7f0a591
11 changed files with 416 additions and 43 deletions
@@ -1,6 +1,5 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import '../../../localization/app_translations.dart';
import '../../../widgets/kr_app_text_style.dart';
import '../../../widgets/kr_loading_animation.dart';
@@ -13,6 +12,8 @@ import '../widgets/kr_subscription_card.dart';
import 'kr_home_trial_card.dart';
import 'kr_home_last_day_card.dart';
import '../../../utils/kr_log_util.dart';
import 'dart:io';
import 'package:path_provider/path_provider.dart';
class KRHomeBottomPanel extends GetView<KRHomeController> {
const KRHomeBottomPanel({super.key});
@@ -107,6 +108,26 @@ class KRHomeBottomPanel extends GetView<KRHomeController> {
// 未订阅(包括未登录):始终显示订阅卡片
Builder(builder: (context) {
KRLogUtil.kr_i('🔹 渲染订阅卡片,margin: top=${12}, left=${12}, right=${12}', tag: 'HomeBottomPanel');
// 🔧 紧急诊断:异步写文件确认订阅卡片被渲染(不阻塞UI)
Future.microtask(() async {
try {
final dir = await getApplicationDocumentsDirectory();
final debugFile = File('${dir.path}/SUBSCRIPTION_CARD_RENDER_DEBUG.txt');
await debugFile.writeAsString(
'=' * 60 + '\n'
'🔹 订阅卡片正在渲染!\n'
'时间: ${DateTime.now()}\n'
'版本标识: Android15_Fix_v5\n'
'=' * 60 + '\n',
mode: FileMode.append,
);
print('🔹 [BottomPanel] ✅ 订阅卡片渲染日志已写入文件: ${debugFile.path}');
} catch (e) {
print('🔹 [BottomPanel] ❌ 写入订阅卡片渲染日志失败: $e');
}
});
return Container(
margin: EdgeInsets.only(top: 12, left: 12, right: 12),
child: const KRSubscriptionCard(),
@@ -160,7 +181,7 @@ class KRHomeBottomPanel extends GetView<KRHomeController> {
padding: EdgeInsets.all(16),
decoration: BoxDecoration(
color: Get.context!.theme.cardColor,
borderRadius: BorderRadius.circular(12.r),
borderRadius: BorderRadius.circular(12),
boxShadow: [
BoxShadow(
color: Colors.black.withOpacity(0.1),
@@ -180,7 +201,7 @@ class KRHomeBottomPanel extends GetView<KRHomeController> {
Text(
'正在加载...',
style: TextStyle(
fontSize: 14.sp,
fontSize: 14,
color: Get.context!.theme.textTheme.bodyMedium?.color,
),
),
@@ -233,7 +254,7 @@ class KRHomeBottomPanel extends GetView<KRHomeController> {
foregroundColor: Theme.of(context).colorScheme.onPrimary,
elevation: 0,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(8.r),
borderRadius: BorderRadius.circular(8),
),
),
child: Text(
@@ -1,7 +1,6 @@
import 'package:flutter/material.dart';
import 'package:flutter/cupertino.dart';
import 'package:get/get.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import '../../../widgets/kr_simple_loading.dart';
import 'package:kaer_with_panels/app/widgets/kr_country_flag.dart';
import 'package:kaer_with_panels/app/widgets/kr_app_text_style.dart';
@@ -1,6 +1,5 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:kaer_with_panels/app/localization/app_translations.dart';
import 'package:kaer_with_panels/app/widgets/kr_app_text_style.dart';
import 'package:kaer_with_panels/app/widgets/kr_local_image.dart';
@@ -1,7 +1,8 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:flutter_screenutil/flutter_screenutil.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';
@@ -29,7 +30,6 @@ class KRSubscriptionCard extends StatelessWidget {
print('🎴 [SubscriptionCard] 卡片颜色: ${Theme.of(context).cardColor}');
print('🎴 [SubscriptionCard] 主题亮度: ${Theme.of(context).brightness}');
print('🎴 [SubscriptionCard] 文本颜色: ${Theme.of(context).textTheme.bodyMedium?.color}');
print('🎴 [SubscriptionCard] ScreenUtil 测试 - 12.w=${12.w}, 16.h=${16.h}, 44.w=${44.w}');
// 🔧 关键修复:完全移除 ScreenUtil,使用固定像素值避免缩放问题
return Container(
@@ -82,8 +82,36 @@ class KRSubscriptionCard extends StatelessWidget {
height: 46,
child: ElevatedButton(
onPressed: () {
print('🎴 [SubscriptionCard] 订阅按钮被点击');
KRSubscribeNavigationUtil.navigateToPurchase(tag: 'SubscriptionCard');
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,
@@ -114,10 +142,10 @@ class KRSubscriptionCard extends StatelessWidget {
bool addBottomPadding = true,
}) {
return Container(
margin: margin ?? EdgeInsets.symmetric(horizontal: 16.w),
margin: margin ?? EdgeInsets.symmetric(horizontal: 16),
decoration: BoxDecoration(
color: Theme.of(context).cardColor,
borderRadius: BorderRadius.circular(12.w),
borderRadius: BorderRadius.circular(12),
),
child: IntrinsicWidth(
child: child,