|
|
|
|
@ -1,12 +1,124 @@
|
|
|
|
|
import 'package:get/get.dart'; |
|
|
|
|
import 'package:problem_check_system/app/core/bindings/base_bindings.dart'; |
|
|
|
|
import 'package:problem_check_system/app/core/repositories/auth_repository.dart'; |
|
|
|
|
import 'package:problem_check_system/app/core/repositories/image_repository.dart'; |
|
|
|
|
import 'package:problem_check_system/app/core/repositories/image_repository_impl.dart'; |
|
|
|
|
import 'package:problem_check_system/app/core/services/database_service.dart'; |
|
|
|
|
import 'package:problem_check_system/app/core/services/http_provider.dart'; |
|
|
|
|
import 'package:problem_check_system/app/core/services/network_status_service.dart'; |
|
|
|
|
import 'package:problem_check_system/app/features/enterprise/data/datasources/enterprise_local_data_source.dart'; |
|
|
|
|
import 'package:problem_check_system/app/features/enterprise/data/datasources/enterprise_remote_data_source.dart'; |
|
|
|
|
import 'package:problem_check_system/app/features/enterprise/data/repositories_impl/enterprise_repository_impl.dart'; |
|
|
|
|
import 'package:problem_check_system/app/features/enterprise/domain/repositories/enterprise_repository.dart'; |
|
|
|
|
import 'package:problem_check_system/app/features/enterprise/domain/usecases/delete_enterprise_usecase.dart'; |
|
|
|
|
import 'package:problem_check_system/app/features/enterprise/domain/usecases/get_enterprise_list_usecase.dart'; |
|
|
|
|
import 'package:problem_check_system/app/features/enterprise/domain/usecases/get_enterprises_usecase.dart'; |
|
|
|
|
import 'package:problem_check_system/app/features/enterprise/domain/usecases/resolve_conflict_usecase.dart'; |
|
|
|
|
import 'package:problem_check_system/app/features/enterprise/domain/usecases/sync_enterprises_usecase.dart'; |
|
|
|
|
import 'package:problem_check_system/app/features/enterprise/presentation/controllers/enterprise_list_controller.dart'; |
|
|
|
|
import 'package:problem_check_system/app/features/my/controllers/my_controller.dart'; |
|
|
|
|
import 'package:problem_check_system/app/features/navigation/presentation/controllers/navigation_controller.dart'; |
|
|
|
|
import 'package:problem_check_system/app/features/problem/data/datasources/problem_local_data_source.dart'; |
|
|
|
|
import 'package:problem_check_system/app/features/problem/data/datasources/problem_remote_data_source.dart'; |
|
|
|
|
import 'package:problem_check_system/app/features/problem/data/repositories/problem_repository_impl.dart'; |
|
|
|
|
import 'package:problem_check_system/app/features/problem/domain/repositories/problem_repository.dart'; |
|
|
|
|
import 'package:problem_check_system/app/features/problem/domain/usecases/delete_problem_usecase.dart'; |
|
|
|
|
import 'package:problem_check_system/app/features/problem/domain/usecases/get_all_problems_usecase.dart'; |
|
|
|
|
import 'package:problem_check_system/app/features/problem/domain/usecases/resolve_conflict_usecase.dart'; |
|
|
|
|
import 'package:problem_check_system/app/features/problem/domain/usecases/sync_problems_usecase.dart'; |
|
|
|
|
import 'package:problem_check_system/app/features/problem/presentation/controllers/problem_list_controller.dart'; |
|
|
|
|
|
|
|
|
|
class NavigationBinding extends Bindings { |
|
|
|
|
class NavigationBinding extends BaseBindings { |
|
|
|
|
@override |
|
|
|
|
void dependencies() { |
|
|
|
|
/// 注册主页控制器 |
|
|
|
|
void register1Services() { |
|
|
|
|
// TODO: implement register1Services |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@override |
|
|
|
|
void register2DataSource() { |
|
|
|
|
Get.put<EnterpriseLocalDataSource>( |
|
|
|
|
EnterpriseLocalDataSourceImpl( |
|
|
|
|
databaseService: Get.find<DatabaseService>(), |
|
|
|
|
), |
|
|
|
|
); |
|
|
|
|
Get.put<EnterpriseRemoteDataSource>( |
|
|
|
|
EnterpriseRemoteDataSourceImpl(http: Get.find<HttpProvider>()), |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
Get.lazyPut<ProblemLocalDataSource>( |
|
|
|
|
() => ProblemLocalDataSourceImpl( |
|
|
|
|
databaseService: Get.find<DatabaseService>(), |
|
|
|
|
), |
|
|
|
|
); |
|
|
|
|
Get.lazyPut<ProblemRemoteDataSource>( |
|
|
|
|
() => ProblemRemoteDataSourceImpl(http: Get.find()), |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@override |
|
|
|
|
void register3Repositories() { |
|
|
|
|
Get.put<EnterpriseRepository>( |
|
|
|
|
EnterpriseRepositoryImpl( |
|
|
|
|
localDataSource: Get.find<EnterpriseLocalDataSource>(), |
|
|
|
|
remoteDataSource: Get.find<EnterpriseRemoteDataSource>(), |
|
|
|
|
networkStatusService: Get.find(), |
|
|
|
|
uuid: Get.find(), |
|
|
|
|
), |
|
|
|
|
); |
|
|
|
|
Get.lazyPut<ImageRepository>( |
|
|
|
|
() => ImageRepositoryImpl(httpProvider: Get.find()), |
|
|
|
|
); |
|
|
|
|
Get.lazyPut<ProblemRepository>( |
|
|
|
|
() => ProblemRepositoryImpl( |
|
|
|
|
localDataSource: Get.find(), |
|
|
|
|
remoteDataSource: Get.find(), |
|
|
|
|
networkStatusService: Get.find(), |
|
|
|
|
imageRepository: Get.find(), |
|
|
|
|
), |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@override |
|
|
|
|
void register4Usecases() { |
|
|
|
|
Get.put<SyncEnterprisesUsecase>( |
|
|
|
|
SyncEnterprisesUsecase(repository: Get.find<EnterpriseRepository>()), |
|
|
|
|
); |
|
|
|
|
Get.put<ResolveConflictUsecase>( |
|
|
|
|
ResolveConflictUsecase(repository: Get.find<EnterpriseRepository>()), |
|
|
|
|
); |
|
|
|
|
Get.put<GetEnterpriseListUsecase>( |
|
|
|
|
GetEnterpriseListUsecase(repository: Get.find<EnterpriseRepository>()), |
|
|
|
|
); |
|
|
|
|
Get.put<DeleteEnterpriseUsecase>( |
|
|
|
|
DeleteEnterpriseUsecase( |
|
|
|
|
enterpriseRepository: Get.find<EnterpriseRepository>(), |
|
|
|
|
problemRepository: Get.find(), |
|
|
|
|
authRepository: Get.find(), |
|
|
|
|
), |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
Get.lazyPut<GetEnterprisesUsecase>( |
|
|
|
|
() => GetEnterprisesUsecase(repository: Get.find()), |
|
|
|
|
); |
|
|
|
|
Get.lazyPut<GetAllProblemsUsecase>( |
|
|
|
|
() => GetAllProblemsUsecase(problemRepository: Get.find()), |
|
|
|
|
); |
|
|
|
|
Get.lazyPut<SyncProblemsUsecase>( |
|
|
|
|
() => SyncProblemsUsecase(repository: Get.find()), |
|
|
|
|
); |
|
|
|
|
Get.lazyPut<ProblemResolveConflictUsecase>( |
|
|
|
|
() => ProblemResolveConflictUsecase(repository: Get.find()), |
|
|
|
|
); |
|
|
|
|
Get.lazyPut<DeleteProblemUsecase>( |
|
|
|
|
() => DeleteProblemUsecase( |
|
|
|
|
problemRepository: Get.find(), |
|
|
|
|
authRepository: Get.find(), |
|
|
|
|
), |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@override |
|
|
|
|
void register5Controllers() { |
|
|
|
|
Get.lazyPut<NavigationController>( |
|
|
|
|
() => NavigationController( |
|
|
|
|
networkStatusService: Get.find<NetworkStatusService>(), |
|
|
|
|
@ -14,5 +126,27 @@ class NavigationBinding extends Bindings {
|
|
|
|
|
problemListController: Get.find(), |
|
|
|
|
), |
|
|
|
|
); |
|
|
|
|
Get.lazyPut<EnterpriseListController>( |
|
|
|
|
() => EnterpriseListController( |
|
|
|
|
getEnterpriseListUsecase: Get.find<GetEnterpriseListUsecase>(), |
|
|
|
|
syncEnterprisesUsecase: Get.find<SyncEnterprisesUsecase>(), |
|
|
|
|
resolveConflictUsecase: Get.find<ResolveConflictUsecase>(), |
|
|
|
|
deleteEnterpriseUsecase: Get.find<DeleteEnterpriseUsecase>(), |
|
|
|
|
), |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
Get.lazyPut<ProblemListController>( |
|
|
|
|
() => ProblemListController( |
|
|
|
|
getAllProblemsUsecase: Get.find(), |
|
|
|
|
syncProblemsUsecase: Get.find(), |
|
|
|
|
problemResolveConflictUsecase: Get.find(), |
|
|
|
|
getEnterprisesUsecase: Get.find(), |
|
|
|
|
deleteProblemUsecase: Get.find(), |
|
|
|
|
), |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
Get.lazyPut<MyController>( |
|
|
|
|
() => MyController(authRepository: Get.find<AuthRepository>()), |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|