import 'package:get/get.dart'; import 'package:dio/dio.dart'; import 'package:get_storage/get_storage.dart'; import 'package:problem_check_system/modules/auth/controllers/auth_controller.dart'; import 'package:problem_check_system/data/providers/auth_provider.dart'; class AuthBinding implements Bindings { @override void dependencies() { // 1. 注入数据提供者 (AuthProvider),它依赖于 Dio // 依赖注入通过构造函数完成,使代码更易于测试 Get.lazyPut(() => AuthProvider(dio: Get.find())); // 2. 注入控制器 (AuthController),它依赖于 AuthProvider // 控制器通过 Get.find() 获取已注入的依赖 Get.lazyPut( () => AuthController( authProvider: Get.find(), storage: Get.find(), ), ); } }