import 'package:baseproject/core/common/custom_interceptor.dart'; import 'package:baseproject/core/components/alice.dart'; import 'package:baseproject/core/constants/index.dart'; import 'package:baseproject/features/presentation/app/view/app.dart'; import 'package:baseproject/features/repositories/hra_repository.dart'; import 'package:baseproject/features/usecases/order/order_use_cases.dart'; import 'package:dio/dio.dart'; import 'package:flutter/foundation.dart'; import 'package:get_it/get_it.dart'; import 'package:injectable/injectable.dart'; import 'injection.config.dart'; final GetIt getItSuper = GetIt.instance; @injectableInit void configureInjection() { // Khởi tạo các dependency được generate bởi injectable $initGetIt(getItSuper); // Khởi tạo Dio với CustomInterceptor + Alice final dio = Dio() ..interceptors.addAll( kDebugMode ? [ CustomInterceptor(), CustomAlice.setAndGetAlice(navigatorKey).getDioInterceptor(), ] : [ CustomInterceptor(), ], ) ..options = BaseOptions( baseUrl: kDebugMode ? ApiPath.hra : ApiPathRelease.hra, receiveTimeout: 10000, connectTimeout: 10000, sendTimeout: 10000, ); getItSuper.registerSingleton(dio); getItSuper.registerSingleton( HraRepository( dio, baseUrl: kDebugMode ? ApiPath.hra : ApiPathRelease.hra, ), ); }