软件端划分与特征定义
1. 端划分总览
| 端名称 | 终端形态 | 目标用户角色 | 核心职责 | 访问权限边界 |
|---|---|---|---|---|
| Family App(儿女端) | 移动 App(iOS / Android) | 成年子女(照护者) | 查看父母状态、接收告警、发送提醒与留言 | 仅家庭内数据 |
| Luma App(老人端) | 智能音箱内置系统(Android) | 老年人(被照护者) | 语音交互、紧急求助、跌倒检测响应 | 仅本人数据 |
| Admin 管理后台 | PC Web | 运营团队 | 监控设备状态、处理告警、合规审计 | 全平台数据(运营视角) |
| API 服务(后端) | REST API / MQTT / WebSocket | Family App / Luma App / Admin / 硬件设备 | 业务逻辑、数据存储、设备接入、AI 处理 | 多租户隔离(以家庭为单位) |
2. 各端详细说明
2.1 Family App(儿女端)
- 终端类型:移动 App(iOS 14+、Android 10+)
- 技术实现:UniApp + Vue 3 + TypeScript,一套代码编译至 iOS / Android 双端
- 包名:
health.reflekt.app - 构建/部署说明:UniApp 一套代码编译打包,安装至 iOS App Store / Google Play,无需服务端部署
- 输出格式:iOS
.ipa(TestFlight/App Store)、Android.apk/.aab(Google Play / 直接安装) - 目标用户:成年子女(照护者),35~55 岁,在职
- 功能模块清单:
- 账号认证模块(注册、登录、密码重置、验证码)
- 家庭管理模块(创建/加入家庭、切换家庭、家庭成员管理)
- 状态概览模块(六状态颜色语言:CALM / REMINDER / FAMILY / ALERT / HELP / OFFLINE)
- 告警通知模块(推送订阅、iOS APNs 推送 + Android FCM 推送、短信告警、红色告警静默穿透)
- 告警响应模块(确认告警中断升级链路、直接拨打老人)
- 提醒管理模块(预设提醒列表 + 自定义、推送至 Luma 音箱)
- 语音留言模块(录制并发送语音留言至音箱)
- 设备管理模块(查看雷达/手表/音箱在线状态、心跳)
- 照护人权限模块(管理员/查看员权限分级、紧急联系人排序)
- 设置模块(通知偏好、个人资料)
- 权限模型说明:基于 Token 的认证,以家庭为租户隔离数据;管理员可添加/移除成员、设置紧急联系顺序;查看员仅可查看状态,不可管理。
- 适老化要求:无(面向中年子女);字号 ≥ 16pt;核心操作 ≤3 步完成。
2.2 Luma App(老人端)
- 终端类型:智能音箱内置系统(触摸屏 + 语音),独立硬件设备
- 技术实现:原生 Android(Java + Kotlin),Luma 智能音箱(小黄蜂定制)深度定制系统
- 包名:
health.reflekt.luma - 构建/部署说明:原生 Android 固件构建,刷入 Luma 智能音箱硬件,无需云端部署
- 设备屏幕:1280 × 800 px(触摸屏)
- 目标用户:老年人(被照护者),65~85 岁
- 功能模块清单:
- 语音唤醒模块(本地离线唤醒词检测,集成 OpenAI Whisper)
- 语音交互模块(OpenAI GPT + TTS,语音对话)
- 紧急求助模块(SOS 按钮、语音触发求助、联系紧急联系人)
- 跌倒响应模块(雷达检测跌倒后触发语音询问,用户应答或超时触发告警)
- 提醒播报模块(接收后端推送的用药/就医等提醒,语音 + 屏幕双通道播报)
- 语音留言播放模块(接收 Family App 发来的家人语音留言)
- 状态展示模块(六状态屏幕展示,与 Family App 联动)
- 隐私模式模块(允许关闭检测功能,尊重隐私)
- 设备心跳模块(定期向服务端上报心跳,离线告警触发)
- 权限模型说明:无多用户概念,以家庭为单位的设备绑定;老年人无需登录账号。
- 适老化要求:字号 ≥ 18 pt,按钮高度 ≥ 56 dp,触控区域 ≥ 44 dp,色彩对比度 ≥ 4.5:1;大地色系(琥珀色主调),避免科技蓝。
2.3 Admin 管理后台(PC Web)
- 终端类型:PC Web(响应式,最小宽度 1024 px)
- 技术实现:Vue 3 + TypeScript + ElementPlus(前端项目,无包名概念)
- 构建命令:
pnpm build:admin - 输出目录:
dist/admin/ - 目标用户:运营团队,试点期 3~5 人
- 部署服务名:
reflekt-health-admin - 功能模块清单:
- 设 备监控模块(所有试点家庭设备在线状态、心跳成功率)
- 告警管理模块(告警列表、告警升级链路跟踪)
- 家庭管理模块(试点家庭信息、设备绑定、安装进度)
- 审计日志模块(HIPAA 合规,12 个月日志查询)
- 数据统计模块(告警误报率、30 天留存率)
- 用户权限模块(运营人员账号与权限分配)
- 权限模型说明:RBAC,运营人员按角色分配权限,区分数据查看权限与操作权限。
2.4 API 服务(后端)
- 终端类型:REST API + MQTT + WebSocket
- 技术实现:Dromara RuoYi-Vue-Plus(Spring Boot 3 + JDK 17 + MyBatis-Plus + Sa-Token)
- 包名:
health.reflekt.api - 部署区域:AWS US East(美东)
- 部署服务名:
reflekt-health-api - 核心模块清单:
- 账号认证模块(注册、登录、Token 管理、验证码)
- 家庭管理模块(创建/加入家庭、多租户数据隔离)
- 照护人管理模块(管理员/查看员、紧急联系人排序、权限控制)
- 告警引擎模块(告警触发、升级链路 T=30s/50s/70s/90s、SMS + 推送双通道)
- 设备接入模块(雷达 MQTT 消费、手表 HTTP、手表实时测量指令下发、音箱 HTTP/WebSocket)
- 心跳监控模块(设备心跳入库、离线检测 >12h 黄色提 醒、>48h 高风险标记)
- 提醒管理模块(Family App 设置提醒 → Luma App 播报)
- 语音留言模块(Family App 录音上传 → Luma App 下载播放)
- AI 交互模块(OpenAI GPT-4o + TTS,语音转文字 + 对话生成 + 语音回复)
- 审计日志模块(HIPAA 合规,敏感操作全记录,12 个月保留)
- 通知推送模块(APNs 推送 iOS + FCM 推送 Android + Twilio SMS,红色告警静默穿透)
- 权限模型说明:
- 多租户:以家庭为隔离单位,禁止跨家庭访问
- 数据加密:MyBatis 拦截器自动加解密(AES-256)
- 分布式缓存:Redisson 分布式锁、限流、延迟队列
- WebSocket:支持 Token 鉴权与分布式集群消息同步
3. 设备端(非应用端)
3.1 毫米波雷达(云帆)
- 通信方式:MQTT(Amazon MQ)
- 协议:雷达主动推送跌倒事件、睡眠数据、活动轨迹;后端消费入库
- 部署服务:Amazon MQ(RabbitMQ),MQTT 协议
- 数据流:雷达设备 → MQTT Topic → 后端 MQTT Consumer → 数据库