目录树重构

This commit is contained in:
Developer
2026-04-11 02:02:23 +08:00
parent 8c41df955c
commit ecaad58693
274 changed files with 11893 additions and 32447 deletions

127
lib/src/app_binding.dart Normal file
View 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);
}
}