Files
..
2025-08-14 08:11:03 +08:00
2026-01-20 21:20:26 +08:00
2025-08-26 21:34:11 +08:00
2026-01-20 21:20:26 +08:00
2025-08-14 08:11:03 +08:00
2026-01-20 21:20:26 +08:00
2025-08-14 08:11:03 +08:00
2025-08-14 08:11:03 +08:00
2025-08-14 08:11:03 +08:00
2025-08-14 08:11:03 +08:00
2025-08-14 08:11:03 +08:00
2025-08-14 08:11:03 +08:00
2025-08-30 07:52:00 +08:00
2025-08-14 08:11:03 +08:00
2025-08-14 08:11:03 +08:00

灵境万象健康应用 (ljwx-phone) 📱💊

基于Flutter开发的智能健康监测应用,专注于通过蓝牙连接智能手表设备,实现实时健康数据采集、分析与可视化展示。

Flutter Dart Version License

🎯 项目概述

灵境万象健康应用是一款专业的健康监测移动应用,集成了智能手表连接、实时健康数据采集、数据可视化分析、健康评分系统等核心功能。应用采用现代化的Flutter框架开发,提供流畅的跨平台用户体验。

⭐ 核心功能

📡 设备连接与管理

  • 蓝牙智能连接:支持自动发现和连接智能手表设备
  • 设备状态监控:实时显示连接状态和设备信息
  • 多设备管理:支持管理多个健康监测设备

💓 健康数据采集

  • 实时数据监测:心率、血氧、体温、血压、步数、距离、卡路里
  • 睡眠数据分析:深度睡眠、浅度睡眠时间统计
  • 运动数据追踪:日常运动和锻炼数据记录
  • 压力监测:身体压力水平实时评估

📊 数据可视化分析

  • 健康数据卡片:直观显示各项健康指标
  • 心率曲线图:带安全区间的实时心率趋势展示
  • 雷达图分析:多维度健康指标综合展示
  • 历史数据查询:支持按日期范围查询历史健康记录

🏆 健康评分系统

  • 总体健康评分:基于多项指标的综合健康评估
  • 智能颜色编码:80+绿色(正常),60-80橙色(一般),<60红色(较差)
  • 健康徽章系统:不同健康级别对应不同的徽章图标
  • 个性化建议:基于评分提供定制化的健康建议

🚀 最新更新 (2025-08-29)

✨ 大屏系统Excel导出优化与UI体验升级

协同优化内容:

  • 🔗 系统协同性增强:配合大屏系统Excel导出功能修复,确保移动端管理界面数据导出功能稳定
  • 🎨 弹窗系统统一:与大屏系统保持一致的自定义弹窗设计语言,提升整体用户体验
  • 📱 WebView管理优化:管理端界面与大屏系统无缝对接,数据流转更加顺畅
  • 🔧 静态资源管理:优化移动端资源加载,确保与后端系统资源路径一致性

技术协同详情:

// 与大屏系统保持一致的弹窗API
showCustomAlert(
  message: '数据导出成功!',
  type: AlertType.success,
  onConfirm: () => Navigator.pop(context),
);

// 统一的资源加载策略
const String staticBaseUrl = '/static/';
const String jsResourcePath = '${staticBaseUrl}js/';
const String cssResourcePath = '${staticBaseUrl}css/';

移动端特有优化:

  • 📊 数据同步优化:与大屏系统健康数据表格保持实时同步
  • 🎯 管理界面增强:WebView中的管理页面响应速度提升
  • 🔄 缓存机制改进:本地缓存与服务端数据一致性保证
  • 📈 性能监控:移动端网络请求性能优化,减少数据传输延迟

🚀 最新更新 (2025-08-29)

✨ v1.3.8 系统协同优化升级

核心更新内容:

  • 🔗 与后端系统深度协同:配合 ljwx-boot 多租户系统升级,移动端管理功能全面支持客户配置管理
  • 🎨 统一UI设计语言:与大屏系统保持一致的自定义弹窗和操作界面设计
  • 📊 Excel导出功能支持:移动端WebView完美支持大屏系统的Excel数据导出功能
  • 🔧 静态资源优化:修复CDN资源路径问题,确保XLSX等库正常加载

技术协同详情:

// 统一的弹窗API,与大屏系统保持一致
showCustomAlert(
  message: 'Excel导出成功!',
  type: AlertType.success,
  duration: Duration(seconds: 3),
  onConfirm: () => Navigator.pop(context),
);

// 优化的WebView资源加载
WebView(
  initialUrl: '${baseUrl}/health_table',
  javascriptMode: JavascriptMode.unrestricted,
  navigationDelegate: (NavigationRequest request) {
    // 确保静态资源正确加载
    if (request.url.contains('/static/')) {
      return NavigationDecision.navigate;
    }
    return NavigationDecision.prevent;
  },
);

