import 'package:get/get.dart'; import 'package:get_storage/get_storage.dart'; import 'package:problem_check_system/data/providers/connectivity_provider.dart'; import 'package:problem_check_system/data/providers/http_provider.dart'; import 'package:problem_check_system/data/providers/sqlite_provider.dart'; import 'package:problem_check_system/data/repositories/auth_repository.dart'; import 'package:problem_check_system/data/repositories/file_repository.dart'; import 'package:problem_check_system/data/repositories/problem_repository.dart'; class InitialBinding implements Bindings { @override void dependencies() { _registerCoreServices(); _registerRepositories(); } void _registerCoreServices() { /// 立即注册所有的适配器 Get.put(GetStorage(), permanent: true); Get.put(HttpProvider()); Get.put(SQLiteProvider()); Get.put(ConnectivityProvider()); } void _registerRepositories() { Get.lazyPut(() => FileRepository()); /// 懒加载注册所有的仓库 Get.lazyPut( () => AuthRepository( httpProvider: Get.find(), storage: Get.find(), connectivityProvider: Get.find(), ), ); Get.lazyPut( () => ProblemRepository( sqliteProvider: Get.find(), httpProvider: Get.find(), connectivityProvider: Get.find(), ), ); } }