- name
- amemo-last-data
- description
- 当用户说「今日健康简报」「健康日报」「健康总览」「今日健康情况」时调用,获取全部类型最新健康数据并生成综合评估报告。
# amemo-last-data — 查询最新数据
## 接口信息
- **路由**: POST https://skill.amemo.cn/last-data
- **Bean**: DataBean
- **Content-Type**: application/json
## 请求参数
> **注意**:服务端要求所有字段必须存在。`userToken` 必填,`dataType` 可选但字段必须存在(可传 `null`)。
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| userToken | str | **是** | 用户登录凭证 |
| dataType | str | 否 | 数据类型(用于筛选最新记录),不传则传 `null` |
## 请求示例
```bash
# 获取所有类型最新数据(健康简报场景,dataType 传 null)
curl -X POST https://skill.amemo.cn/last-data \
-H "Content-Type: application/json" \
-d '{"userToken": "<token>", "dataType": null}'
```
## 响应示例
```json
{"code": 200, "desc": "success", "data": {...}}
```
## 注意事项
- 所有字段必须存在,即使不传值也要传 `null`
- 与 `amemo-find-data` 不同,此接口只返回最新的记录
- `dataType` 传 `null` 则返回所有类型中最新的数据
## 执行流程(由主模块调度)
### 执行步骤
```
1. 识别触发词(健康简报/健康总览/健康情况)
↓
2. 检查 userToken 是否存在
├── 无 token → 引导登录流程
↓
3. 调用接口(dataType 传 null,获取所有类型最新数据)
↓
4. 解析返回数据
├── 步数:steps, stepGoal
├── 睡眠:sleepHours, sleepQuality
├── 血氧:oxygen
├── 血压:systolic, diastolic
├── 心率:heartRate
└── 消耗:calorie, calorieGoal
↓
5. 生成健康简报(按下方模板)
```
### 健康简报模板
```markdown
## 📋 今日健康简报
_{date}_
---
### 🚶 运动步数
| 指标 | 数值 | 状态 |
|------|------|------|
| 今日步数 | **{steps}** 步 | {step_status} |
| 目标完成 | **{step_percent}%** | {goal_status} |
{step_comment}
---
### 😴 睡眠情况
| 指标 | 数值 | 状态 |
|------|------|------|
| 睡眠时长 | **{sleep_hours}** 小时 | {sleep_status} |
| 睡眠质量 | **{sleep_quality}** | - |
{sleep_comment}
---
### 🩸 血氧水平
| 指标 | 数值 | 状态 |
|------|------|------|
| 血氧饱和度 | **{oxygen}%** | {oxygen_status} |
{oxygen_comment}
---
### ❤️ 血压状况
| 指标 | 数值 | 状态 |
|------|------|------|
| 高压 | **{systolic}** mmHg | {sys_status} |
| 低压 | **{diastolic}** mmHg | {dia_status} |
{blood_pressure_comment}
---
### 💓 心率状况
| 指标 | 数值 | 状态 |
|------|------|------|
| 当前心率 | **{heart_rate}** bpm | {hr_status} |
{heart_rate_comment}
---
### 🔥 卡路里消耗
| 指标 | 数值 | 状态 |
|------|------|------|
| 今日消耗 | **{calorie}** kcal | {cal_status} |
| 目标完成 | **{cal_percent}%** | {goal_status} |
{calorie_comment}
---
## 📊 健康综合评估
{overall_assessment}
{improvement_suggestion}
```
### 指标状态判断规则
| 类型 | 指标 | 正常范围 | 状态判断 |
|------|------|---------|---------|
| 步数 | step_percent | ≥100% 达标 / 80-99% 接近 / <80% 未达标 | - |
| 睡眠 | sleep_hours | 7-9h 正常 / 6-7h 偏少 / <6h 不足 / >9h 偏多 | 好/一般/差 |
| 血氧 | oxygen | ≥95% 正常 / 90-94% 偏低 / <90% 危险 | 正常/偏低/危险 |
| 血压 | systolic | 90-140 / diastolic 60-90 | 正常/偏高/偏低 |
| 心率 | heart_rate | 60-100 bpm 正常 / <60 偏低 / >100 偏高 | 正常/偏低/偏高 |
| 消耗 | cal_percent | ≥100% 达标 / 80-99% 接近 / <80% 未达标 | - |
### 数据解读与评语生成
**步数评语生成:**
- 达标(≥100%):`🎉 今日步数目标已达成,继续保持!`
- 接近(80-99%):`💪 距离目标只差一点点了,再活动活动!`
- 未达标(<80%):`🚶 今日运动量较少,建议起身活动一下`
**睡眠评语生成:**
- 正常(7-9h):`😴 睡眠时长良好,身体得到充分休息`
- 偏少(6-7h):`😪 睡眠时长略有不足,建议早点入睡`
- 不足(<6h):`😫 睡眠严重不足,建议增加睡眠时间`
- 偏多(>9h):`😴 睡眠时间较长,可能影响生物钟`
**血氧评语生成:**
- 正常(≥95%):`✅ 血氧水平正常,呼吸系统健康`
- 偏低(90-94%):`⚠️ 血氧略低,可能与剧烈运动或环境有关`
- 危险(<90%):`🚨 血氧过低,建议就医检查`
**血压评语生成:**
- 均正常:`✅ 血压处于正常范围,心血管健康`
- 高压偏高:`⚠️ 高压略高,注意清淡饮食`
- 高压过高:`🚨 高压异常,建议咨询医生`
- 低压偏低:`⚠️ 低压略低,可能体质较弱`
- 低压过低:`🚨 低压异常,建议咨询医生`
**心率评语生成:**
- 正常(60-100):`✅ 心率正常,心脏功能良好`
- 偏低(<60):`⚠️ 心率偏低,可能运动量大或体质较好`
- 偏高(>100):`⚠️ 心率偏快,建议休息放松`
**消耗评语生成:**
- 达标(≥100%):`🎉 今日消耗目标已达成!`
- 接近(80-99%):`💪 再活动一下就能达成目标了!`
- 未达标(<80%):`🔥 今日消耗较少,可以适当增加运动`
### 综合评估生成规则
```markdown
**整体评价**:{great/good/needs_attention/poor}
{great_case}
🎉 {userName},今日健康状况非常棒!各项指标均在正常范围内,请继续保持!
{good_case}
👍 {userName},今日健康状况良好,大部分指标正常,继续保持!
{needs_attention_case}
👋 {userName},今日有部分指标需要注意,建议适当调整。
{poor_case}
⚠️ {userName},今日健康状况需要关注,建议咨询医生或调整生活习惯。
```
### 改善建议生成
根据异常指标生成针对性建议:
| 异常类型 | 建议内容 |
|---------|---------|
| 步数不足 | 每天步行 4000 步有助于保持健康 |
| 睡眠不足 | 建议固定作息时间,睡前避免使用电子设备 |
| 血氧偏低 | 避免长时间在密闭环境,适当进行深呼吸练习 |
| 血压偏高 | 注意清淡饮食,减少盐分摄入,保持情绪稳定 |
| 心率偏高 | 避免剧烈运动和情绪激动,保持充足睡眠 |
| 消耗不足 | 结合有氧运动和无氧训练,提高基础代谢 |
### 无数据时回复
```
暂无今日健康数据。
请确保:
• amemo 服务已启动并正常运行
• 已记录今日的健康数据
• 已完成登录认证
尝试:查看我的步数数据
```
Ver en GitHub