feat: 新增基础代谢详情页面并优化HRV数据获取逻辑

- 新增基础代谢详情页面,包含图表展示、数据缓存和防抖机制
- 优化HRV数据获取逻辑,支持实时、近期和历史数据的智能获取
- 移除WaterIntakeCard和WaterSettings中的登录验证逻辑
- 更新饮水数据管理hook,直接使用HealthKit数据
- 添加饮水目标存储和获取功能
- 更新依赖包版本
This commit is contained in:
richarjiang
2025-09-25 14:15:42 +08:00
parent 83e534c4a7
commit 79ab354f31
12 changed files with 1563 additions and 702 deletions

View File

@@ -1,4 +1,4 @@
import { fetchHRVForDate } from '@/utils/health';
import { fetchHRVWithStatus } from '@/utils/health';
import { Image } from 'expo-image';
import { LinearGradient } from 'expo-linear-gradient';
import React, { useEffect, useState } from 'react';
@@ -34,13 +34,24 @@ export function StressMeter({ curDate }: StressMeterProps) {
const getHrvData = async () => {
try {
const data = await fetchHRVForDate(curDate)
console.log('StressMeter: 开始获取HRV数据...', curDate);
if (data) {
setHrvValue(Math.round(data.value))
// 使用智能HRV数据获取功能
const result = await fetchHRVWithStatus(curDate);
console.log('StressMeter: HRV数据获取结果:', result);
if (result.hrvData) {
setHrvValue(Math.round(result.hrvData.value));
console.log(`StressMeter: 使用${result.message}HRV值: ${result.hrvData.value}ms`);
} else {
console.log('StressMeter: 未获取到HRV数据');
// 可以设置一个默认值或者显示无数据状态
setHrvValue(0);
}
} catch (error) {
console.error('StressMeter: 获取HRV数据失败:', error);
setHrvValue(0);
}
}