Files
AI-Health/health_app/lib/core/app_router.dart
MingNian ed716654b3 fix: 修复路由映射和入口连接
- profile 路由从 ProfileDetailPage 改为 ProfilePage
- profileEdit 路由改为 ProfileDetailPage
- 新增 devices 路由(DeviceManagementPage)
- 设置页隐私协议/关于按钮接线 staticText
- 设置页用药提醒跳转 medications
- 个人中心健康档案修正为 healthArchive,新增设备管理入口
2026-06-03 14:30:38 +08:00

72 lines
2.3 KiB
Dart

import 'package:flutter/material.dart';
import 'navigation_provider.dart';
import '../pages/auth/login_page.dart';
import '../pages/home/home_page.dart';
import '../pages/chart/trend_page.dart';
import '../pages/medication/medication_list_page.dart';
import '../pages/medication/medication_edit_page.dart';
import '../pages/report/report_pages.dart';
import '../pages/report/ai_analysis_page.dart';
import '../pages/consultation/consultation_pages.dart';
import '../pages/settings/settings_pages.dart';
import '../pages/settings/notification_prefs_page.dart';
import '../pages/profile/profile_page.dart';
import '../pages/profile/profile_detail_page.dart';
import '../pages/diet/diet_capture_page.dart';
import '../pages/remaining_pages.dart';
/// 根据路由信息返回对应页面
Widget buildPage(RouteInfo route) {
final params = route.params;
switch (route.name) {
case 'login':
return const LoginPage();
case 'home':
return const HomePage();
case 'trend':
return TrendPage(metricType: params['type'] ?? '');
case 'calendar':
return const HealthCalendarPage();
case 'medications':
return const MedicationListPage();
case 'medicationAdd':
return const MedicationEditPage();
case 'medicationEdit':
return const MedicationEditPage();
case 'reports':
return const ReportListPage();
case 'reportDetail':
return ReportDetailPage(id: params['id']!);
case 'aiAnalysis':
return const AiAnalysisPage();
case 'doctors':
return const DoctorListPage();
case 'consultation':
return DoctorChatPage(id: params['id']!);
case 'exercisePlan':
return const ExercisePlanPage();
case 'dietRecords':
return const DietRecordListPage();
case 'dietCapture':
return const DietCapturePage();
case 'profile':
return const ProfilePage();
case 'profileEdit':
return const ProfileDetailPage();
case 'devices':
return const DeviceManagementPage();
case 'healthArchive':
return const HealthArchivePage();
case 'followups':
return const FollowUpListPage();
case 'settings':
return const SettingsPage();
case 'notificationPrefs':
return const NotificationPrefsPage();
case 'staticText':
return StaticTextPage(type: params['type']!);
default:
return const LoginPage();
}
}