// // HS2Module.m // ReactNativeIOSLibrary // // Created by jing on 2018/11/26. // Copyright © 2018年 daiqingquan. All rights reserved. // #import "HS2Module.h" #import "HSProfileModule.h" #import "HSMacroFile.h" #import "HS2Controller.h" #import "HS2.h" #import "iHealthDeviceManagerModule.h" #import "ManageDeviceController.h" #define EVENT_NOTIFY @"HS2.MODULE.NOTIFY" @implementation HS2Module RCT_EXPORT_MODULE() - (NSArray *)supportedEvents { return @[@"event_notify", @"event_scan_device", @"event_scan_finish", @"event_device_connected", @"event_device_connect_failed", @"event_device_disconnect", @"event_authenticate_result", @"event_notify_ts28b", @"event_notify_bg1", @"action_connect_result_for_bg1"]; } #pragma mark-init -(NSDictionary *)constantsToExport{ return @{ @"Event_Notify" : EVENT_NOTIFY }; } + (BOOL)requiresMainQueueSetup { return YES; } -(HS2 *)getHS2WithMac:(NSString *)mac{ HS2Controller *controller = [HS2Controller shareIHHs2Controller]; NSArray *hs2DeviceArray = [controller getAllCurrentHS2Instace]; for (HS2 *tempHS2 in hs2DeviceArray) { if ([mac isEqualToString:tempHS2.deviceID]){ return tempHS2; break; } } return nil; } #pragma mark #pragma mark - Method #pragma mark-获取连接设备 RCT_EXPORT_METHOD(getAllConnectedDevices){ NSArray*hs2array= [[HS2Controller shareIHHs2Controller] getAllCurrentHS2Instace]; NSMutableArray*deviceMacArray=[NSMutableArray array]; for (int i=0; i<[hs2array count]; i++) { HS2*hs2=[hs2array objectAtIndex:i]; [deviceMacArray addObject:hs2.deviceID]; } NSDictionary* deviceInfo = @{@"action":@"action_get_all_connected_devices",@"devices":deviceMacArray}; [self sendEventWithName:EVENT_NOTIFY body:deviceInfo]; } RCT_EXPORT_METHOD(getBattery:(nonnull NSString*)mac){ if ([self getHS2WithMac:mac] != nil) { [[self getHS2WithMac:mac]commandGetHS2Battery:^(NSNumber *battary) { NSDictionary *deviceInfo = @{@"mac":mac,@"action":ACTION_BATTARY_HS,BATTERY_HS:battary}; [self sendEventWithName:EVENT_NOTIFY body:deviceInfo]; } DiaposeErrorBlock:^(HS2DeviceError errorID) { }]; } } RCT_EXPORT_METHOD(getOfflineData:(nonnull NSString*)mac){ if ([self getHS2WithMac:mac] != nil) { NSLog(@"上传离线数据"); [[self getHS2WithMac:mac]commandHS2TransferMemorryData:^(NSDictionary *startDataDictionary) { } DisposeProgress:^(NSNumber *progress) { } MemorryData:^(NSArray *historyDataArray) { if(historyDataArray != nil){ if(historyDataArray.count){ NSMutableArray*dataArray=[NSMutableArray array]; for (int i=0; i