- 新增 fetchCompleteNutritionCardData 异步 action,统一拉取营养、健康与基础代谢数据 - NutritionRadarCard 改用 Redux 数据源,移除 props 透传,自动根据日期刷新 - BasalMetabolismCard 新增详情弹窗,展示 BMR 计算公式、正常区间及提升策略 - StepsCard 与 StepsCardOptimized 引入 InteractionManager 与动画懒加载,减少 UI 阻塞 - HealthKitManager 新增饮水读写接口,支持将饮水记录同步至 HealthKit - 移除 statistics 页面冗余 mock 与 nutrition/health 重复请求,缓存时间统一为 5 分钟
80 lines
3.4 KiB
Objective-C
80 lines
3.4 KiB
Objective-C
#import <React/RCTBridgeModule.h>
|
|
|
|
@interface RCT_EXTERN_MODULE(HealthKitManager, NSObject)
|
|
|
|
RCT_EXTERN_METHOD(requestAuthorization:(RCTPromiseResolveBlock)resolver
|
|
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
|
|
RCT_EXTERN_METHOD(getAuthorizationStatus:(RCTPromiseResolveBlock)resolver
|
|
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
|
|
RCT_EXTERN_METHOD(getSleepData:(NSDictionary *)options
|
|
resolver:(RCTPromiseResolveBlock)resolver
|
|
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
|
|
// Fitness Data Methods
|
|
RCT_EXTERN_METHOD(getActiveEnergyBurned:(NSDictionary *)options
|
|
resolver:(RCTPromiseResolveBlock)resolver
|
|
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
|
|
RCT_EXTERN_METHOD(getBasalEnergyBurned:(NSDictionary *)options
|
|
resolver:(RCTPromiseResolveBlock)resolver
|
|
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
|
|
RCT_EXTERN_METHOD(getAppleExerciseTime:(NSDictionary *)options
|
|
resolver:(RCTPromiseResolveBlock)resolver
|
|
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
|
|
RCT_EXTERN_METHOD(getAppleStandTime:(NSDictionary *)options
|
|
resolver:(RCTPromiseResolveBlock)resolver
|
|
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
|
|
RCT_EXTERN_METHOD(getActivitySummary:(NSDictionary *)options
|
|
resolver:(RCTPromiseResolveBlock)resolver
|
|
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
|
|
// Health Data Methods
|
|
RCT_EXTERN_METHOD(getHeartRateVariabilitySamples:(NSDictionary *)options
|
|
resolver:(RCTPromiseResolveBlock)resolver
|
|
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
|
|
RCT_EXTERN_METHOD(getOxygenSaturationSamples:(NSDictionary *)options
|
|
resolver:(RCTPromiseResolveBlock)resolver
|
|
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
|
|
RCT_EXTERN_METHOD(getHeartRateSamples:(NSDictionary *)options
|
|
resolver:(RCTPromiseResolveBlock)resolver
|
|
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
|
|
// Step Count Methods
|
|
RCT_EXTERN_METHOD(getStepCount:(NSDictionary *)options
|
|
resolver:(RCTPromiseResolveBlock)resolver
|
|
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
|
|
RCT_EXTERN_METHOD(getDailyStepCountSamples:(NSDictionary *)options
|
|
resolver:(RCTPromiseResolveBlock)resolver
|
|
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
|
|
// Hourly Data Methods
|
|
RCT_EXTERN_METHOD(getHourlyActiveEnergyBurned:(NSDictionary *)options
|
|
resolver:(RCTPromiseResolveBlock)resolver
|
|
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
|
|
RCT_EXTERN_METHOD(getHourlyExerciseTime:(NSDictionary *)options
|
|
resolver:(RCTPromiseResolveBlock)resolver
|
|
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
|
|
RCT_EXTERN_METHOD(getHourlyStandHours:(NSDictionary *)options
|
|
resolver:(RCTPromiseResolveBlock)resolver
|
|
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
|
|
// Water Intake Methods
|
|
RCT_EXTERN_METHOD(saveWaterIntakeToHealthKit:(NSDictionary *)options
|
|
resolver:(RCTPromiseResolveBlock)resolver
|
|
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
|
|
RCT_EXTERN_METHOD(getWaterIntakeFromHealthKit:(NSDictionary *)options
|
|
resolver:(RCTPromiseResolveBlock)resolver
|
|
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
|
|
@end |