- 新增 AppColors 统一配色方案(清爽紫蓝,参考蚂蚁阿福风格) - 新增 common_widgets(GradientBorderButton / CardActionButton / IconBox) - AgentWelcomeCard 美化:渐变 header + AI标签 + 核心功能区 + 快捷操作区 - DataConfirmCard 统一:三合一(健康/药品/运动),可编辑字段列表 - 删除死代码:medicationConfirm/dietAnalysis/reportAnalysis/quickOptions 卡片 - 删除死路由:doctors/profileEdit/editProfile - AI 对话去除 Markdown 符号(_stripMd),统一行间距 1.5 - 逐字淡入动画修复:key 改用 stableId 避免重复触发 - 健康概览时间修复:前端发送 UTC 避免时区歧义 - PG 数据目录迁入项目 backend/pgdata/,加入 .gitignore - 新增欧姆龙血压计实施方案文档
75 lines
2.6 KiB
Dart
75 lines
2.6 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_checkin_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/service_package_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']?.isNotEmpty == true ? params['type'] : null);
|
|
case 'calendar':
|
|
return const HealthCalendarPage();
|
|
case 'medications':
|
|
return const MedicationListPage();
|
|
case 'medCheckIn':
|
|
return MedicationCheckInPage(medId: params['id']);
|
|
case 'medicationEdit':
|
|
return const MedicationEditPage();
|
|
case 'reports':
|
|
return const ReportListPage();
|
|
case 'reportDetail':
|
|
return ReportDetailPage(id: params['id']!);
|
|
case 'aiAnalysis':
|
|
return AiAnalysisPage(id: params['id']!);
|
|
case 'consultation':
|
|
return DoctorChatPage(id: params['id']!);
|
|
case 'exercisePlan':
|
|
return const ExercisePlanPage();
|
|
case 'exerciseCreate':
|
|
return const ExercisePlanCreatePage();
|
|
case 'dietRecords':
|
|
return const DietRecordListPage();
|
|
case 'dietCapture':
|
|
return const DietCapturePage();
|
|
case 'profile':
|
|
return const ProfilePage();
|
|
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']!);
|
|
case 'servicePackageDetail':
|
|
return ServicePackageDetailPage(packageId: params['id']!);
|
|
case 'dietDetail':
|
|
return DietRecordDetailPage(id: params['id']!);
|
|
default:
|
|
return const LoginPage();
|
|
}
|
|
}
|