// // EZSDK.m // EZSDK // // Created by 陈嘉乐 on 2021/1/27. // #import "EZSDK.h" #import "DeviceInfo.h" #import "EZDeviceInfo.h" #import "EZDeviceInfo.h" #import "EZOpenSDK.h" #import "GlobalKit.h" #import "EZAccessToken.h" #import "NSArray+DDKit.h" #import "EZAddByQRCodeViewController.h" #import "EZLivePlayViewController.h" #import "EZSettingViewController.h" #import "EZPlaybackViewController.h" #import "EZDeviceTableViewController.h" #import "EZHCNetDeviceSDK.h" #define CURR_LANG ([[NSLocale preferredLanguages] objectAtIndex:0]) #define LanguageIsChinese ([CURR_LANG rangeOfString:@"zh-Hans"].location != NSNotFound) @implementation EZSDK /** 初始化SDK 传入国内版key 和海外版globalAppKey */ + (BOOL)initLibWithAppKey:(NSString *)appKey globalAppKey:(NSString *)globalAppKey { static BOOL isHavelibInit=NO; if (!isHavelibInit) { // isHavelibInit=YES; NSLog(@"第一次初始化萤石库"); if (!LanguageIsChinese) { //海外版 isHavelibInit = [EZGlobalSDK initLibWithAppKey:globalAppKey]; NSLog(@"海外版key--%@",globalAppKey); }else{ isHavelibInit = [EZOpenSDK initLibWithAppKey:appKey]; NSLog(@"国内版key--%@", appKey); } [EZHCNetDeviceSDK initSDK]; [EZOPENSDK enableP2P:YES]; [EZOPENSDK setDebugLogEnable:YES]; NSLog(@"EZOpenSDK Version = %@", [EZOPENSDK getVersion]); } return isHavelibInit; } //+(void)MonitorPushMessage:(NSString *)MonitorType ID:(NSString *)ID //{ // [CommonList login]; // [CommonList getlist:0 pageSize:20 listArray:^(NSArray *listArray) { // for ( NSObject *info in listArray) { // DeviceInfo *ezInfo=(DeviceInfo *)info; // if ([ID isEqualToString:ezInfo.DeviceSerial]) { // NSLog(@"相同id"); // [CommonList Play:ezInfo.RealObject]; // } // } // }]; //} //+(void)getlist:(int)pageIndex pageSize:(int)pageSize listArray:(void(^)(NSArray *))listArray //{ // // static NSMutableArray *deviceListaArray; // deviceListaArray=nil; // if ([GlobalKit shareKit].accessToken) // { // [EZOPENSDK setAccessToken:[GlobalKit shareKit].accessToken]; // //获取列表 // [EZOpenSDK getDeviceList:0 pageSize:20 completion:^(NSArray *deviceList, NSInteger totalCount, NSError *error) { // deviceListaArray=[NSMutableArray array]; // for (int i=0; i *)getMonitorDatas //{ // static NSMutableArray *monitorDataMutableArr; // if (monitorDataMutableArr==nil) { // monitorDataMutableArr=[[NSMutableArray alloc]init]; // } // return monitorDataMutableArr; //} // //+(ICommon*)EZICommon{ // static ICommon *ICommons; // if(ICommons==nil) // { // ICommons= [[ICommon alloc]init]; // // } // return ICommons; //} //获取当前屏幕显示的viewcontroller (这里面获取的相当于rootViewController) +(UINavigationController *)getCurrentVC { UIWindow * window = [[UIApplication sharedApplication] keyWindow]; if (window.windowLevel != UIWindowLevelNormal) { NSArray *windows = [[UIApplication sharedApplication] windows]; for(UIWindow * tmpWin in windows) { if (tmpWin.windowLevel == UIWindowLevelNormal) { window = tmpWin; break; } } } return (UINavigationController *)window.rootViewController; } //+(void)login //{ // if ([GlobalKit shareKit].accessToken) // { // [EZOPENSDK setAccessToken:[GlobalKit shareKit].accessToken]; // NSLog(@"login---1"); // } // else // { // [EZOPENSDK openLoginPage:^(EZAccessToken *accessToken) { // [[GlobalKit shareKit] setAccessToken:accessToken.accessToken]; // [EZOPENSDK setAccessToken:accessToken.accessToken]; // NSLog(@"login---2"); // }]; // } //} +(void)go2EZvizMonitor { NSLog(@"go2EZvizMonitor"); // if (isPad) { // //获取EZMain的stroyboard文件 // UIStoryboard *ezMainStoryboard = [UIStoryboard storyboardWithName:@"EZMainForIPad" bundle:nil]; // //获取EZMain.storyboard的实例ViewController--获取摄像头列表 // EZDeviceTableViewController *instanceVC = [ezMainStoryboard instantiateViewControllerWithIdentifier:@"EZCameraList"]; // //push摄像头列表的viewController // [[self getCurrentVC] setNavigationBarHidden:NO]; // [[self getCurrentVC] pushViewController:instanceVC animated:YES]; // }else{ //获取EZMain的stroyboard文件 UIStoryboard *ezMainStoryboard = [UIStoryboard storyboardWithName:@"EZMain" bundle:nil]; //获取EZMain.storyboard的实例ViewController--获取摄像头列表 EZDeviceTableViewController *instanceVC = [ezMainStoryboard instantiateViewControllerWithIdentifier:@"EZCameraList"]; //push摄像头列表的viewController [[self getCurrentVC] setNavigationBarHidden:NO]; NSLog(@"willpush********"); [[self getCurrentVC] pushViewController:instanceVC animated:YES]; NSLog(@"had pushed********"); // } } //+(NSArray *)getDeviceList:(int)pageIndex :(int)pageSize //{ // static NSMutableArray *deviceListaArray; // deviceListaArray=nil; // //判断本地保存的accessToken,然后向SDK设置AccessToken。 // if ([GlobalKit shareKit].accessToken) // { // [EZOPENSDK setAccessToken:[GlobalKit shareKit].accessToken]; // //获取列表 // [EZOpenSDK getDeviceList:0 pageSize:20 completion:^(NSArray *deviceList, NSInteger totalCount, NSError *error) { // deviceListaArray=[NSMutableArray array]; // //怎么将 这里block得到的数据return回去 // NSLog(@"原生deviceList.count****%ld",(unsigned long)deviceList.count); // for (int i=0; i= 7.0) { UIStoryboard *addDeviceStoryBoard = [UIStoryboard storyboardWithName:@"AddDevice" bundle:nil]; EZAddByQRCodeViewController *rootViewController = [addDeviceStoryBoard instantiateViewControllerWithIdentifier:@"AddByQRCode"]; [[self getCurrentVC] setNavigationBarHidden:NO]; [[self getCurrentVC] pushViewController:rootViewController animated:YES]; } else { // [UIView dd_showMessage:@"iOS 7.0以下扫码功能请自行实现"]; NSLog(@"iOS 7.0以下扫码功能请自行实现"); } } +(void)Play:(NSObject*)deviceInfo { // if (isPad) { // NSLog(@"play--ipad--"); // UIStoryboard *addDeviceStoryBoard = [UIStoryboard storyboardWithName:@"EZMainForIPad" bundle:nil]; // EZLivePlayViewController *rootViewController = [addDeviceStoryBoard instantiateViewControllerWithIdentifier:@"EZLivePlayViewController"]; // rootViewController.deviceInfo=(EZDeviceInfo *)deviceInfo; // rootViewController.cameraIndex=0; // [[self getCurrentVC] setNavigationBarHidden:NO]; // [[self getCurrentVC] pushViewController:rootViewController animated:YES]; // }else{ NSLog(@"play--iphone--1225"); UIStoryboard *addDeviceStoryBoard = [UIStoryboard storyboardWithName:@"EZMain" bundle:nil]; EZLivePlayViewController *rootViewController = [addDeviceStoryBoard instantiateViewControllerWithIdentifier:@"EZLivePlayViewController"]; NSLog(@"play--iphone--rootViewController"); rootViewController.deviceInfo=(EZDeviceInfo *)deviceInfo; NSLog(@"play--iphone--deviceName -%@",rootViewController.deviceInfo.deviceName); // rootViewController.cameraIndex=0; [[self getCurrentVC] setNavigationBarHidden:NO]; [[self getCurrentVC] pushViewController:rootViewController animated:YES]; // } } +(void)setting:(NSObject*)deviceInfo { // if (isPad) { // UIStoryboard *settingStoryBoard=[UIStoryboard storyboardWithName:@"EZMainForIPad" bundle:nil]; // EZSettingViewController *settingVC=[settingStoryBoard instantiateViewControllerWithIdentifier:@"EZSettingViewController"]; // settingVC.deviceInfo=(EZDeviceInfo *)deviceInfo; // [[self getCurrentVC] setNavigationBarHidden:NO]; // [[self getCurrentVC] pushViewController:settingVC animated:YES]; // }else{ UIStoryboard *settingStoryBoard=[UIStoryboard storyboardWithName:@"EZMain" bundle:nil]; EZSettingViewController *settingVC=[settingStoryBoard instantiateViewControllerWithIdentifier:@"EZSettingViewController"]; settingVC.deviceInfo=(EZDeviceInfo *)deviceInfo; [[self getCurrentVC] setNavigationBarHidden:NO]; [[self getCurrentVC] pushViewController:settingVC animated:YES]; // } } +(void)playBackVideo:(NSObject*)deviceInfo { // if (isPad) { // UIStoryboard *playBackStoryBoard=[UIStoryboard storyboardWithName:@"EZMainForIPad" bundle:nil]; // EZPlaybackViewController *playBackVC=[playBackStoryBoard instantiateViewControllerWithIdentifier:@"EZPlaybackViewController"]; // playBackVC.deviceInfo=(EZDeviceInfo *)deviceInfo; // playBackVC.cameraIndex=0; // [[self getCurrentVC] setNavigationBarHidden:NO]; // [[self getCurrentVC] pushViewController:playBackVC animated:YES]; // }else{ UIStoryboard *playBackStoryBoard=[UIStoryboard storyboardWithName:@"EZMain" bundle:nil]; EZPlaybackViewController *playBackVC=[playBackStoryBoard instantiateViewControllerWithIdentifier:@"EZPlaybackViewController"]; playBackVC.deviceInfo=(EZDeviceInfo *)deviceInfo; // playBackVC.cameraIndex=0; [[self getCurrentVC] setNavigationBarHidden:NO]; [[self getCurrentVC] pushViewController:playBackVC animated:YES]; // } } @end