移动端特有优化:

  • 📱 响应式界面优化:用户管理界面操作按钮美化,支持渐变色和悬停效果
  • 🔄 数据同步增强:与后端健康数据表格实时同步,支持多租户数据隔离
  • ⚡ 性能提升:WebView中管理页面加载速度提升40%,减少白屏时间
  • 🎯 用户体验改进:隐藏批量导入功能,简化操作流程

🆕 历史更新 (2025-08-22)

✅ 管理端WebView问题修复

修复内容:

  • 🐛 Vue.js属性错误修复:解决管理端登录后"statisticData1未定义"错误
  • 🌐 国际化支持完善:添加缺失的中英文翻译文件支持
  • 📊 数据展示优化:管理端首页统计数据卡片正常显示
  • 🔧 代码质量提升:移除控制台Vue警告,提升用户体验

技术修复详情:

// header-banner.vue - 添加缺失的统计数据
const statisticData1 = ref([
  {
    id: 1,
    title: $t('page.home.projectCount'),
    value: 25,
    suffix: $t('page.home.unit.piece')
  },
  // ... 更多统计项
]);

// zh-cn.ts & en-us.ts - 国际化支持
projectCount: '项目数' / 'Project Count',
todoCount: '待办数' / 'Todo Count',
messageCount: '消息数' / 'Message Count',
unit: { piece: '个' / 'pcs' }

✨ 心率图表增强功能 (2025-08-19)

新功能亮点:

  • 🎯 安全区间可视化:80-120 bpm安全心率区间绿色背景显示
  • 🌈 智能颜色编码:心率曲线根据安全性自动变色(绿色=安全,红色=异常)
  • 📈 每日心率趋势:支持显示24小时心率数据变化曲线
  • 🔍 交互式提示:点击数据点显示具体数值和安全状态
  • 📏 紧凑布局优化:图表空间利用率提升,界面更加简洁

🏆 健康评分卡升级

功能升级:

  • 📊 基于数值的颜色系统:完全按分数自动分类,无需手动设置状态
  • 🏅 健康徽章系统:
    • 80+分:✅ 验证徽章 (绿色)
    • 60-80分:⚠️ 警告徽章 (橙色)
    • <60分:❌ 错误徽章 (红色)
  • 📈 可视化分数条:渐变色进度条显示分数位置
  • 💡 智能健康建议:带图标的信息卡片展示个性化建议

界面优化:

  • 双重徽章显示(标题旁+状态容器内)
  • 分数范围指示器,直观显示当前分数位置
  • 增强的信息展示容器,更好的视觉层次

🛠 技术架构

📱 开发环境

  • Flutter SDK: >=3.0.0 <4.0.0
  • Dart: 支持最新稳定版本
  • 平台支持: Android, iOS, macOS, Windows, Linux, Web

📦 核心依赖

🎨 UI & 图表

fl_chart: ^0.63.0              # 专业图表组件
flutter_radar_chart: ^0.2.1   # 雷达图组件
lottie: ^3.1.0                # 动画支持
flutter_animate: ^4.5.0       # 高级动画效果
google_fonts: ^6.1.0          # 字体支持

🔗 连接与通信

flutter_blue_plus: ^1.31.16   # 蓝牙连接
dio: ^5.4.0                   # 网络请求
webview_flutter: ^4.4.2       # WebView支持

🗃 数据管理

provider: ^6.0.5              # 状态管理
shared_preferences: ^2.2.0    # 本地存储
path_provider: ^2.1.5         # 文件路径管理

🧭 导航与工具

go_router: ^10.0.0            # 路由管理
permission_handler: ^11.3.0   # 权限处理
logger: ^2.0.2+1              # 日志系统
intl: ^0.19.0                 # 国际化支持

🏗 项目结构

lib/
├── 📱 screens/           # 应用页面
│   ├── home_screen.dart
│   ├── bluetooth_screen.dart
│   ├── health_analysis_screen.dart
│   └── ...
├── 🧩 widgets/           # 可复用组件
│   ├── health_data_card.dart      # 健康数据卡片
│   ├── health_score_card.dart     # 健康评分卡
│   └── ...
├── 🗄 models/            # 数据模型
├── 🔧 services/          # 服务层
│   ├── bluetooth_service.dart
│   ├── api_service.dart
│   └── ...
├── 🎨 theme/            # 主题配置
├── 🛣 routes/           # 路由配置
└── 📊 utils/            # 工具类

OpenAPI 同步

ljwx-phone 现已基于后端 OpenAPI 契约统一接口路径常量,避免手写 URL 漂移。

  1. 导出后端最新契约
cd ljwx-boot
./scripts/export-openapi.sh
  1. 生成移动端接口常量
cd ../ljwx-phone
./tool/generate_openapi_endpoints.sh
  1. 校验同步(仓库根目录)
./scripts/validate-phone-openapi-sync.sh

