- 新增 HRV 监听服务,实时监控心率变异性数据 - 实现 HRV 到压力指数的转换算法和压力等级评估 - 添加智能通知服务,在压力偏高时推送健康建议 - 优化日志系统,修复日志丢失问题并增强刷新机制 - 改进个人页面下拉刷新,支持并行数据加载 - 优化勋章数据缓存策略,减少不必要的网络请求 - 重构应用初始化流程,优化权限服务和健康监听服务的启动顺序 - 移除冗余日志输出,提升应用性能
108 lines
4.4 KiB
Objective-C
108 lines
4.4 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(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)
|
|
|
|
// 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)
|
|
|
|
@end
|