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( () { if (kDebugMode) { print('🏗️ 创建 KRMainController 实例'); } return KRMainController(); }, ); // 🔧 关键修复:使用 lazyPut 但设置为单例,避免重复创建 // fenix: true 允许控制器在被删除后重新创建 // 使用 lazyPut 让 HomeController 在真正需要时才创建,避免过早初始化导致资源冲突 Get.lazyPut( () { 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 完成'); } } }