🔧 安装与运行

前置要求

  • Flutter SDK (>=3.0.0)
  • Android Studio / Xcode (移动端开发)
  • VS Code (推荐编辑器)

安装步骤

  1. 克隆项目
git clone <repository-url>
cd ljwx-phone
  1. 安装依赖
flutter pub get
  1. 运行项目
# 调试模式
flutter run

# 发布模式
flutter run --release

# 指定平台
flutter run -d android
flutter run -d ios

📊 服务保活系统

🔄 保活机制特性

  • 蓝牙服务保活:30秒心跳检测,自动重连机制
  • HTTP服务保活:60秒健康检查,连接池管理
  • 智能恢复策略:渐进式重连,最多3次重试
  • 资源自动管理:断连时自动清理,内存优化

📈 监控与状态

// 实时服务状态监控
ServiceKeepaliveManager.i.serviceStatusStream.listen((status) {
  print('服务健康状况: ${status['overall_health']}');
});

🎨 界面设计特色

🌈 设计语言

  • Material Design 3: 遵循最新设计规范
  • 响应式布局: 适配各种屏幕尺寸
  • 深色模式支持: 护眼的夜间模式
  • 流畅动画: 60fps丝滑交互体验

🎯 用户体验

  • 直观的数据可视化: 图表清晰易懂
  • 智能颜色编码: 健康状态一目了然
  • 个性化建议: 基于数据的健康指导
  • 无障碍支持: 考虑各类用户需求

🚀 核心功能详解

📊 健康数据卡片系统

  • 实时数据展示: 心率、血氧、体温等核心指标
  • 趋势图表: 心率变化曲线,带安全区间标识
  • 睡眠分析: 深度/浅度睡眠时间,质量评估
  • 运动统计: 步数、距离、卡路里消耗

🏆 健康评分算法

// 评分计算逻辑
double calculateHealthScore() {
  double totalScore = 0.0;
  // 心率评分 (60-100为正常)
  totalScore += calculateMetricScore(heartRate, 60, 100);
  // 血氧评分 (95-100为正常)  
  totalScore += calculateMetricScore(bloodOxygen, 95, 100);
  // 综合评分
  return (totalScore / validMetrics).clamp(0, 100);
}

🔒 数据安全与隐私

  • 本地数据加密: 敏感信息本地加密存储
  • HTTPS通信: 所有网络请求使用安全传输
  • 权限最小化: 仅申请必要的系统权限
  • 数据匿名化: 上传数据进行脱敏处理

🤝 开发团队

  • 项目架构师: 负责整体技术方案设计
  • 前端开发: Flutter移动端开发
  • 后端开发: API服务与数据处理
  • UI/UX设计: 用户界面与体验设计
  • 测试工程师: 质量保证与测试

📈 版本历史

v1.3.8 (2025-08-29)

  • ✨ 配合后端多租户系统升级,支持客户Logo管理和配置
  • 🎨 统一UI设计语言,与大屏系统弹窗风格保持一致
  • 📊 WebView完美支持大屏系统Excel导出功能
  • 🔧 修复静态资源路径问题,确保XLSX库稳定加载
  • 📱 用户管理界面操作按钮美化升级
  • ⚡ WebView加载性能提升40%,优化用户体验
  • 🎯 简化批量操作流程,提升操作效率

v1.0.1+2 (2025-08-22)

  • 🐛 修复管理端WebView中Vue.js属性错误
  • 🌐 完善国际化翻译支持(中英文)
  • 📊 优化管理端统计数据展示
  • 🔧 提升代码质量,移除控制台警告
  • ✨ 改进用户体验和界面稳定性

v1.0.0+1 (2025-08-19)

  • ✨ 心率图表安全区间可视化
  • 🏆 健康评分卡智能色彩系统
  • 📊 数据可视化界面优化
  • 🔧 图表布局空间优化
  • 🎨 用户界面体验提升

历史版本

  • v0.9.x: 服务保活系统
  • v0.8.x: 蓝牙连接稳定性优化
  • v0.7.x: 基础健康数据采集功能

🔮 未来规划

  • 🤖 AI健康分析: 基于机器学习的健康预测
  • 📱 更多设备支持: 扩展兼容设备类型
  • 🌐 云端同步: 多设备数据同步功能
  • 👥 社交功能: 健康数据分享与比较
  • 🏥 医疗集成: 与医疗机构数据对接

📞 技术支持

  • 文档: 项目Wiki
  • 问题反馈: Issues
  • 技术讨论: 开发团队内部沟通
  • 代码审查: Pull Request流程

📄 许可证

本项目为私有项目,版权归灵境万象团队所有。未经授权不得复制、分发或商业使用。


💙 专注健康,智慧生活

灵境万象健康应用 - 您的智能健康管家

Built with ❤️ by ljwx Team

Last Updated: 2025-08-29