refactor(apps): 重构数据层目录结构并新增启动预热编排器

This commit is contained in:
zl-q
2026-03-29 20:26:30 +08:00
parent 33340de8f9
commit 4db9a13bfe
108 changed files with 1653 additions and 1320 deletions
@@ -1,4 +1,4 @@
import '../../../../data/repositories/models/schedule_item_model.dart';
import '../../../../features/calendar/data/models/schedule_item_model.dart';
import 'day_timeline_metrics.dart';
import 'day_view_scale.dart';
@@ -7,11 +7,11 @@ import '../../../../app/router/home_return_policy.dart';
import '../../../../app/di/injection.dart';
import '../../../../core/l10n/l10n.dart';
import '../../../../core/theme/design_tokens.dart';
import '../../../../data/repositories/calendar_repository.dart';
import '../../../../features/calendar/data/repositories/calendar_repository.dart';
import '../../../../shared/widgets/app_pressable.dart';
import '../../../../shared/widgets/bottom_dock.dart';
import '../../../../shared/state/calendar_state_manager.dart';
import '../../../../data/repositories/models/schedule_item_model.dart';
import '../../../../features/calendar/data/models/schedule_item_model.dart';
import '../calendar_time_utils.dart';
import '../utils/event_color_resolver.dart';
import '../dayweek/day_event_layout_engine.dart';
@@ -4,7 +4,6 @@ import 'package:go_router/go_router.dart';
import 'package:social_app/core/l10n/l10n.dart';
import '../../../../app/di/injection.dart';
import '../../../../app/router/app_routes.dart';
import '../../../../data/services/local_notification_service.dart';
import '../../../../core/theme/design_tokens.dart';
import '../../../../shared/widgets/app_loading_indicator.dart';
import '../../../../shared/widgets/back_title_page_header.dart';
@@ -12,8 +11,8 @@ import '../../../../shared/widgets/detail_header_action_menu.dart';
import '../../../../shared/widgets/destructive_action_sheet.dart';
import '../../../../shared/widgets/toast/toast.dart';
import '../../../../shared/widgets/toast/toast_type.dart';
import '../../../../data/services/calendar_service.dart';
import '../../../../data/repositories/models/schedule_item_model.dart';
import '../../../../features/calendar/data/services/calendar_service.dart';
import '../../../../features/calendar/data/models/schedule_item_model.dart';
import '../utils/event_color_resolver.dart';
enum _CalendarHeaderAction { edit, delete, share, archive }
@@ -505,9 +504,6 @@ class _CalendarEventDetailScreenState extends State<CalendarEventDetailScreen> {
return;
}
await sl<CalendarService>().deleteEvent(widget.eventId);
try {
await sl<LocalNotificationService>().cancelEventReminder(widget.eventId);
} catch (_) {}
if (!mounted) {
return;
}
@@ -4,8 +4,8 @@ import '../../../../app/di/injection.dart';
import '../../../../core/l10n/l10n.dart';
import '../../../../shared/widgets/app_loading_indicator.dart';
import '../widgets/create_event_sheet.dart';
import '../../../../data/repositories/models/schedule_item_model.dart';
import '../../../../data/services/calendar_service.dart';
import '../../../../features/calendar/data/models/schedule_item_model.dart';
import '../../../../features/calendar/data/services/calendar_service.dart';
class CalendarEventEditScreen extends StatefulWidget {
final String eventId;
@@ -4,8 +4,8 @@ import '../../../../app/di/injection.dart';
import '../../../../core/l10n/l10n.dart';
import '../../../../shared/widgets/app_loading_indicator.dart';
import '../../../../shared/widgets/back_title_page_header.dart';
import '../../../../data/repositories/models/schedule_item_model.dart';
import '../../../../data/services/calendar_service.dart';
import '../../../../features/calendar/data/models/schedule_item_model.dart';
import '../../../../features/calendar/data/services/calendar_service.dart';
import '../widgets/calendar_share_dialog.dart';
class CalendarEventShareScreen extends StatefulWidget {
@@ -6,14 +6,14 @@ import 'package:social_app/core/l10n/l10n.dart';
import '../../../../app/di/injection.dart';
import '../../../../app/router/app_routes.dart';
import '../../../../core/theme/design_tokens.dart';
import '../../../../data/repositories/calendar_repository.dart';
import '../../../../features/calendar/data/repositories/calendar_repository.dart';
import '../../../../shared/widgets/app_pressable.dart';
import '../../../../shared/widgets/bottom_dock.dart';
import '../../../../shared/state/calendar_state_manager.dart';
import '../../../../app/router/home_return_policy.dart';
import '../calendar_time_utils.dart';
import '../utils/event_color_resolver.dart';
import '../../../../data/repositories/models/schedule_item_model.dart';
import '../../../../features/calendar/data/models/schedule_item_model.dart';
class CalendarMonthScreen extends StatefulWidget {
final bool resetToToday;
@@ -1,6 +1,6 @@
import 'package:flutter/material.dart';
import '../../../../data/repositories/models/schedule_item_model.dart';
import '../../../../features/calendar/data/models/schedule_item_model.dart';
Color resolveEventColor({
required ScheduleStatus status,
@@ -6,7 +6,7 @@ import '../../../../core/theme/design_tokens.dart';
import '../../../../shared/widgets/app_button.dart';
import '../../../../shared/widgets/toast/toast.dart';
import '../../../../shared/widgets/toast/toast_type.dart';
import '../../data/calendar_api.dart';
import '../../data/apis/calendar_api.dart';
class CalendarShareDialog extends StatefulWidget {
final String eventId;
@@ -2,7 +2,6 @@ import 'package:flutter/material.dart';
import 'package:lucide_icons/lucide_icons.dart';
import 'package:social_app/core/l10n/l10n.dart';
import '../../../../app/di/injection.dart';
import '../../../../data/services/local_notification_service.dart';
import '../../../../core/theme/design_tokens.dart';
import '../../../../shared/widgets/app_loading_indicator.dart';
import '../../../../shared/widgets/app_selection_sheet.dart';
@@ -11,8 +10,8 @@ import '../../../../shared/widgets/back_title_page_header.dart';
import '../../../../shared/widgets/toast/toast.dart';
import '../../../../shared/widgets/toast/toast_type.dart';
import 'date_time_picker_sheet.dart';
import '../../../../data/repositories/models/schedule_item_model.dart';
import '../../../../data/services/calendar_service.dart';
import '../../../../features/calendar/data/models/schedule_item_model.dart';
import '../../../../features/calendar/data/services/calendar_service.dart';
final _defaultColors = AppColorPalette.light.eventPresetColors;
@@ -786,25 +785,11 @@ class _CreateEventSheetState extends State<CreateEventSheet>
try {
final service = sl<CalendarService>();
late final ScheduleItemModel saved;
if (_isEditing) {
saved = await service.updateEvent(event);
await service.updateEvent(event);
} else {
saved = await service.addEvent(event);
}
try {
final notificationService = sl<LocalNotificationService>();
await notificationService.upsertEventReminder(saved);
} catch (_) {
if (mounted) {
Toast.show(
context,
context.l10n.calendarCreateReminderPermissionFailed,
type: ToastType.warning,
);
}
await service.addEvent(event);
}
widget.onSaved?.call();