|
|
|
import 'package:get/get.dart';
|
|
|
|
import 'package:problem_check_system/data/providers/connectivity_provider.dart';
|
|
|
|
import 'package:problem_check_system/data/providers/local_database.dart';
|
|
|
|
import 'package:problem_check_system/data/repositories/auth_repository.dart';
|
|
|
|
import 'package:problem_check_system/data/repositories/my_repository.dart';
|
|
|
|
import 'package:problem_check_system/modules/auth/controllers/auth_controller.dart';
|
|
|
|
import 'package:problem_check_system/modules/home/controllers/home_controller.dart';
|
|
|
|
import 'package:problem_check_system/modules/my/controllers/my_controller.dart';
|
|
|
|
import 'package:problem_check_system/modules/problem/controllers/problem_controller.dart';
|
|
|
|
|
|
|
|
class HomeBinding implements Bindings {
|
|
|
|
@override
|
|
|
|
void dependencies() {
|
|
|
|
final LocalDatabase database = Get.find<LocalDatabase>();
|
|
|
|
final ConnectivityProvider connectivityProvider =
|
|
|
|
Get.find<ConnectivityProvider>();
|
|
|
|
// 惰性注入 HomeController,只在第一次被调用时创建
|
|
|
|
Get.lazyPut<HomeController>(() => HomeController());
|
|
|
|
Get.lazyPut<ProblemController>(
|
|
|
|
() => ProblemController(
|
|
|
|
localDatabase: database,
|
|
|
|
|
|
|
|
connectivityProvider: connectivityProvider,
|
|
|
|
dioProvider: Get.find(),
|
|
|
|
),
|
|
|
|
fenix: true,
|
|
|
|
);
|
|
|
|
Get.lazyPut<MyRepository>(() => MyRepository(dioProvider: Get.find()));
|
|
|
|
Get.lazyPut<MyController>(() => MyController(myRepository: Get.find()));
|
|
|
|
Get.lazyPut<AuthRepository>(
|
|
|
|
() => AuthRepository(
|
|
|
|
dioProvider: Get.find(),
|
|
|
|
storage: Get.find(),
|
|
|
|
connectivityProvider: connectivityProvider,
|
|
|
|
),
|
|
|
|
);
|
|
|
|
Get.lazyPut<AuthController>(
|
|
|
|
() => AuthController(authRepository: Get.find()),
|
|
|
|
fenix: true,
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|