ee67f334e1f95b34b16a5ec711e0ac75f2186233
Added *.backup.* pattern to ignore files like data.sql.backup.20251219_005040 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
灵境万象健康管理系统 (LJWX)
📋 项目概述
灵境万象健康管理系统(LJWX)是一套完整的企业级健康监测解决方案,专为工业环境下的可穿戴设备健康数据监控而设计。系统集成了数据采集、实时分析、智能告警、可视化大屏等功能模块,为企业提供全方位的员工健康安全保障。
🎯 核心特性
- 🏥 健康数据监控: 实时采集心率、血压、体温、运动数据等多维度健康指标
- 🚨 智能告警系统: 多租户告警规则管理,支持微信、消息、大屏推送
- 📊 可视化大屏: 专业级监控大屏,实时展示健康状态和告警信息
- 📱 移动端应用: Flutter开发的移动APP,支持数据查看和设备管理
- ⌚ 智能手表集成: 支持华为Watch4等智能穿戴设备数据采集
- 🏢 多租户架构: 企业级权限管理,支持租户隔离和告警规则隔离
🏗️ 系统架构
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ ljwx-watch │ │ ljwx-phone │ │ ljwx-admin │ │ljwx-bigscreen│
│ 智能手表 │ ──▶ │ 移动应用 │ ──▶ │ 管理后台 │ ──▶ │ 监控大屏 │
│ (HarmonyOS)│ │ (Flutter) │ │ (Vue3) │ │ (Python) │
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
│ │ │ │
└───────────────────┼───────────────────┼───────────────────┘
│ │
┌─────────────┐ ┌─────────────┐
│ ljwx-boot │ │ 数据存储 │
│ 后端API │◄──▶│ MySQL+Redis │
│(Spring Boot)│ │ │
└─────────────┘ └─────────────┘
📂 项目结构
🔧 后端服务 (ljwx-boot)
- Spring Boot 3.3.2 + Java 21 - 现代化微服务架构
- 健康管理模块: 10+健康指标实时监控、睡眠分析、运动追踪
- 系统管理模块: 多租户架构、RBAC权限控制、组织管理
- 设备管理模块: IoT设备生命周期管理、状态监控
- 多租户告警系统: 智能阈值监控、多级告警处理、租户级别告警规则隔离
- 地理围栏: 虚拟边界监控、位置告警
🖥️ 前端管理 (ljwx-admin)
- Vue3 + TypeScript + Naive UI - 现代化管理界面
- 健康数据管理: ECharts可视化、Excel导出、时间序列分析
- 设备管理: 电池监控、佩戴状态、设备配置
- 告警管理: 实时告警监控、规则配置、微信集成
- 用户组织管理: 分层权限、角色管理、部门架构
- 系统监控: 性能指标、日志管理、缓存监控
📊 监控大屏 (ljwx-bigscreen)
- Python Flask + Socket.IO - 高性能实时监控
- 实时数据处理: 支持1000+设备并发、QPS>1400
- 告警处理引擎: 多渠道通知、层级分发、WebSocket推送
- 健康分析系统: AI健康画像、个人基线、Z-score异常检测
- 地图可视化: 实时位置追踪、告警地点标记
- 性能优化: Redis缓存、批量查询、连接池管理
📱 移动应用 (ljwx-phone)
- Flutter 3.0+ 跨平台 - 统一iOS/Android体验
- 蓝牙BLE集成: 自动设备发现、二进制协议、实时同步
- 健康数据可视化: FL Chart图表、雷达图健康评分
- 管理员模式: 嵌入式Web界面、SHA认证、角色切换
- 数据同步: 蓝牙/WiFi双模式、本地缓存、批量上传
- 告警通知: 实时推送、声音提醒、状态指示
⌚ 智能手表 (ljwx-watch)
- HarmonyOS 3.0 原生应用 - 深度系统集成
- 健康传感器: 心率、血氧、体温、压力、步数监测
- 电源优化: 统一定时器、15-18小时续航、智能调度
- 通信协议: 高级TLV二进制格式、50%数据压缩
- 紧急功能: SOS按钮、跌倒检测、一键告警
- 实时同步: 蓝牙BLE/WiFi双通道、离线缓存
🚀 最新功能 v1.3.8
🔧 Excel导出功能修复与静态文件优化 (2025-08-29)
Excel导出功能完善
- 导出故障修复: 修复health_table.html中Excel导出无错误日志的问题
- XLSX库路径修复: 解决Flask静态文件路径配置导致的XLSX库加载失败
- 增强错误处理: 添加详细的调试日志和错误提示,提升用户体验
- CDN备用机制: 实现本地XLSX库失败时的CDN自动降级加载
自定义弹窗系统
- 统一弹窗组件: 创建可复用的
showCustomAlert组件替代原生alert - 视觉效果升级: 科技感弹窗设计,支持键盘快捷键(ESC、Enter)
- 模块化设计: 提取为独立的
custom-alert.js文件供全局复用 - 增强功能: 支持确认框、回调函数、动画效果
静态文件架构优化
- 路径问题诊断: 发现并修复静态文件错误放置在
/bigScreen/static/的问题 - Flask配置确认: 验证
static_folder='../static'指向正确的/bigscreen/static/ - CDN文件迁移: 将Bootstrap、FontAwesome、ECharts等离线CDN文件移至正确位置
- 重复文件清理: 删除错误位置的重复文件,避免开发者混淆
🚀 历史版本 v1.3.6
🔧 多租户告警规则系统实现 (2025-08-26)
告警规则多租户隔离
- 租户级规则隔离: 实现告警规则基于
customer_id的完全隔离,不同租户拥有独立的告警规则集 - 默认规则自动克隆: 新建租户时自动从
customer_id=0克隆默认告警规则 - 多级告警支持: 支持同一健康指标配置多个告警级别(如心率120-140中级,140-160高级)
- 系统事件匹配: 告警规则类型与手表系统事件完全匹配,支持直接规则匹配
📋 快速开始
环境要求
| 组件 | 版本要求 | 说明 |
|---|---|---|
| Java | ≥ JDK 21 | 后端运行环境 |
| Node.js | ≥ 18.0 | 前端构建环境 |
| Python | ≥ 3.8 | 大屏系统环境 |
| MySQL | ≥ 8.0 | 数据存储 |
| Redis | ≥ 6.0 | 缓存存储 |
| Docker | ≥ 20.10 | 容器化部署(可选) |
🐳 快速部署 (推荐)
使用 Docker Compose
# 1. 克隆项目
git clone https://github.com/your-org/ljwx-system.git
cd ljwx-system
# 2. 配置环境变量
cp .env.example .env
# 编辑 .env 文件,配置数据库、Redis等信息
# 3. 一键启动所有服务
docker-compose up -d
# 4. 初始化数据库
mysql -u root -p123456 < client-deployment/client-data.sql
# 5. 访问系统
# 管理后台: http://localhost:3000
# 监控大屏: http://localhost:5001
# API文档: http://localhost:9998/doc.html
使用 GitHub Actions 构建镜像
本项目使用 GitHub Actions 进行 CI/CD 自动化构建和部署:
自动构建触发:
- 推送到
main或develop分支时自动构建 - 创建
v*标签时自动构建并推送带版本号的镜像 - Pull Request 到主分支时进行构建验证
手动触发构建:
# 在 GitHub 仓库页面:
# Actions -> Build and Push Docker Images -> Run workflow
# 可选择构建特定组件或全部组件
构建的镜像:
ljwx-boot- 后端API服务 (Spring Boot)ljwx-admin- 前端管理系统 (Vue3)ljwx-bigscreen- 监控大屏系统 (Python Flask)ljwx-mysql- MySQL数据库ljwx-redis- Redis缓存
所有镜像支持多架构: linux/amd64, linux/arm64
GitHub Secrets 配置: 在仓库设置中配置以下 Secrets:
HARBOR_HOST- Harbor仓库地址HARBOR_USERNAME- Harbor用户名HARBOR_PASSWORD- Harbor密码
🔧 开发环境部署
后端服务
cd ljwx-boot
./run-local.sh
前端管理
cd ljwx-admin
npm install
npm run dev
监控大屏
cd ljwx-bigscreen/bigscreen
python run_bigscreen.py
📊 系统展示
管理后台
- 健康数据总览、实时设备状态监控
- 告警配置管理、用户权限控制
- 数据可视化图表、统计分析报表
监控大屏
- 实时健康数据地图、告警状态展示
- Critical告警弹窗、WebSocket实时推送
- 系统性能监控、设备在线状态
移动应用
- 个人健康档案、历史数据查询
- 设备绑定管理、消息通知中心
- 健康评分分析、趋势图表展示
🔧 配置说明
数据库配置
# application.yml
spring:
datasource:
url: jdbc:mysql://localhost:3306/test
username: root
password: 123456
告警通知配置
# 企业微信配置
WECHAT_CORP_ID = "your_corp_id"
WECHAT_AGENT_ID = "your_agent_id"
WECHAT_SECRET = "your_secret"
# 公众号配置
WECHAT_APPID = "your_appid"
WECHAT_APPSECRET = "your_appsecret"
WECHAT_TEMPLATE_ID = "your_template_id"
📈 性能指标
- 响应时间: <3秒 (1000设备规模)
- 并发处理: QPS >1400
- 系统可用性: 99.9%
- 告警及时性: <5秒 (Critical级别)
🔒 安全特性
- 多租户隔离: 数据完全隔离,权限严格控制
- API安全: Sa-Token鉴权,接口权限细化
- 数据加密: 敏感数据AES加密存储
- SQL注入防护: MyBatis-Plus参数化查询
🛠️ 技术亮点
- 多架构支持: Docker支持AMD64/ARM64多架构部署
- 性能优化: 解决N+1查询问题,响应时间从181s优化到<5s
- 高并发处理: QPS >1400,支持2000+设备并发
- 容错设计: 微信通知失败自动降级,确保告警可达性
- 智能手表集成: HarmonyOS原生应用,支持15+小时续航
- 二进制协议: TLV格式数据传输,压缩率达50%
- AI健康分析: 集成DeepSeek R1模型,智能健康建议
📚 技术文档
核心文档
- 系统功能模块清单 - 完整的系统功能和技术架构说明
- 告警通知功能完整实现方案 - 告警通知系统技术方案
- CLAUDE.md - 项目开发指南和最佳实践
部署文档
开发文档
移动端文档
- 数据监控解决方案使用指南 - 移动端使用说明
- 手表开发和使用指南 - 智能手表开发指南
🤝 贡献指南
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 打开 Pull Request
📄 开源协议
本项目基于 Apache License 2.0 开源协议,仅供学习参考使用。
👥 联系我们
- 项目主页: GitHub
- 问题反馈: Issues
- 技术支持: support@ljwx.com
© 2024 灵境万象健康管理系统 (LJWX). All rights reserved.
Languages
Java
24.3%
HTML
18%
Python
11.5%
TypeScript
9.5%
Vue
9.2%
Other
27.2%