-----
## 📦 项目概览
本仓库包含两个独立平台的应用,代码互不共享,可配合使用:
| 目录 | 平台 | 技术栈 |
|---|---|---|
| [`android`](./android) | Android | Kotlin + Jetpack Compose |
| [`windows`](./windows) | Windows | .NET 10 + WinUI 3 |
-----
## ✨ 功能特性
### Android 端
- 🖥️ **全屏模式**:沉浸式显示心率数据,让手机成为健康监护仪
- 🔵 **蓝牙连接**:扫描并连接支持心率广播服务的 BLE 设备
- ⭐ **设备管理**:收藏常用设备,支持自动连接与断开重连
- ❤️ **心跳动画**:根据心率跳动频率动态变化
- 📊 **心率历史与图表**:自动记录、历史列表、批量管理、图表分析、横屏查看
- 🎨 **个性化设置**:功能开关、悬浮窗样式自定义
- 📡 **数据接口**:HTTP 服务器、WebSocket 服务器、Webhook 推送
- 🖼️ **悬浮窗显示心率**:在手机屏幕上显示心率,不受到应用内容的影响
- 📌 **状态栏常驻心率**:状态栏显示实时心率
- 🔔 **心率预警**:结合姿态检测,心率超限自动通知与震动
- 🧠 **公平运行内存**:适配国产厂商内存管理机制
- 🎨 **颜色选择器**:自绘 HSV 色轮
- ✨ **流畅转场动画** 实时模糊缩放
- 🧊 **液态玻璃效果** 实现底部导航栏的液态玻璃效果
- 🔗 **局域网传输** 通过 WebSocket 服务器实现 PC 端与手机的通信
- 🎯 **Material 3 动态取色**
### Windows 端
- **蓝牙心率监测**:扫描并连接蓝牙心率设备,实时显示 bpm
- **悬浮窗**:可拖拽的桌面悬浮爱心,支持缩放、颜色、心跳动画、bpm 单位显示、触摸穿透与全局热键
- **外观设置**:缩放比例、图标大小、爱心颜色、显示项、心跳动画开关,支持一键重置
- **网络与传输**
- HTTP 服务器:对外提供当前心率 JSON
- WebSocket 服务器:实时推送心率数据
- Webhook:心率变化触发自定义 HTTP 回调
- 局域网传输:mDNS 广播 + 配对,与手机端实时同步(含端口冲突检测)
- **多语言**:简体中文 / English
- **版本与信息页**:展示当前版本及项目仓库链接
-----
## 🖼️ 截图展示
### Android 端