新增日志全局开关便于调试,优化部分机型可能出现的界面错乱或不显示等问题
(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 完成');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user