灵境万象健康应用 (ljwx-phone) 📱💊
基于Flutter开发的智能健康监测应用,专注于通过蓝牙连接智能手表设备,实现实时健康数据采集、分析与可视化展示。
🎯 项目概述
灵境万象健康应用是一款专业的健康监测移动应用,集成了智能手表连接、实时健康数据采集、数据可视化分析、健康评分系统等核心功能。应用采用现代化的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 漂移。
- 导出后端最新契约
cd ljwx-boot
./scripts/export-openapi.sh
- 生成移动端接口常量
cd ../ljwx-phone
./tool/generate_openapi_endpoints.sh
- 校验同步(仓库根目录)
./scripts/validate-phone-openapi-sync.sh
🔧 安装与运行
前置要求
- Flutter SDK (>=3.0.0)
- Android Studio / Xcode (移动端开发)
- VS Code (推荐编辑器)
安装步骤
- 克隆项目
git clone <repository-url>
cd ljwx-phone
- 安装依赖
flutter pub get
- 运行项目
# 调试模式
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健康分析: 基于机器学习的健康预测
- 📱 更多设备支持: 扩展兼容设备类型
- 🌐 云端同步: 多设备数据同步功能
- 👥 社交功能: 健康数据分享与比较
- 🏥 医疗集成: 与医疗机构数据对接
📞 技术支持
📄 许可证
本项目为私有项目,版权归灵境万象团队所有。未经授权不得复制、分发或商业使用。
💙 专注健康,智慧生活
灵境万象健康应用 - 您的智能健康管家
Built with ❤️ by ljwx Team
Last Updated: 2025-08-29