- 重构权限管理,新增SimpleEventEmitter实现状态监听 - 实现完整的健身圆环数据获取(活动热量、锻炼时间、站立小时) - 优化组件状态管理,支持实时数据刷新和权限状态响应 - 新增useHealthPermissions Hook,简化权限状态管理 - 完善iOS原生代码,支持按小时统计健身数据 - 优化应用启动时权限初始化流程,避免启动弹窗 BREAKING CHANGE: FitnessRingsCard组件API变更,移除手动传参改为自动获取数据
71 lines
3.0 KiB
Objective-C
71 lines
3.0 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)
|
|
|
|
@end |