51 lines
1.8 KiB
Dart
Executable File
51 lines
1.8 KiB
Dart
Executable File
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';
|
||
import 'package:kaer_with_panels/app/modules/kr_statistics/controllers/kr_statistics_controller.dart';
|
||
import 'package:kaer_with_panels/app/modules/kr_user_info/controllers/kr_user_info_controller.dart';
|
||
|
||
import '../controllers/kr_main_controller.dart';
|
||
|
||
class KRMainBinding extends Bindings {
|
||
@override
|
||
void dependencies() {
|
||
if (kDebugMode) {
|
||
print('🔧 KRMainBinding.dependencies 被调用');
|
||
}
|
||
|
||
// 🔧 MainController 仍然使用 lazyPut,因为它由 MainView 触发
|
||
Get.lazyPut<KRMainController>(
|
||
() {
|
||
if (kDebugMode) {
|
||
print('🏗️ 创建 KRMainController 实例');
|
||
}
|
||
return KRMainController();
|
||
},
|
||
);
|
||
|
||
// 🔧 关键修复:使用 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 完成');
|
||
}
|
||
}
|
||
}
|