home_binding.dart 2.09 KB
import 'package:doublefeel_flutter/app/modules/home/controllers/my_controller.dart';
import 'package:doublefeel_flutter/core/network/api/friend_api.dart';
import 'package:doublefeel_flutter/core/network/api/health_api.dart';
import 'package:doublefeel_flutter/core/network/api/pay_api.dart';
import 'package:doublefeel_flutter/core/network/api/theme_api.dart';
import 'package:doublefeel_flutter/core/network/api/user_api.dart';
import 'package:doublefeel_flutter/core/network/api/vip_api.dart';
import 'package:doublefeel_flutter/core/services/raw_data_service/ios/health_raw_data_core_service.dart';
import 'package:doublefeel_flutter/core/services/user_state_service.dart';
import 'package:doublefeel_flutter/data/datasource/health/health_datasource_wrapper.dart';
import 'package:doublefeel_flutter/data/datasource/health/health_local_datasource.dart';
import 'package:doublefeel_flutter/data/datasource/health/health_remote_datasource.dart';
import 'package:get/get.dart';

import '../../friends/controllers/friends_controller.dart';
import '../controllers/home_controller.dart';
import '../controllers/today_controller.dart';
import '../controllers/trend/trend_controller.dart';

class HomeBinding extends Bindings {
  @override
  void dependencies() {
    Get.lazyPut<HomeController>(() => HomeController(), fenix: true);
    Get.lazyPut<TodayController>(
      () => TodayController(
        Get.find<PayApi>(),
        Get.find<VipApi>(),
        HealthDataSourceWrapper(
          remoteDataSource: RemoteHealthDataSource(Get.find<HealthApi>()),
          localDataSource: LocalHealthDataSource(
              coreService: Get.find<HealthRawDataCoreService>()),
        ),
        Get.find<FriendApi>(),
        Get.find<UserStateService>(),
      ),
      fenix: true,
    );
    Get.lazyPut<MyController>(
      () => MyController(
          Get.find<UserApi>(), Get.find<VipApi>(), Get.find<ThemeApi>()),
      fenix: true,
    );
    Get.lazyPut<TrendController>(
      () => TrendController(Get.find<FriendApi>()),
      fenix: true,
    );
    Get.lazyPut<FriendsController>(() => FriendsController(), fenix: true);
  }
}