import 'package:get/get.dart'; import 'package:get_storage/get_storage.dart'; import 'package:problem_check_system/app/core/data/services/network_status_service.dart'; import 'package:problem_check_system/app/core/data/services/http_provider.dart'; import 'package:problem_check_system/app/core/data/services/sqlite_service.dart'; import 'package:problem_check_system/app/core/data/repositories/auth_repository.dart'; import 'package:problem_check_system/app/core/data/repositories/file_repository.dart'; import 'package:problem_check_system/app/core/data/repositories/image_repository.dart'; import 'package:problem_check_system/app/core/data/repositories/image_repository_impl.dart'; import 'package:problem_check_system/app/core/data/repositories/problem_repository.dart'; import 'package:problem_check_system/app/core/data/services/upgrader_service.dart'; import 'package:uuid/uuid.dart'; class InitialBinding implements Bindings { @override void dependencies() { _registerCoreServices(); _registerRepositories(); } void _registerCoreServices() { /// 立即注册所有的适配器 Get.put(GetStorage(), permanent: true); Get.put(Uuid(), permanent: true); Get.put(HttpProvider()); Get.put(SQLiteService()); Get.put(NetworkStatusService()); Get.put(UpgraderService()); } void _registerRepositories() { Get.lazyPut(() => FileRepository()); Get.lazyPut( () => ImageRepositoryImpl(httpProvider: Get.find()), ); /// 懒加载注册所有的仓库 Get.lazyPut( () => AuthRepository( httpProvider: Get.find(), storage: Get.find(), networkStatusService: Get.find(), ), ); Get.lazyPut( () => ProblemRepository( sqliteService: Get.find(), httpProvider: Get.find(), networkStatusService: Get.find(), authRepository: Get.find(), ), ); } }