新增日志全局开关便于调试,优化部分机型可能出现的界面错乱或不显示等问题

(cherry picked from commit 5853ba7fe4e0cbe4f04b20c86e9fd84c5557139f)
This commit is contained in:
2025-11-02 00:31:31 -07:00
committed by speakeloudest
parent cf297caf09
commit 17b3f6b92d
9 changed files with 139 additions and 34 deletions
@@ -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 完成');
}
}
}