Davin
2024-06-07 4c1abca185a5727da6fb314a0cb4cd44bfe1b3bf
EZSDK/EZSDK/EZSDK.m
@@ -7,21 +7,20 @@
#import "EZSDK.h"
//#import "DeviceInfo.h"
#import "EZDeviceInfo.h"
#import "EZOpenSDK.h"
#import <EZOpenSDKFramework/EZDeviceInfo.h>
#import <EZOpenSDKFramework/EZOpenSDK.h>
#import "GlobalKit.h"
#import "EZAccessToken.h"
#import <EZOpenSDKFramework/EZAccessToken.h>
#import "NSArray+DDKit.h"
#import "EZAddByQRCodeViewController.h"
#import "EZLivePlayViewController.h"
#import "EZSettingViewController.h"
#import "EZPlaybackViewController.h"
#import "EZDeviceTableViewController.h"
#import "EZHCNetDeviceSDK.h"
#import <EZOpenSDKFramework/EZHCNetDeviceSDK.h>
#import "EZMessagePhotoViewController.h"
#import "HDLEZVisitorRecordViewController.h"
#import "HDLEZDeviceMsgListViewController.h"
@implementation EZSDK
@@ -52,11 +51,11 @@
        if (!LanguageIsChinese) {
            //海外版
            isHavelibInit = [EZGlobalSDK initLibWithAppKey:globalAppKey];
            NSLog(@"海外版key--%@",globalAppKey);
            HDLEZLog(@"海外版key--%@",globalAppKey);
        }else{
            isHavelibInit = [EZOpenSDK initLibWithAppKey:appKey];
            [[GlobalKit shareKit] setHdlAppKey:appKey];
            NSLog(@"国内版key--%@", appKey);
            HDLEZLog(@"国内版key--%@", appKey);
        }
        [EZHCNetDeviceSDK initSDK];
        [EZOPENSDK enableP2P:YES];
@@ -120,16 +119,35 @@
 */
-(void)go2EZvizMonitor
{
    //    NSLog(@"go2EZvizMonitor");
//    [GlobalKit shareKit].deviceType=HDLEZDeviceType_Default;
//    //    NSLog(@"go2EZvizMonitor");
//    //获取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********");
    [self toEZDeviceListViewWithFilterTypes:@[@""]];
}
/**
 直接跳转到萤石摄像头列表(筛掉门锁设备)
 @param filterTepes 过滤型号数组
 */
- (void)toEZDeviceListViewWithFilterTypes:(NSArray*)filterTepes{
    [GlobalKit shareKit].deviceType=HDLEZDeviceType_Default;
    //获取EZMain的stroyboard文件
    UIStoryboard *ezMainStoryboard = [UIStoryboard storyboardWithName:@"EZMain" bundle:nil];
    //获取EZMain.storyboard的实例ViewController--获取摄像头列表
    EZDeviceTableViewController *instanceVC = [ezMainStoryboard instantiateViewControllerWithIdentifier:@"EZCameraList"];
    instanceVC.filterTypes=filterTepes;
    //push摄像头列表的viewController
    [[self getCurrentVC] setNavigationBarHidden:NO];
    //        NSLog(@"willpush********");
//    [[self getCurrentVC].navigationBar setHidden:NO];
    [[self getCurrentVC] pushViewController:instanceVC animated:YES];
    //        NSLog(@"had pushed********");
}
/**
@@ -147,20 +165,22 @@
//        //        [UIView dd_showMessage:@"iOS 7.0以下扫码功能请自行实现"];
//        NSLog(@"iOS 7.0以下扫码功能请自行实现");
//    }
    [self addEzvizMonitorWithDeviceType:HDLEZDeviceType_Default];
    [self addEzvizMonitorWithDeviceType:@""];
}
/**
 跳转添加添加设备
 @param deviceType 设备类型
 */
