新增手腕温度健康数据追踪,支持Apple Watch睡眠手腕温度数据展示和30天历史趋势分析 实现经期数据与HealthKit的完整双向同步,支持读取、写入和删除经期记录 优化经期预测算法,基于历史数据计算更准确的周期和排卵日预测 重构经期UI组件为模块化结构,提升代码可维护性 添加完整的中英文国际化支持,覆盖所有新增功能界面
156 lines
6.5 KiB
Objective-C
156 lines
6.5 KiB
Objective-C
#import <React/RCTBridgeModule.h>
|
|
#import <React/RCTEventEmitter.h>
|
|
|
|
@interface RCT_EXTERN_MODULE(HealthKitManager, RCTEventEmitter)
|
|
|
|
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(getWristTemperatureSamples:(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)
|
|
|
|
// Nutrition Data Methods
|
|
RCT_EXTERN_METHOD(saveProteinToHealthKit:(NSDictionary *)options
|
|
resolver:(RCTPromiseResolveBlock)resolver
|
|
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
|
|
RCT_EXTERN_METHOD(saveFatToHealthKit:(NSDictionary *)options
|
|
resolver:(RCTPromiseResolveBlock)resolver
|
|
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
|
|
RCT_EXTERN_METHOD(saveCarbohydratesToHealthKit:(NSDictionary *)options
|
|
resolver:(RCTPromiseResolveBlock)resolver
|
|
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
|
|
// Workout Data Methods
|
|
RCT_EXTERN_METHOD(getRecentWorkouts:(NSDictionary *)options
|
|
resolver:(RCTPromiseResolveBlock)resolver
|
|
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
|
|
// Workout Observer Methods
|
|
RCT_EXTERN_METHOD(startWorkoutObserver:(RCTPromiseResolveBlock)resolver
|
|
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
|
|
RCT_EXTERN_METHOD(stopWorkoutObserver:(RCTPromiseResolveBlock)resolver
|
|
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
|
|
// Sleep Observer Methods
|
|
RCT_EXTERN_METHOD(startSleepObserver:(RCTPromiseResolveBlock)resolver
|
|
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
|
|
RCT_EXTERN_METHOD(stopSleepObserver:(RCTPromiseResolveBlock)resolver
|
|
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
|
|
// HRV Observer Methods
|
|
RCT_EXTERN_METHOD(startHRVObserver:(RCTPromiseResolveBlock)resolver
|
|
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
|
|
RCT_EXTERN_METHOD(stopHRVObserver:(RCTPromiseResolveBlock)resolver
|
|
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
|
|
// Personal Health Data Methods
|
|
RCT_EXTERN_METHOD(getHeight:(RCTPromiseResolveBlock)resolver
|
|
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
|
|
RCT_EXTERN_METHOD(getWeight:(RCTPromiseResolveBlock)resolver
|
|
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
|
|
RCT_EXTERN_METHOD(getDateOfBirth:(RCTPromiseResolveBlock)resolver
|
|
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
|
|
RCT_EXTERN_METHOD(saveHeight:(NSDictionary *)options
|
|
resolver:(RCTPromiseResolveBlock)resolver
|
|
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
|
|
RCT_EXTERN_METHOD(saveWeight:(NSDictionary *)options
|
|
resolver:(RCTPromiseResolveBlock)resolver
|
|
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
|
|
// Menstrual Cycle Methods
|
|
RCT_EXTERN_METHOD(getMenstrualFlowSamples:(NSDictionary *)options
|
|
resolver:(RCTPromiseResolveBlock)resolver
|
|
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
|
|
RCT_EXTERN_METHOD(saveMenstrualFlow:(NSDictionary *)options
|
|
resolver:(RCTPromiseResolveBlock)resolver
|
|
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
|
|
RCT_EXTERN_METHOD(deleteMenstrualFlow:(NSDictionary *)options
|
|
resolver:(RCTPromiseResolveBlock)resolver
|
|
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
|
|
@end
|