目录树重构
This commit is contained in:
127
lib/src/app_binding.dart
Normal file
127
lib/src/app_binding.dart
Normal file
@@ -0,0 +1,127 @@
|
||||
// 2026-04-09 | AppBinding | 全局Binding | Web端跳过permission注册
|
||||
// 2026-04-10 | 移除 CartController 注册(收藏功能统一使用 FavoritesController)
|
||||
// 2026-04-10 | 新增 ShoppingListController 全局注册(首页需要使用)
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:mom_kitchen/src/controllers/feed/action_controller.dart';
|
||||
import 'package:mom_kitchen/src/controllers/feed/hot_controller.dart';
|
||||
import 'package:mom_kitchen/src/controllers/favorites_controller.dart';
|
||||
import 'package:mom_kitchen/src/controllers/feed/feed_controller.dart';
|
||||
import 'package:mom_kitchen/src/controllers/home_controller.dart';
|
||||
import 'package:mom_kitchen/src/controllers/user/preference_controller.dart';
|
||||
import 'package:mom_kitchen/src/controllers/user/profile_controller.dart';
|
||||
import 'package:mom_kitchen/src/controllers/user/personalization_controller.dart';
|
||||
import 'package:mom_kitchen/src/controllers/main_navigation_controller.dart';
|
||||
import 'package:mom_kitchen/src/controllers/meal_record_controller.dart';
|
||||
import 'package:mom_kitchen/src/controllers/search_controller.dart';
|
||||
import 'package:mom_kitchen/src/controllers/shopping_list_controller.dart';
|
||||
import 'package:mom_kitchen/src/controllers/tools_controller.dart';
|
||||
import 'package:mom_kitchen/src/controllers/what_to_eat_controller.dart';
|
||||
import 'package:mom_kitchen/src/services/core/app_service.dart';
|
||||
import 'package:mom_kitchen/src/services/ui/theme_service.dart';
|
||||
|
||||
class AppBinding extends Bindings {
|
||||
@override
|
||||
void dependencies() {
|
||||
Get.lazyPut(() => AppService.instance.api, fenix: true);
|
||||
Get.lazyPut(() => AppService.instance.storage, fenix: true);
|
||||
if (!kIsWeb && AppService.instance.permission != null) {
|
||||
Get.lazyPut(() => AppService.instance.permission!, fenix: true);
|
||||
}
|
||||
Get.lazyPut(() => AppService.instance.logger, fenix: true);
|
||||
Get.lazyPut(() => AppService.instance.animation, fenix: true);
|
||||
Get.lazyPut(() => AppService.instance.screenUtil, fenix: true);
|
||||
Get.lazyPut(() => AppService.instance.appInfo, fenix: true);
|
||||
Get.lazyPut(() => AppService.instance.toast, fenix: true);
|
||||
|
||||
Get.put(ThemeService.instance, permanent: true);
|
||||
Get.put(PersonalizationController(), permanent: true);
|
||||
|
||||
Get.put(ActionController(), permanent: true);
|
||||
Get.put(FavoritesController(), permanent: true);
|
||||
Get.put(ShoppingListController(), permanent: true);
|
||||
Get.put(HomeController(), permanent: true);
|
||||
Get.put(FeedController(), permanent: true);
|
||||
Get.put(PreferenceController(), permanent: true);
|
||||
Get.put(ProfileController(), permanent: true);
|
||||
Get.put(MainNavigationController(), permanent: true);
|
||||
}
|
||||
}
|
||||
|
||||
class MainBinding extends Bindings {
|
||||
@override
|
||||
void dependencies() {
|
||||
Get.put(HotController());
|
||||
Get.put(WhatToEatController());
|
||||
Get.put(FavoritesController(), permanent: true);
|
||||
Get.put(ShoppingListController(), permanent: true);
|
||||
}
|
||||
}
|
||||
|
||||
class DiscoverBinding extends Bindings {
|
||||
@override
|
||||
void dependencies() {
|
||||
Get.lazyPut(() => HotController());
|
||||
}
|
||||
}
|
||||
|
||||
class HotBinding extends Bindings {
|
||||
@override
|
||||
void dependencies() {
|
||||
Get.lazyPut(() => HotController());
|
||||
}
|
||||
}
|
||||
|
||||
class WhatToEatBinding extends Bindings {
|
||||
@override
|
||||
void dependencies() {
|
||||
Get.lazyPut(() => WhatToEatController());
|
||||
}
|
||||
}
|
||||
|
||||
class SearchBinding extends Bindings {
|
||||
@override
|
||||
void dependencies() {
|
||||
Get.lazyPut(() => SearchController());
|
||||
}
|
||||
}
|
||||
|
||||
class NutritionBinding extends Bindings {
|
||||
@override
|
||||
void dependencies() {
|
||||
if (!Get.isRegistered<MealRecordController>()) {
|
||||
Get.put(MealRecordController(), permanent: true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class ShoppingBinding extends Bindings {
|
||||
@override
|
||||
void dependencies() {
|
||||
Get.lazyPut(() => ShoppingListController());
|
||||
}
|
||||
}
|
||||
|
||||
class FavoritesBinding extends Bindings {
|
||||
@override
|
||||
void dependencies() {
|
||||
Get.put(FavoritesController(), permanent: true);
|
||||
Get.put(ToolsController(), permanent: true);
|
||||
}
|
||||
}
|
||||
|
||||
class RecipeDetailBinding extends Bindings {
|
||||
@override
|
||||
void dependencies() {
|
||||
Get.put(FavoritesController(), permanent: true);
|
||||
Get.put(ActionController(), permanent: true);
|
||||
Get.put(ShoppingListController(), permanent: true);
|
||||
}
|
||||
}
|
||||
|
||||
class ToolsBinding extends Bindings {
|
||||
@override
|
||||
void dependencies() {
|
||||
Get.put(ToolsController(), permanent: true);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user