- (void)addEzvizMonitorWithDeviceType:(HDLEZDeviceType)deviceType{
- (void)addEzvizMonitorWithDeviceType:(NSString *)deviceType{
    HDLEZDeviceType type=[deviceType isEqualToString:HDLEZ_DOOR_SPK] ? HDLEZDeviceType_Door : HDLEZDeviceType_Default;
    //    NSLog(@"添加摄像头");
    if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) {
        UIStoryboard *addDeviceStoryBoard = [UIStoryboard storyboardWithName:@"AddDevice" bundle:nil];
        EZAddByQRCodeViewController *rootViewController = [addDeviceStoryBoard instantiateViewControllerWithIdentifier:@"AddByQRCode"];
        rootViewController.deviceType=deviceType;
        rootViewController.deviceType=type;
        [[self getCurrentVC] setNavigationBarHidden:NO];
        [[self getCurrentVC].navigationBar setHidden:NO];
        [[self getCurrentVC] pushViewController:rootViewController animated:YES];
    } else {
        //        [UIView dd_showMessage:@"iOS 7.0以下扫码功能请自行实现"];
@@ -173,16 +193,34 @@
 */
-(void)Play:(EZDeviceInfo*)deviceInfo
{
    [GlobalKit shareKit].deviceType=HDLEZDeviceType_Default;
    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].navigationBar setHidden:NO];
    [[self getCurrentVC] pushViewController:rootViewController animated:YES];
}
/**
 查看视频监控直播
 @param deviceInfo 设备信息
 @param msgId 消息Id
 @param isShow 是否展示呼叫弹框
 */
- (void)Play:(EZDeviceInfo*)deviceInfo messageId:(NSString *)msgId showCallout:(BOOL)isShow {
    [GlobalKit shareKit].deviceType=HDLEZDeviceType_Default;
    UIStoryboard *addDeviceStoryBoard = [UIStoryboard storyboardWithName:@"EZMain" bundle:nil];
    EZLivePlayViewController *rootViewController = [addDeviceStoryBoard instantiateViewControllerWithIdentifier:@"EZLivePlayViewController"];
    rootViewController.isShowAlert = isShow;
    rootViewController.deviceInfo=(EZDeviceInfo *)deviceInfo;
    rootViewController.msgId = msgId;
    NSLog(@"play--iphone--deviceName -%@",rootViewController.deviceInfo.deviceName);
    [[self getCurrentVC].navigationBar setHidden:NO];
    [[self getCurrentVC] pushViewController:rootViewController animated:YES];
}
/// 指定序列号播放
@@ -201,6 +239,61 @@
    }];
}
/// 指定序列号 查看视频监控直播(猫眼呼叫功能)
/// @param deviceSerial 序列号
- (void)PlayWithDeviceSerial:(NSString *)deviceSerial msgId:(NSString *)msgId {
    //获取设备列表接口
    [EZOpenSDK getDeviceInfo:deviceSerial completion:^(EZDeviceInfo *deviceInfo, NSError *error) {
        if(error)
        {
            NSLog(@"EZ 查询设备信息失败");
            return;
        }
        if (deviceInfo) {
            [self Play:deviceInfo messageId:msgId showCallout:YES];
        }
    }];
}
/**
 根据序列号进入门锁视频
 @param deviceSerial 序列号
 @param deviceId 设备id
 @param deviceType 设备spk(用于区分是否为门锁)
 */
