|
|
|
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>(GetStorage(), permanent: true);
|
|
|
|
Get.put<HttpProvider>(HttpProvider());
|
|
|
|
Get.put<SQLiteProvider>(SQLiteProvider());
|
|
|
|
Get.put<ConnectivityProvider>(ConnectivityProvider());
|
|
|
|
}
|
|
|
|
|
|
|
|
void _registerRepositories() {
|
|
|
|
Get.lazyPut<FileRepository>(() => FileRepository());
|
|
|
|
|
|
|
|
/// 懒加载注册所有的仓库
|
|
|
|
Get.lazyPut<AuthRepository>(
|
|
|
|
() => AuthRepository(
|
|
|
|
httpProvider: Get.find<HttpProvider>(),
|
|
|
|
storage: Get.find<GetStorage>(),
|
|
|
|
connectivityProvider: Get.find<ConnectivityProvider>(),
|
|
|
|
),
|
|
|
|
);
|
|
|
|
Get.lazyPut<ProblemRepository>(
|
|
|
|
() => ProblemRepository(
|
|
|
|
sqliteProvider: Get.find<SQLiteProvider>(),
|
|
|
|
httpProvider: Get.find<HttpProvider>(),
|
|
|
|
connectivityProvider: Get.find<ConnectivityProvider>(),
|
|
|
|
),
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|