- 新增 AppColors 配色体系(紫蓝渐变 + 超大圆角 + 漂浮卡片) - 新增 OmronBleService(BLE 扫描/连接/SFLOAT 协议解析) - 新增 BpReading 数据模型 + 血压数据自动同步后端 - 新增 DeviceScanPage(血压计扫描绑定页)+ DeviceBindPage(已绑定管理页) - 侧边栏新增"蓝牙设备"入口,ProfilePage 移除设备管理 - Android/iOS BLE 权限配置(BLUETOOTH_SCAN/CONNECT) - AppTheme 升级:新阴影系统、新语义色、圆角放大
78 lines
2.7 KiB
Dart
78 lines
2.7 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/device/device_scan_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 'deviceScan':
|
|
return const DeviceScanPage();
|
|
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();
|
|
}
|
|
}
|