-(void)PlayWithDeviceSerial:(NSString *)deviceSerial deviceId:(NSString*)deviceId deviceType:(NSString *)deviceType{
    if ([[self getCurrentVC] isKindOfClass:[EZLivePlayViewController class]]) {//防止重复进入
        return;
    }
    [GlobalKit shareKit].deviceType=[deviceType isEqualToString:HDLEZ_DOOR_SPK] ? HDLEZDeviceType_Door : HDLEZDeviceType_Default;
    UIStoryboard *ezMainStoryBoard = [UIStoryboard storyboardWithName:@"EZMain" bundle:nil];
    EZLivePlayViewController *vc = [ezMainStoryBoard instantiateViewControllerWithIdentifier:@"EZLivePlayViewController"];
    vc.deviceId=deviceId;
    vc.deviceSerial=deviceSerial;
    vc.isVideoDoorLock = [deviceType isEqualToString:HDLEZ_DOOR_SPK];
    [[self getCurrentVC] setNavigationBarHidden:NO];
    [[self getCurrentVC].navigationBar setHidden:NO];
    [[self getCurrentVC] pushViewController:vc animated:YES];
}
-(void)PlayWithDeviceSerial:(NSString *)deviceSerial deviceId:(NSString*)deviceId deviceType:(NSString *)deviceType msgId:(NSString *)msgId {
    if ([[self getCurrentVC] isKindOfClass:[EZLivePlayViewController class]]) {//防止重复进入
        return;
    }
    [GlobalKit shareKit].deviceType=[deviceType isEqualToString:HDLEZ_DOOR_SPK] ? HDLEZDeviceType_Door : HDLEZDeviceType_Default;
    UIStoryboard *ezMainStoryBoard = [UIStoryboard storyboardWithName:@"EZMain" bundle:nil];
    EZLivePlayViewController *vc = [ezMainStoryBoard instantiateViewControllerWithIdentifier:@"EZLivePlayViewController"];
    vc.deviceId=deviceId;
    vc.deviceSerial=deviceSerial;
    vc.isShowAlert = YES;
    vc.msgId = msgId;
    vc.isVideoDoorLock = [deviceType isEqualToString:HDLEZ_DOOR_SPK];
    [[self getCurrentVC] setNavigationBarHidden:NO];
    [[self getCurrentVC].navigationBar setHidden:NO];
    [[self getCurrentVC] pushViewController:vc animated:YES];
}
/**
 打开摄像头设置页面
 */
@@ -210,6 +303,7 @@
    EZSettingViewController *settingVC=[settingStoryBoard instantiateViewControllerWithIdentifier:@"EZSettingViewController"];
    settingVC.deviceInfo=(EZDeviceInfo *)deviceInfo;
    [[self getCurrentVC] setNavigationBarHidden:NO];
    [[self getCurrentVC].navigationBar setHidden:NO];
    [[self getCurrentVC] pushViewController:settingVC animated:YES];
}
@@ -222,6 +316,7 @@
    EZPlaybackViewController *playBackVC=[playBackStoryBoard instantiateViewControllerWithIdentifier:@"EZPlaybackViewController"];
    playBackVC.deviceInfo=(EZDeviceInfo *)deviceInfo;
    [[self getCurrentVC] setNavigationBarHidden:NO];
    [[self getCurrentVC].navigationBar setHidden:NO];
    [[self getCurrentVC] pushViewController:playBackVC animated:YES];
}
@@ -231,10 +326,23 @@
- (void)toTemPassView:(NSString*)deviceId{
    HDLEZVisitorRecordViewController *vc=[[HDLEZVisitorRecordViewController alloc] init];
    vc.deviceId=deviceId;
    [[self getCurrentVC] setNavigationBarHidden:YES];
//    [[self getCurrentVC] setNavigationBarHidden:YES];
    [[self getCurrentVC].navigationBar setHidden:YES];
    [[self getCurrentVC] pushViewController:vc animated:YES];
}
/**设备历史记录页
 @param deviceId 设备id
 */
- (void)toDeviceMsgListView:(NSString*)deviceId{
    HDLEZDeviceMsgListViewController *vc=[[HDLEZDeviceMsgListViewController alloc] init];
    vc.deviceId=deviceId;
//    [[self getCurrentVC] setNavigationBarHidden:YES];
    [[self getCurrentVC].navigationBar setHidden:YES];
    [[self getCurrentVC] pushViewController:vc animated:YES];
}
////
//-(void)goToEZMessagePhotoVC:(EZAlarmInfo*)alarmInfo{
//    UIStoryboard *addDeviceStoryBoard = [UIStoryboard storyboardWithName:@"EZMain" bundle:nil];