新增日志全局开关便于调试,优化部分机型可能出现的界面错乱或不显示等问题
(cherry picked from commit 5853ba7fe4e0cbe4f04b20c86e9fd84c5557139f)
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import 'package:get/get.dart';
|
||||
import 'package:flutter/foundation.dart' show kDebugMode;
|
||||
import 'package:kaer_with_panels/app/modules/kr_home/controllers/kr_home_controller.dart';
|
||||
import 'package:kaer_with_panels/app/modules/kr_invite/controllers/kr_invite_controller.dart';
|
||||
import 'package:kaer_with_panels/app/modules/kr_login/controllers/kr_login_controller.dart';
|
||||
@@ -10,15 +11,40 @@ import '../controllers/kr_main_controller.dart';
|
||||
class KRMainBinding extends Bindings {
|
||||
@override
|
||||
void dependencies() {
|
||||
if (kDebugMode) {
|
||||
print('🔧 KRMainBinding.dependencies 被调用');
|
||||
}
|
||||
|
||||
// 🔧 MainController 仍然使用 lazyPut,因为它由 MainView 触发
|
||||
Get.lazyPut<KRMainController>(
|
||||
() => KRMainController(),
|
||||
() {
|
||||
if (kDebugMode) {
|
||||
print('🏗️ 创建 KRMainController 实例');
|
||||
}
|
||||
return KRMainController();
|
||||
},
|
||||
);
|
||||
|
||||
Get.lazyPut(() => KRHomeController());
|
||||
Get.lazyPut(() => KRLoginController());
|
||||
// 🔧 关键修复:使用 lazyPut 但设置为单例,避免重复创建
|
||||
// fenix: true 允许控制器在被删除后重新创建
|
||||
// 使用 lazyPut 让 HomeController 在真正需要时才创建,避免过早初始化导致资源冲突
|
||||
Get.lazyPut<KRHomeController>(
|
||||
() {
|
||||
if (kDebugMode) {
|
||||
print('🏗️ 创建 KRHomeController 实例(仅此一次)');
|
||||
}
|
||||
return KRHomeController();
|
||||
},
|
||||
fenix: true,
|
||||
);
|
||||
|
||||
Get.lazyPut(() => KRLoginController());
|
||||
Get.lazyPut(() => KRInviteController());
|
||||
Get.lazyPut(() => KRUserInfoController());
|
||||
Get.lazyPut(() => KRStatisticsController());
|
||||
|
||||
if (kDebugMode) {
|
||||
print('✅ KRMainBinding.dependencies 完成');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import 'package:flutter/widgets.dart';
|
||||
import 'package:flutter/foundation.dart' show kDebugMode;
|
||||
import 'package:get/get.dart';
|
||||
import 'package:kaer_with_panels/app/modules/kr_home/views/kr_home_view.dart';
|
||||
import 'package:kaer_with_panels/app/modules/kr_invite/views/kr_invite_view.dart';
|
||||
@@ -30,19 +31,33 @@ class KRMainController extends GetxController {
|
||||
static KRMainController get to => Get.find();
|
||||
DateTime? lastPopTime;
|
||||
var kr_currentIndex = 0.obs;
|
||||
final List<Widget> widgets = [
|
||||
KRKeepAliveWrapper(KRHomeView()),
|
||||
KRKeepAliveWrapper(KRInviteView()),
|
||||
KRKeepAliveWrapper(KRStatisticsView()),
|
||||
KRKeepAliveWrapper(KRUserInfoView()),
|
||||
];
|
||||
|
||||
late final List<Widget> widgets;
|
||||
|
||||
/// 分页控制器
|
||||
PageController pageController = PageController(keepPage: true);
|
||||
|
||||
@override
|
||||
void onInit() {
|
||||
super.onInit();
|
||||
|
||||
// 🔧 诊断:在 onInit 中创建 widgets 列表
|
||||
if (kDebugMode) {
|
||||
print('🎬 KRMainController.onInit 被调用');
|
||||
print('📝 开始创建 widgets 列表...');
|
||||
}
|
||||
|
||||
widgets = [
|
||||
KRKeepAliveWrapper(KRHomeView()),
|
||||
KRKeepAliveWrapper(KRInviteView()),
|
||||
KRKeepAliveWrapper(KRStatisticsView()),
|
||||
KRKeepAliveWrapper(KRUserInfoView()),
|
||||
];
|
||||
|
||||
if (kDebugMode) {
|
||||
print('✅ widgets 列表创建完成,包含 ${widgets.length} 个页面');
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user