- iOS 端集成 HealthKit 日照时间 (TimeInDaylight) 数据获取接口 - 新增 SunlightCard 组件,支持查看今日数据及最近30天历史趋势图表 - 更新统计页和自定义设置页,支持开启/关闭日照卡片 - 优化 HealthDataCard 组件,支持自定义图标组件和副标题显示 - 更新多语言文件及应用版本号至 1.1.6
164 lines
6.9 KiB
Objective-C
164 lines
6.9 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(getTimeInDaylight:(NSDictionary *)options
|
|
resolver:(RCTPromiseResolveBlock)resolver
|
|
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
|
|
RCT_EXTERN_METHOD(getTimeInDaylightSamples:(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
|