From 3698c13aba988cd3e41b91b255e1c682c057e565 Mon Sep 17 00:00:00 2001
From: chenqiyang <1406175257@qq.com>
Date: 星期四, 23 三月 2023 11:49:58 +0800
Subject: [PATCH] 1.新增历史记录相关页面及功能 2.修改配网为热点配网 3.设备列表增加过滤门锁功能 4.增加添加设备通知功能

---
 EZSDK/EZSDK/SDK/include/EZOpenSDK.h | 1201 +++++++++++++++++++++++++++++++-------------------------
 1 files changed, 665 insertions(+), 536 deletions(-)

diff --git a/EZSDK/EZSDK/SDK/include/EZOpenSDK.h b/EZSDK/EZSDK/SDK/include/EZOpenSDK.h
index 3d2bbf0..47fc8e3 100644
--- a/EZSDK/EZSDK/SDK/include/EZOpenSDK.h
+++ b/EZSDK/EZSDK/SDK/include/EZOpenSDK.h
@@ -1,13 +1,14 @@
 //
 //  EZOpenSDK.h
-//  EzvizOpenSDK
+//  EZOpenSDK
 //
-//  Created by DeJohn Dong on 15/9/10.
-//  Copyright (c) 2015骞� Ezviz. All rights reserved.
+//  Created by JuneCheng on 2022/7/18.
 //
 
-#import <UIKit/UIKit.h>
+#import <Foundation/Foundation.h>
 #import "EZConstants.h"
+#import "EZConstants_Auth.h"
+#import "EZConstants_WifiConfig.h"
 
 @class EZPlayer;
 @class EZDeviceInfo;
@@ -18,12 +19,15 @@
 @class EZProbeDeviceInfo;
 @class EZDeviceUpgradeStatus;
 @class EZLeaveMessage;
+@class EZWiFiItemInfo, EZAPDevInfo, EZConfigTokenInfo;
 
-/// 姝ょ被涓篍ZOpenSDK鎺ュ彛绫� 鐗瑰埆璇存槑锛�110001锛堝弬鏁伴敊璇級銆�110002锛圓ccessToken杩囨湡锛夈��149999銆�150000锛堟湇鍔$寮傚父锛夋槸鎵�鏈塰ttp鎺ュ彛锛堣繑鍥炲�兼槸NSOperation瀵硅薄鐨勫ぇ閮ㄥ垎鏄痟ttp鎺ュ彛锛夐兘浼氳繑鍥炵殑閫氱敤閿欒鐮侊紝400002涓烘帴鍙e弬鏁伴敊璇殑閫氱敤閿欒鐮�
+NS_ASSUME_NONNULL_BEGIN
+
 @interface EZOpenSDK : NSObject
 
+#pragma mark - Auth璁よ瘉鐩稿叧Api
+
 /**
- *  @since 3.0.0
  *  瀹炰緥EZOpenSDK鎺ュ彛
  *
  *  @param appKey 浼犲叆鐢宠鐨刟ppKey
@@ -46,7 +50,6 @@
                   authUrl:(NSString *)authUrl;
 
 /**
- *  @since 3.0.0
  *  閿�姣丒ZOpenSDK鎺ュ彛
  *
  *  @return YES/NO
@@ -54,23 +57,29 @@
 + (BOOL)destoryLib;
 
 /**
- *  @since 3.0.0
- *  鑾峰彇SDK鐗堟湰鍙锋帴鍙�
+ *  璁剧疆鏄惁鎵撳嵃debug鏃ュ織,闇�鍦ㄥ垵濮嬪寲sdk涔嬪墠璋冪敤
  *
- *  @return 鐗堟湰鍙�
+ *  @param enable 鏄惁鎵撳嵃鏃ュ織锛岄粯璁ゅ叧闂�
+ *
+ *  @return YES/NO
  */
-+ (NSString *)getVersion;
++ (BOOL)setDebugLogEnable:(BOOL)enable;
 
 /**
- *  @since 3.0.0
+ *  璁剧疆debug鏃ュ織鍥炶皟,闇�鍦ㄥ垵濮嬪寲sdk涔嬪墠璋冪敤
+ *
+ *  @param logCallback 鏃ュ織鍥炶皟
+ */
++ (void)setDebugLogCallBack:(void(^)(NSString *logStr))logCallback;
+
+/**
  *  鎵撳紑鎺堟潈鐧诲綍涓棿椤甸潰鎺ュ彛
  *
  *  @param block 鍥炶皟block
- */
+*/
 + (void)openLoginPage:(void (^)(EZAccessToken *accessToken))block;
 
 /**
- *  @since 3.0.0
  *  鎺堟潈鐧诲綍浠ュ悗缁橢ZOpenSDK璁剧疆accessToken鎺ュ彛
  *
  *  @param accessToken 鎺堟潈鐧诲綍鑾峰彇鐨刟ccessToken
@@ -78,113 +87,62 @@
 + (void)setAccessToken:(NSString *)accessToken;
 
 /**
- *  @since 3.0.0
  *  璐︽埛娉ㄩ攢鎺ュ彛
  *
  *  @param completion 鍥炶皟block锛宔rror涓虹┖琛ㄧず鐧诲嚭鎴愬姛
  */
 + (void)logout:(void (^)(NSError *error))completion;
 
+
 /**
- *  @since 3.0.0
- *  鏍规嵁alarmId鍒犻櫎鍛婅淇℃伅鎺ュ彛
- *
- *  @param alarmIds   鍛婅淇℃伅Id鏁扮粍(鍙互鍙湁涓�涓狪d)锛屾渶澶氫负10涓狪d锛屽惁鍒欎細鎶ラ敊
- *  @param completion 鍥炶皟block锛宔rror涓虹┖鏃惰〃绀哄垹闄ゆ垚鍔�
- *
- *  @return operation
+ 澶栭儴璺宠浆澶勭悊鏂规硶锛岄�傜敤浜巌OS9浠ヤ笂锛屽寘鎷琲OS9
+
+ @param url 璺宠浆杩囨潵鐨剈rl
+ @param options 鍙傛暟锛岄粯璁や负绌猴紝鐩墠鏈繘琛屽鐞嗭紝棰勭暀
+ @param delegate 濮旀墭
+ @return 缁撴灉
  */
-+ (NSURLSessionDataTask *)deleteAlarm:(NSArray *)alarmIds
-                  completion:(void (^)(NSError *error))completion;
++ (BOOL)handleOpenUrl:(NSURL *)url options:(NSDictionary *)options delegate:(id<EZOpenSDKDelegate>)delegate;
 
 /**
- *  @since 3.0.0
- *  璁剧疆鍛婅淇℃伅涓哄凡璇绘帴鍙�
+ *  鑾峰彇SDK鐗堟湰鍙锋帴鍙�
  *
- *  @param alarmIds   鍛婅淇℃伅Id鏁扮粍(鍙互鍙湁涓�涓狪d)锛屾渶澶氫负10涓猧d,鍚﹀垯浼氭姤閿�
- *  @param status     鍛婅娑堟伅鐘舵��
- *  @param completion 鍥炶皟block锛宔rror涓虹┖鏃惰〃绀鸿缃垚鍔�
- *
- *  @return operation
+ *  @return 鐗堟湰鍙�
  */
-+ (NSURLSessionDataTask *)setAlarmStatus:(NSArray *)alarmIds
-                    alarmStatus:(EZMessageStatus)status
-                     completion:(void (^)(NSError *error))completion;
-
++ (NSString *)getVersion;
 
 /**
- *  @since 3.0.0
- *  鏍规嵁璁惧搴忓垪鍙峰垹闄ゅ綋鍓嶈处鍙风殑璁惧鎺ュ彛
+ *  鎵撳紑浜戝瓨鍌ㄤ腑闂撮〉
  *
  *  @param deviceSerial 璁惧搴忓垪鍙�
- *  @param completion   鍥炶皟block锛宔rror涓虹┖鏃惰〃绀哄垹闄ゆ垚鍔�
- *  @see 璇ユ帴鍙d笌缁堢缁戝畾鍔熻兘鐩稿叧锛屼細閬囧埌鍒犻櫎鏃舵姤106002鐨勯敊璇紝璇峰叧闂粓绔粦瀹氫互鍚庡啀璇�
- *
- *  @return operation
+ *  @param channelNo    璁惧閫氶亾鍙�
  */
-+ (NSURLSessionDataTask *)deleteDevice:(NSString *)deviceSerial
-                   completion:(void (^)(NSError *error))completion;
++ (void)openCloudPage:(NSString *)deviceSerial channelNo:(NSInteger)channelNo;
 
 /**
- *  @since 3.0.0
- *  WiFi閰嶇疆寮�濮嬫帴鍙�
+ *  鎵撳紑淇敼瀵嗙爜涓棿椤�
  *
- *  @param ssid         杩炴帴WiFi SSID
- *  @param password     杩炴帴WiFi 瀵嗙爜
- *  @param deviceSerial 杩炴帴WiFi鐨勮澶囩殑璁惧搴忓垪鍙�
- *  @param statusBlock  杩斿洖杩炴帴璁惧鐨刉iFi閰嶇疆鐘舵��
- *
- *  @return YES/NO
+ *  @param completion 鍥炶皟block resultCode涓�0鏃惰〃绀轰慨鏀瑰瘑鐮佹垚鍔�
  */
-+ (BOOL)startConfigWifi:(NSString *)ssid
-               password:(NSString *)password
-           deviceSerial:(NSString *)deviceSerial
-           deviceStatus:(void (^)(EZWifiConfigStatus status))statusBlock;
++ (void)openChangePasswordPage:(void (^)(NSInteger resultCode))completion;
 
 /**
- *  @since 3.0.0
- *  Wifi閰嶇疆鍋滄鎺ュ彛
- *
- *  @return YES/NO
+ 鏄惁宸茬粡鐧诲綍
+
+ @return YES锛氬凡缁忕櫥褰曪紱NO锛氭湭鐧诲綍
  */
-+ (BOOL)stopConfigWifi;
++ (BOOL)isLogin;
 
 /**
- *  @since 3.0.0
- *  PTZ 鎺у埗鎺ュ彛
- *
- *  @param deviceSerial 璁惧搴忓垪鍙�
- *  @param cameraNo     閫氶亾鍙�
- *  @param command      ptz鎺у埗鍛戒护
- *  @param action       鎺у埗鍚姩/鍋滄
- *  @param speed        浜戝彴閫熷害锛�0-鎱紝1-閫備腑锛�2-蹇�
- *  @param resultBlock  鍥炶皟block锛屽綋error涓虹┖鏃惰〃绀烘搷浣滄垚鍔�
- *
- *  @return operation
+ 鑾峰彇褰撳墠accessToken
+
+ @return accessToken
  */
-+ (NSURLSessionDataTask *)controlPTZ:(NSString *)deviceSerial
-                   cameraNo:(NSInteger)cameraNo
-                    command:(EZPTZCommand)command
-                     action:(EZPTZAction)action
-                      speed:(NSInteger)speed
-                     result:(void (^)(NSError *error))resultBlock;
++ (NSString *)getAccesstoken;
+
+#pragma mark - 鎾斁鍣ㄥ垱寤篈pi
 
 /**
- *  @since 3.0.0
- *  鎽勫儚澶存樉绀烘帶鍒舵帴鍙�
- *
- *  @param deviceSerial 璁惧搴忓垪鍙�
- *  @param cameraNo     閫氶亾鍙�
- *  @param command      鏄剧ず鎺у埗鍛戒护
- *  @param resultBlock  鍥炶皟block锛屽綋error涓虹┖鏃惰〃绀烘搷浣滄垚鍔�
- */
-+ (void)controlVideoFlip:(NSString *)deviceSerial
-                cameraNo:(NSInteger)cameraNo
-                 command:(EZDisplayCommand)command
-                  result:(void (^)(NSError *error))resultBlock;
-
-/**
- *  @since 3.0.0
  *  鏍规嵁cameraId鏋勯�燛ZPlayer瀵硅薄
  *
  *  @param deviceSerial 璁惧搴忓垪鍙�
@@ -195,10 +153,31 @@
 + (EZPlayer *)createPlayerWithDeviceSerial:(NSString *)deviceSerial
                                   cameraNo:(NSInteger)cameraNo;
 
-+ (EZPlayer *)createPlayerWithDeviceSerial:(NSString *)deviceSerial strCameraNo:(NSString *)strCameraNo;
+/**
+ *  鏍规嵁cameraId鏋勯�燛ZPlayer瀵硅薄锛坒or 鍥芥爣锛�
+ *
+ *  @param deviceSerial 璁惧搴忓垪鍙�
+ *  @param strCameraNo     閫氶亾鍙�
+ *
+ *  @return EZPlayer瀵硅薄
+ */
++ (EZPlayer *)createPlayerWithDeviceSerial:(NSString *)deviceSerial
+                               strCameraNo:(NSString *)strCameraNo DEPRECATED_MSG_ATTRIBUTE("use createPlayerWithDeviceSerial:cameraNo: instead");
 
 /**
- *  @since 3.0.0
+ *  涓�涓〉闈㈠瓨鍦ㄥ涓棰戜娇鐢ㄦ渶灏忕殑鐮佹祦锛屾病鏈夊瓙鐮佹祦鐨勮瘽杩樻槸浣跨敤涓荤爜娴�
+ *
+ *  @param deviceSerial 璁惧搴忓垪鍙�
+ *  @param cameraNo     铏氭嫙閫氶亾
+ *  @param useSubStream   鏄惁浣跨敤瀛愮爜娴�
+ *
+ *  @return EZPlayer瀵硅薄
+ */
++ (EZPlayer *)createPlayerWithDeviceSerial:(NSString *)deviceSerial
+                                  cameraNo:(NSInteger)cameraNo
+                              useSubStream:(BOOL)useSubStream;
+
+/**
  *  鏍规嵁url鏋勯�燛ZPlayer瀵硅薄 锛堜富瑕佺敤鏉ュ鐞嗚棰戝箍鍦虹殑鎾斁锛�
  *
  *  @param url 鎾斁url锛岀洰鍓嶅彧鏀寔璇ュ崗璁細ysproto://vtm.ys7.com:8554/live?dev=531993276&chn=1&stream=1&cln=1&isp=0&biz=3
@@ -209,7 +188,6 @@
 
 
 /**
- *  @since 3.0.0
  *  閲婃斁EZPlayer瀵硅薄
  *
  *  @param player EZPlayer瀵硅薄
@@ -218,234 +196,9 @@
  */
 + (BOOL)releasePlayer:(EZPlayer *)player;
 
-#pragma mark - V3.1 鏂板鍔犳帴鍙�
+#pragma mark - 鍙栨祦鐩稿叧Api
 
 /**
- *  @since 3.1.0
- *  鏁版嵁瑙e瘑
- *
- *  @param data       闇�瑕佽В瀵嗙殑鏁版嵁
- *  @param verifyCode 璁惧楠岃瘉鐮�
- *
- *  @return 瑙e瘑鐨凬SData瀵硅薄锛屽鏋滆繑鍥炵殑鏁版嵁鏄┖鐨勶紝璇锋鏌ュ瘑鐮佹槸鍚︽纭垨鑰呬紶鍏ョ殑鏁版嵁鏄惁姝g‘銆�
- */
-+ (NSData *)decryptData:(NSData *)data verifyCode:(NSString *)verifyCode;
-
-
-#pragma mark - V3.2 鏂板鍔犳帴鍙�
-
-/**
- *  @since 3.2.0
- *  鑾峰彇璁惧鐨勭増鏈俊鎭帴鍙�
- *
- *  @param deviceSerial 璁惧搴忓垪鍙�
- *  @param completion   鍥炶皟block锛屾甯告椂杩斿洖EZDeviceVersion鐨勫璞′俊鎭紝閿欒鏃惰繑鍥為敊璇爜
- *
- *  @return operation
- */
-+ (NSURLSessionDataTask *)getDeviceVersion:(NSString *)deviceSerial
-                       completion:(void (^)(EZDeviceVersion *version, NSError *error))completion;
-
-
-/**
- *  @since 4.2.0
- *  閫氳繃璁惧楠岃瘉鐮佸紑鍏宠棰戝浘鐗囧姞瀵嗘帴鍙�
- *
- *  @param isEncrypt    鏄惁鍔犲瘑锛屽彧鏈塏O(鍏抽棴)鐨勬椂鍊欓渶瑕佽澶囬獙璇佺爜鐨勭浉鍏冲弬鏁�(vaildateCode)
- *  @param deviceSerial 璁惧搴忓垪鍙�
- *  @param verifyCode 璁惧楠岃瘉鐮�
- *  @param completion   鍥炶皟block锛宔rror涓虹┖鏃惰〃绀烘搷浣滄垚鍔�
- *
- *  @return operation
- */
-+ (NSURLSessionDataTask *)setDeviceEncryptStatus:(NSString *)deviceSerial
-                             verifyCode:(NSString *)verifyCode
-                                encrypt:(BOOL)isEncrypt
-                             completion:(void (^)(NSError *error))completion;
-
-/**
- *  @since 3.2.0
- *  鏍规嵁璁惧搴忓垪鍙蜂慨鏀硅澶囧悕绉版帴鍙�
- *
- *  @param deviceSerial 璁惧搴忓垪鍙�
- *  @param deviceName   璁惧鍚嶇О
- *  @param completion   鍥炶皟block锛宔rror涓虹┖鏃惰〃绀轰慨鏀规垚鍔�
- *
- *  @return operation
- */
-+ (NSURLSessionDataTask *)setDeviceName:(NSString *)deviceName
-                  deviceSerial:(NSString *)deviceSerial
-                    completion:(void (^)(NSError *error))completion;
-
-/**
- *  @since 3.2.0
- *  鑾峰彇鐢ㄦ埛鍩烘湰淇℃伅鐨勬帴鍙�
- *
- *  @param completion 鍥炶皟block锛� 姝e父鏃惰繑鍥濫ZUserInfo鐨勫璞★紝閿欒鏃惰繑鍥為敊璇爜
- *
- *  @return operation
- */
-+ (NSURLSessionDataTask *)getUserInfo:(void (^)(EZUserInfo *userInfo, NSError *error))completion;
-
-/**
- *  @since 3.2.0
- *  鏍规嵁璁惧搴忓垪鍙疯幏鍙栨湭璇绘秷鎭暟锛岃澶囧簭鍒楀彿涓虹┖鏃惰幏鍙栨墍鏈夎澶囩殑鏈娑堟伅鏁�
- *
- *  @param deviceSerial 闇�瑕佽幏鍙栫殑璁惧搴忓垪鍙凤紝涓虹┖鏃惰繑鍥炶处鎴蜂笅鎵�鏈夎澶囩殑鏈娑堟伅鏁�
- *  @param type         娑堟伅绫诲瀷锛欵ZMessageTypeAlarm 鍛婅娑堟伅锛�1锛夛紝EZMessageTypeLeave 鐣欒█娑堟伅锛�2锛�
- *  @param completion   鍥炶皟block锛屾甯告椂杩斿洖鏈鏁伴噺锛岄敊璇椂杩斿洖閿欒鐮�
- *
- *  @return operation
- */
-+ (NSURLSessionDataTask *)getUnreadMessageCount:(NSString *)deviceSerial
-                           messageType:(EZMessageType)type
-                            completion:(void (^)(NSInteger count, NSError *error))completion;
-
-/**
- *  @since 3.2.0
- *  鏍规嵁璁惧搴忓垪鍙疯幏鍙栬澶囩殑鐣欒█娑堟伅鍒楄〃
- *
- *  @param deviceSerial 闇�瑕佽幏鍙栫殑璁惧搴忓垪鍙�
- *  @param beginTime    寮�濮嬫椂闂�
- *  @param endTime      缁撴潫鏃堕棿
- *  @param pageIndex    鍒嗛〉椤电爜
- *  @param pageSize     鍒嗛〉鍗曢〉鏁伴噺
- *  @param completion   鍥炶皟block锛屾甯告椂杩斿洖EZLeaveMessage鐨勫璞℃暟缁勶紝閿欒鏃惰繑鍥為敊璇爜
- *
- *  @return operation
- */
-+ (NSURLSessionDataTask *)getLeaveMessageList:(NSString *)deviceSerial
-                           pageIndex:(NSInteger)pageIndex
-                            pageSize:(NSInteger)pageSize
-                           beginTime:(NSDate *)beginTime
-                             endTime:(NSDate *)endTime
-                          completion:(void (^)(NSArray *leaveMessageList, NSInteger totalCount, NSError *error))completion;
-
-/**
- *  @since 3.2.0
- *  鏍规嵁leaveId璁剧疆鐣欒█娑堟伅鐘舵��
- *
- *  @param leaveIds   鐣欒█娑堟伅Id鏁扮粍(鏈�澶ф暟閲忎负10锛屽厑璁稿彧鏈�1涓�)
- *  @param status     闇�瑕佽缃殑鐣欒█鐘舵�侊紝鐩墠鍙敮鎸� EZMessageStatusRead(宸茶)
- *  @param completion 鍥炶皟block锛宔rror涓虹┖琛ㄧず璁剧疆鎴愬姛
- *
- *  @return operation
- */
-+ (NSURLSessionDataTask *)setLeaveMessageStatus:(NSArray *)leaveIds
-                         messageStatus:(EZMessageStatus)status
-                            completion:(void (^)(NSError *error))completion;
-
-/**
- *  @since 3.2.0
- *  鏍规嵁leaveId鍒犻櫎鐣欒█娑堟伅
- *
- *  @param leaveIds   鐣欒█娑堟伅Id鏁扮粍(鏈�澶ф暟閲忎负10锛屽厑璁稿彧鏈�1涓�)
- *  @param completion 鍥炶皟block锛宔rror涓虹┖琛ㄧず鍒犻櫎鎴愬姛
- *
- *  @return operation
- */
-+ (NSURLSessionDataTask *)deleteLeaveMessage:(NSArray *)leaveIds
-                         completion:(void (^)(NSError *error))completion;
-
-/**
- *  @since 3.2.0
- *  鏍规嵁璁惧搴忓垪鍙疯幏鍙栧瓨鍌ㄤ粙璐ㄧ姸鎬�(濡傛槸鍚﹀垵濮嬪寲锛屾牸寮忓寲杩涘害绛�)
- *
- *  @param deviceSerial 璁惧搴忓垪鍙�
- *  @param completion   鍥炶皟block锛屾甯告椂杩斿洖EZStorageInfo鐨勫璞℃暟缁勶紝閿欒鏃惰繑鍥為敊璇爜
- *
- *  @return operation
- */
-+ (NSURLSessionDataTask *)getStorageStatus:(NSString *)deviceSerial
-                       completion:(void (^)(NSArray *storageStatus, NSError *error))completion;
-
-/**
- *  @since 3.2.0
- *  鏍规嵁璁惧搴忓垪鍙峰拰鍒嗗尯缂栧彿鏍煎紡鍖栧垎鍖猴紙SD鍗★級
- *
- *  @param deviceSerial 璁惧搴忓垪鍙�
- *  @param storageIndex 鏌ヨ杩斿洖鐨勫垎鍖哄彿锛�0琛ㄧず鍏ㄩ儴鏍煎紡鍖栵紝鍙兘浼氭湁鍑犲潡纭洏鐨勬儏鍐�
- *  @param completion   鍥炶皟block锛宔rror涓虹┖琛ㄧず璁剧疆鎴愬姛
- *
- *  @return operation
- */
-+ (NSURLSessionDataTask *)formatStorage:(NSString *)deviceSerial
-                  storageIndex:(NSInteger)storageIndex
-                    completion:(void (^)(NSError *error))completion;
-/**
- *  @since 3.2.0
- *  灏濊瘯鏌ヨ璁惧淇℃伅锛岃澶嘩ifi閰嶇疆鍓嶆煡璇竴娆¤澶囩殑淇℃伅
- *
- *  @param deviceSerial 璁惧搴忓垪鍙�
- *  @param deviceType 璁惧鍨嬪彿锛屾棤娉曡幏鍙栧埌璁惧鍨嬪彿鍒欏彲浼爊il
- *  @param completion   鍥炶皟block锛屾甯告椂杩斿洖EZProbeDeviceInfo瀵硅薄锛岄敊璇爜杩斿洖閿欒鐮�
- *  @see 鍏ㄦ柊鐨勮澶囨槸娌℃湁娉ㄥ唽鍒板钩鍙扮殑锛屾墍浠ヤ細鍑虹幇璁惧涓嶅瓨鍦ㄧ殑鎯呭喌锛岃澶噖ifi閰嶇疆鎴愬姛浠ュ悗浼氫笂鎶ユ暟鎹埌钀ょ煶浜戝钩鍙帮紝浠ュ悗姣忔鏌ヨ灏变笉浼氬嚭鐜拌澶囦笉瀛樺湪鐨勬儏鍐典簡銆�
- *
- *  @return operation
- */
-+ (NSURLSessionDataTask *)probeDeviceInfo:(NSString *) deviceSerial
-                      deviceType:(NSString *) deviceType
-                      completion:(void (^)(EZProbeDeviceInfo *deviceInfo, NSError *error))completion;
-
-/**
- *  @since 3.2.0
- *  鏍规嵁璁惧搴忓垪鍙疯幏鍙栬澶囧崌绾ф椂鐨勮繘搴︾姸鎬�
- *
- *  @param deviceSerial 璁惧搴忓垪鍙�
- *  @param completion   鍥炶皟block锛屾甯告椂杩斿洖EZDeviceUpgradeStatus瀵硅薄锛岄敊璇椂杩斿洖閿欒鐮�
- *
- *  @return operation
- */
-+ (NSURLSessionDataTask *)getDeviceUpgradeStatus:(NSString *)deviceSerial
-                             completion:(void (^)(EZDeviceUpgradeStatus *status, NSError *error))completion;
-
-/**
- *  @since 3.2.0
- *  閫氳繃璁惧搴忓垪鍙峰璁惧杩涜鍗囩骇鎿嶄綔锛屽墠鎻愭槸璇ヨ澶囨湁鏇存柊杞欢鐨勬彁绀�
- *
- *  @param deviceSerial 璁惧搴忓垪鍙�
- *  @param completion   鍥炶皟block锛宔rror涓虹┖琛ㄧず鎿嶄綔鎴愬姛
- *
- *  @return operation
- */
-+ (NSURLSessionDataTask *)upgradeDevice:(NSString *)deviceSerial
-                    completion:(void (^)(NSError *error))completion;
-
-
-/**
- *  @since 3.2.0
- *  鏍规嵁EZLeaveMessage瀵硅薄淇℃伅鑾峰彇璇煶鐣欒█娑堟伅鏁版嵁鎺ュ彛
- *  @param message    鐣欒█娑堟伅瀵硅薄
- *  @param completion 鍥炶皟block 锛坮esultCode = 1 琛ㄧず璇煶涓嬭浇鎴愬姛锛�-1琛ㄧず涓嬭浇澶辫触锛�
- *
- *  @return operation
- */
-+ (NSOperation *)getLeaveMessageData:(EZLeaveMessage *)message
-                          completion:(void (^)(NSData *data, NSInteger resultCode))completion;
-
-/**
- *  @since 1.0.0
- *  鎵撳紑浜戝瓨鍌ㄤ腑闂撮〉
- *
- *  @param deviceSerial 璁惧搴忓垪鍙�
- *  @param channelNo    璁惧閫氶亾鍙�
- */
-+ (void)openCloudPage:(NSString *)deviceSerial channelNo:(NSInteger)channelNo;
-
-#pragma mark - V3.3 鏂板鍔犳帴鍙�
-
-/**
- *  @since 3.3.0
- *  鎵撳紑淇敼瀵嗙爜涓棿椤�
- *
- *  @param completion 鍥炶皟block resultCode涓�0鏃惰〃绀轰慨鏀瑰瘑鐮佹垚鍔�
- */
-+ (void)openChangePasswordPage:(void (^)(NSInteger resultCode))completion;
-
-#pragma mark - V4.0 鏂板鍔犳帴鍙�
-
-/**
- *  @since 4.0.0
  *  璁剧疆p2p鍔熻兘鏄惁寮�鍚帴鍙o紝榛樿涓嶅紑鍚痯2p锛岀敤鎴疯嚜宸遍�夋嫨鏄惁寮�鍚�
  *
  *  @param enable p2p鏄惁寮�鍚�
@@ -453,47 +206,47 @@
 + (void)enableP2P:(BOOL)enable;
 
 /**
- *  @since 4.0.0
- *  璁剧疆鏄惁鎵撳嵃debug鏃ュ織,闇�鍦ㄥ垵濮嬪寲sdk涔嬪墠璋冪敤
- *
- *  @param enable 鏄惁鎵撳嵃鏃ュ織锛岄粯璁ゅ叧闂�
- *
- *  @return YES/NO
+ *  娓呴櫎鍙栨祦鏃剁殑缂撳瓨鏁版嵁
  */
-+ (BOOL)setDebugLogEnable:(BOOL)enable;
-
-#pragma mark - V4.2 鏂板鍔犳帴鍙�
++ (void)clearStreamInfoCache;
 
 /**
- *  @since 4.2.0
- *  鑾峰彇鐢ㄦ埛鎵�鏈夌殑璁惧鍒楄〃
- *
- *  @param pageIndex  鍒嗛〉褰撳墠椤电爜锛堜粠0寮�濮嬶級
- *  @param pageSize   鍒嗛〉姣忛〉鏁伴噺锛堝缓璁�20浠ュ唴锛�
- *  @param completion 鍥炶皟block锛屾甯告椂杩斿洖EZDeviceInfo鐨勫璞℃暟缁勫拰璁惧鎬绘暟锛岄敊璇椂杩斿洖閿欒鐮�
- *
- *  @return operation
+ *  鏄惁鏀寔鍥芥爣
+ *  @param enable YES or NO
  */
-+ (NSURLSessionDataTask *)getDeviceList:(NSInteger)pageIndex
-                               pageSize:(NSInteger)pageSize
-                             completion:(void (^)(NSArray *deviceList, NSInteger totalCount, NSError *error))completion;
++ (void)enableNationalStandard:(BOOL)enable;
 
 /**
- *  @since 4.2.0
- *  鑾峰彇鍒嗕韩缁欑敤鎴风殑璁惧鍒楄〃鎺ュ彛
+ *  鑾峰彇鎵�鏈夌殑p2p棰勮繛鎺ヨ澶囧簭鍒楀彿锛堝寘鎷鍦ㄨ繘琛岄鎿嶄綔鐨勪互鍙婇鎿嶄綔瀹屾垚鐨勶級
  *
- *  @param pageIndex  鍒嗛〉褰撳墠椤电爜锛堜粠0寮�濮嬶級
- *  @param pageSize   鍒嗛〉姣忛〉鏁伴噺锛堝缓璁�20浠ュ唴锛�
- *  @param completion 鍥炶皟block锛屾甯告椂杩斿洖EZDeviceInfo鐨勫璞℃暟缁勫拰璁惧鎬绘暟锛岄敊璇椂杩斿洖閿欒鐮�
- *
- *  @return operation
+ *  @return 璁惧搴忓垪鍙锋暟缁�
  */
-+ (NSURLSessionDataTask *)getSharedDeviceList:(NSInteger)pageIndex
-                                     pageSize:(NSInteger)pageSize
-                                   completion:(void (^)(NSArray *deviceList, NSInteger totalCount, NSError *error))completion;
++ (NSArray<NSString *> *)getAllProcessedPreconnectSerials;
 
 /**
- *  @since 4.2.0
+ *  鑾峰彇鎵�鏈夋鍦ㄦ帓闃熺殑p2p棰勮繛鎺ヨ澶囧簭鍒楀彿锛堟寚杩樻病鏈夎繘琛岄鎿嶄綔鐨勶級
+ *
+ *  @return 璁惧搴忓垪鍙锋暟缁�
+ */
++ (NSArray<NSString *> *)getAllToDoPreconnectSerials;
+
+/**
+ *  瀵规煇涓�璁惧杩涜p2p棰勮繛鎺ユ搷浣�
+ *
+ *  @param deviceSerial 璁惧搴忓垪鍙�
+ */
++ (void)startP2PPreconnect:(NSString *)deviceSerial;
+
+/**
+ *  瀵规煇涓�璁惧杩涜p2p棰勮繛鎺ユ竻闄ゆ搷浣�
+ *
+ *  @param deviceSerial 璁惧搴忓垪鍙�
+ */
++ (void)clearP2PPreconnect:(NSString *)deviceSerial;
+
+#pragma mark - 褰曞儚鏌ヨApi
+
+/**
  *  鏌ヨ浜戝瓨鍌ㄥ綍鍍忎俊鎭垪琛ㄦ帴鍙�
  *
  *  @param deviceSerial 璁惧搴忓垪鍙�
@@ -511,7 +264,6 @@
                                          completion:(void (^)(NSArray *couldRecords, NSError *error))completion;
 
 /**
- *  @since 4.2.0
  *  鏌ヨ杩滅▼SD鍗″瓨鍌ㄥ綍鍍忎俊鎭垪琛ㄦ帴鍙�
  *
  *  @param deviceSerial 璁惧搴忓垪鍙�
@@ -529,7 +281,277 @@
                                           completion:(void (^)(NSArray *deviceRecords, NSError *error))completion;
 
 /**
- *  @since 4.2.0
+ *  鏌ヨ杩滅▼SD鍗″瓨鍌ㄥ綍鍍忎俊鎭垪琛ㄦ帴鍙o紝鍚屼竴涓綍鍍忓彲浠ュ悓鏃舵槸瀹氭椂褰曞儚鍜屼簨浠跺綍鍍�
+ *
+ *  @param deviceSerial 璁惧搴忓垪鍙�
+ *  @param cameraNo     閫氶亾鍙�
+ *  @param beginTime    鏌ヨ鏃堕棿鑼冨洿寮�濮嬫椂闂�
+ *  @param endTime      鏌ヨ鏃堕棿鑼冨洿缁撴潫鏃堕棿
+ *  @param videoRecordType      褰曞儚绫诲瀷
+ *  @param completion   鍥炶皟block锛屾甯告椂杩斿洖EZDeviceRecordFile鐨勫璞℃暟缁勶紝閿欒鏃惰繑鍥為敊璇爜
+ *
+ *  @return operation
+ */
++ (NSURLSessionDataTask *)searchRecordFileFromDevice:(NSString *)deviceSerial
+                                            cameraNo:(NSInteger)cameraNo
+                                           beginTime:(NSDate *)beginTime
+                                             endTime:(NSDate *)endTime
+                                     videoRecordType:(EZVideoRecordType)videoRecordType
+                                          completion:(void (^)(NSArray *deviceRecords, NSError *error))completion;
+
+/**
+ *  鑾峰彇鎸囧畾鏃堕棿鍐呯殑鎵�鏈夊綍鍍忔枃浠�
+ *
+ *  @param deviceSerial 璁惧搴忓垪鍙�
+ *  @param cameraNo     閫氶亾鍙凤紝浼犲叆<=0鐨勫�煎垯涓洪粯璁ゅ��
+ *  @param beginTime    寮�濮嬫椂闂达紝浼犲叆nil鍒欎负褰撳ぉ00:00:00
+ *  @param endTime      缁撴潫鏃堕棿锛屼紶鍏il鍒欎负褰撳ぉ23:59:59
+ *  @param rectype      鍥炴斁婧愶紝0-绯荤粺鑷姩閫夋嫨锛�1-浜戝瓨鍌紝2-鏈湴褰曞儚銆傞潪蹇呴�夛紝榛樿涓�0锛屼紶鍏ヨ礋鍊煎垯涓洪粯璁ゅ��
+ *  @param bizType       璁惧褰掑睘涓氬姟鏉ユ簮
+ *  @param platFormId  骞冲彴ID
+ *  @param completion   鍥炶皟block records:EzvizRecordFileInfo鐨勬暟缁�
+ *
+ *  @return operation
+ */
++ (NSURLSessionDataTask *)searchRecordFile:(NSString *)deviceSerial
+                                  cameraNo:(NSString *)cameraNo
+                                 beginTime:(NSDate *)beginTime
+                                   endTime:(NSDate *)endTime
+                                   recType:(NSInteger)rectype
+                                   bizType:(NSString *)bizType
+                                platFormId:(NSString *)platFormId
+                                completion:(void (^)(id records, NSError *error))completion;
+
+#pragma mark - 璁惧鐩稿叧Api
+
+/**
+ *  鏍规嵁璁惧搴忓垪鍙峰拰璁惧楠岃瘉鐮佹坊鍔犺澶囨帴鍙�
+ *
+ *  @param deviceSerial 璁惧搴忓垪鍙�
+ *  @param verifyCode   璁惧楠岃瘉鐮�
+ *  @param completion   鍥炶皟block锛宔rror涓虹┖鏃惰〃绀烘坊鍔犳垚鍔�
+ *
+ *  @return operation
+ */
++ (NSURLSessionDataTask *)addDevice:(NSString *)deviceSerial
+                         verifyCode:(NSString *)verifyCode
+                         completion:(void (^)(NSError *error))completion;
+
+/**
+ *  鑾峰彇鐢ㄦ埛鎵�鏈夌殑璁惧鍒楄〃
+ *
+ *  @param pageIndex  鍒嗛〉褰撳墠椤电爜锛堜粠0寮�濮嬶級
+ *  @param pageSize   鍒嗛〉姣忛〉鏁伴噺锛堝缓璁�20浠ュ唴锛�
+ *  @param completion 鍥炶皟block锛屾甯告椂杩斿洖EZDeviceInfo鐨勫璞℃暟缁勫拰璁惧鎬绘暟锛岄敊璇椂杩斿洖閿欒鐮�
+ *
+ *  @return operation
+ */
++ (NSURLSessionDataTask *)getDeviceList:(NSInteger)pageIndex
+                               pageSize:(NSInteger)pageSize
+                             completion:(void (^)(NSArray *deviceList, NSInteger totalCount, NSError *error))completion;
+
+/**
+ *  鑾峰彇鍒嗕韩缁欑敤鎴风殑璁惧鍒楄〃鎺ュ彛
+ *
+ *  @param pageIndex  鍒嗛〉褰撳墠椤电爜锛堜粠0寮�濮嬶級
+ *  @param pageSize   鍒嗛〉姣忛〉鏁伴噺锛堝缓璁�20浠ュ唴锛�
+ *  @param completion 鍥炶皟block锛屾甯告椂杩斿洖EZDeviceInfo鐨勫璞℃暟缁勫拰璁惧鎬绘暟锛岄敊璇椂杩斿洖閿欒鐮�
+ *
+ *  @return operation
+ */
++ (NSURLSessionDataTask *)getSharedDeviceList:(NSInteger)pageIndex
+                                     pageSize:(NSInteger)pageSize
+                                   completion:(void (^)(NSArray *deviceList, NSInteger totalCount, NSError *error))completion;
+
+/**
+ *  鏍规嵁搴忓垪鍙疯幏鍙栬澶囦俊鎭�
+ *
+ *  @param deviceSerial 璁惧搴忓垪鍙�
+ *  @param completion 鍥炶皟block锛屾甯告椂杩斿洖EZDeviceInfo鐨勫璞★紝閿欒鏃惰繑鍥為敊璇爜
+ *
+ *  @return operation
+ */
++ (NSURLSessionDataTask *)getDeviceInfo:(NSString *)deviceSerial
+                             completion:(void (^)(EZDeviceInfo *deviceInfo, NSError *error))completion;
+
+/**
+ *  鑾峰彇璁惧鐨勭増鏈俊鎭帴鍙�
+ *
+ *  @param deviceSerial 璁惧搴忓垪鍙�
+ *  @param completion   鍥炶皟block锛屾甯告椂杩斿洖EZDeviceVersion鐨勫璞′俊鎭紝閿欒鏃惰繑鍥為敊璇爜
+ *
+ *  @return operation
+ */
++ (NSURLSessionDataTask *)getDeviceVersion:(NSString *)deviceSerial
+                                completion:(void (^)(EZDeviceVersion *version, NSError *error))completion;
+
+/**
+ *  閫氳繃璁惧楠岃瘉鐮佸紑鍏宠棰戝浘鐗囧姞瀵嗘帴鍙�
+ *
+ *  @param isEncrypt    鏄惁鍔犲瘑锛屽彧鏈塏O(鍏抽棴)鐨勬椂鍊欓渶瑕佽澶囬獙璇佺爜鐨勭浉鍏冲弬鏁�(vaildateCode)
+ *  @param deviceSerial 璁惧搴忓垪鍙�
+ *  @param verifyCode 璁惧楠岃瘉鐮�
+ *  @param completion   鍥炶皟block锛宔rror涓虹┖鏃惰〃绀烘搷浣滄垚鍔�
+ *
+ *  @return operation
+ */
++ (NSURLSessionDataTask *)setDeviceEncryptStatus:(NSString *)deviceSerial
+                                      verifyCode:(NSString *)verifyCode
+                                         encrypt:(BOOL)isEncrypt
+                                      completion:(void (^)(NSError *error))completion;
+
+/**
+ *  鏍规嵁璁惧搴忓垪鍙蜂慨鏀硅澶囧悕绉版帴鍙�
+ *
+ *  @param deviceSerial 璁惧搴忓垪鍙�
+ *  @param deviceName   璁惧鍚嶇О
+ *  @param completion   鍥炶皟block锛宔rror涓虹┖鏃惰〃绀轰慨鏀规垚鍔�
+ *
+ *  @return operation
+ */
++ (NSURLSessionDataTask *)setDeviceName:(NSString *)deviceName
+                           deviceSerial:(NSString *)deviceSerial
+                             completion:(void (^)(NSError *error))completion;
+
+/**
+ *  鏍规嵁璁惧搴忓垪鍙峰垹闄ゅ綋鍓嶈处鍙风殑璁惧鎺ュ彛
+ *
+ *  @param deviceSerial 璁惧搴忓垪鍙�
+ *  @param completion   鍥炶皟block锛宔rror涓虹┖鏃惰〃绀哄垹闄ゆ垚鍔�
+ *  @see 璇ユ帴鍙d笌缁堢缁戝畾鍔熻兘鐩稿叧锛屼細閬囧埌鍒犻櫎鏃舵姤106002鐨勯敊璇紝璇峰叧闂粓绔粦瀹氫互鍚庡啀璇�
+ *
+ *  @return operation
+ */
++ (NSURLSessionDataTask *)deleteDevice:(NSString *)deviceSerial
+                            completion:(void (^)(NSError *error))completion;
+
+/**
+ *  鏍规嵁璁惧搴忓垪鍙疯幏鍙栧瓨鍌ㄤ粙璐ㄧ姸鎬�(濡傛槸鍚﹀垵濮嬪寲锛屾牸寮忓寲杩涘害绛�)
+ *
+ *  @param deviceSerial 璁惧搴忓垪鍙�
+ *  @param completion   鍥炶皟block锛屾甯告椂杩斿洖EZStorageInfo鐨勫璞℃暟缁勶紝閿欒鏃惰繑鍥為敊璇爜
+ *
+ *  @return operation
+ */
++ (NSURLSessionDataTask *)getStorageStatus:(NSString *)deviceSerial
+                                completion:(void (^)(NSArray *storageStatus, NSError *error))completion;
+
+/**
+ *  鏍规嵁璁惧搴忓垪鍙峰拰鍒嗗尯缂栧彿鏍煎紡鍖栧垎鍖猴紙SD鍗★級
+ *
+ *  @param deviceSerial 璁惧搴忓垪鍙�
+ *  @param storageIndex 鏌ヨ杩斿洖鐨勫垎鍖哄彿锛�0琛ㄧず鍏ㄩ儴鏍煎紡鍖栵紝鍙兘浼氭湁鍑犲潡纭洏鐨勬儏鍐�
+ *  @param completion   鍥炶皟block锛宔rror涓虹┖琛ㄧず璁剧疆鎴愬姛
+ *
+ *  @return operation
+ */
++ (NSURLSessionDataTask *)formatStorage:(NSString *)deviceSerial
+                           storageIndex:(NSInteger)storageIndex
+                             completion:(void (^)(NSError *error))completion;
+
+/**
+ *  鏍规嵁璁惧搴忓垪鍙疯幏鍙栬澶囧崌绾ф椂鐨勮繘搴︾姸鎬�
+ *
+ *  @param deviceSerial 璁惧搴忓垪鍙�
+ *  @param completion   鍥炶皟block锛屾甯告椂杩斿洖EZDeviceUpgradeStatus瀵硅薄锛岄敊璇椂杩斿洖閿欒鐮�
+ *
+ *  @return operation
+ */
++ (NSURLSessionDataTask *)getDeviceUpgradeStatus:(NSString *)deviceSerial
+                                      completion:(void (^)(EZDeviceUpgradeStatus *status, NSError *error))completion;
+
+/**
+ *  閫氳繃璁惧搴忓垪鍙峰璁惧杩涜鍗囩骇鎿嶄綔锛屽墠鎻愭槸璇ヨ澶囨湁鏇存柊杞欢鐨勬彁绀�
+ *
+ *  @param deviceSerial 璁惧搴忓垪鍙�
+ *  @param completion   鍥炶皟block锛宔rror涓虹┖琛ㄧず鎿嶄綔鎴愬姛
+ *
+ *  @return operation
+ */
++ (NSURLSessionDataTask *)upgradeDevice:(NSString *)deviceSerial
+                             completion:(void (^)(NSError *error))completion;
+
+/**
+ *  鑾峰彇鎶撳彇鎽勫儚澶村浘鐗囩殑url鎺ュ彛
+ *
+ *  @param deviceSerial 璁惧搴忓垪鍙�
+ *  @param cameraNo     閫氶亾鍙�
+ *  @param completion   鍥炶皟block锛屾甯告椂杩斿洖url鍦板潃淇℃伅锛岄敊璇椂杩斿洖閿欒鐮�
+ *  @see 璇ユ帴鍙f瘮杈冭�楁椂锛屼笉寤鸿杩涜鎵归噺璁惧鎶撳浘锛孲DK鍐呴儴鍙敮鎸�6涓猦ttp璇锋眰骞跺彂锛岃鎺ュ彛浼氭寔缁崰鐢╤ttp璇锋眰璧勬簮锛屽鏋滈亣鍒癶ttp璇锋眰寤舵椂宸ㄥぇ闂锛屼紭鍏堣�冭檻鎶撳浘鎺ュ彛骞跺彂閫犳垚鐨勯棶棰�,
+ *  鎶撳浘灏嗗湪鏈嶅姟鍣ㄧ淇濈暀2涓皬鏃�
+ *
+ *  @return operation
+ */
++ (NSURLSessionDataTask *)captureCamera:(NSString *)deviceSerial
+                               cameraNo:(NSInteger)cameraNo
+                             completion:(void (^)(NSString *url, NSError *error))completion;
+
+/**
+ *  璁剧疆璁惧閫氶亾鐨勬竻鏅板害
+ *
+ *  @param deviceSerial 璁惧搴忓垪鍙�
+ *  @param cameraNo     閫氶亾鍙�
+ *  @param videoLevel   閫氶亾娓呮櫚搴︼紝0-娴佺晠锛�1-鍧囪 锛�2-楂樻竻锛�3-瓒呮竻
+ *  @param completion   鍥炶皟block锛屾棤error琛ㄧず璁剧疆鎴愬姛
+ *  @see 濡傛灉鏄鍦ㄦ挱鏀炬椂璋冪敤璇ユ帴鍙o紝璁剧疆娓呮櫚搴︽垚鍔熶互鍚庡繀椤昏EZPlayer璋冪敤stopRealPlay鍐嶈皟鐢╯tartRealPlay閲嶆柊鍙栨祦鎵嶆垚瀹屾垚鐢婚潰娓呮櫚搴︾殑鍒囨崲銆�
+ *
+ *  @return operation
+ */
++ (NSURLSessionDataTask *)setVideoLevel:(NSString *)deviceSerial
+                               cameraNo:(NSInteger)cameraNo
+                             videoLevel:(EZVideoLevelType)videoLevel
+                             completion:(void (^)(NSError *error))completion;
+
+/**
+ *  璁惧璁剧疆甯冮槻鐘舵�侊紝鍏煎A1鍜孖PC璁惧鐨勫竷闃�
+ *
+ *  @param defence      甯冮槻鐘舵��, IPC甯冮槻鐘舵�佸彧鏈�0鍜�1锛孉1鏈�0:鐫$湢 8:鍦ㄥ 16:澶栧嚭
+ *  @param deviceSerial 璁惧搴忓垪鍙�
+ *  @param completion   鍥炶皟block锛宔rror涓虹┖琛ㄧず璁剧疆鎴愬姛
+ *
+ *  @return operation
+ */
++ (NSURLSessionDataTask *)setDefence:(EZDefenceStatus)defence
+                        deviceSerial:(NSString *)deviceSerial
+                          completion:(void (^)(NSError *error))completion;
+
+#pragma mark - 浜戝彴鎺у埗Api
+
+/**
+ *  PTZ 鎺у埗鎺ュ彛
+ *
+ *  @param deviceSerial 璁惧搴忓垪鍙�
+ *  @param cameraNo     閫氶亾鍙�
+ *  @param command      ptz鎺у埗鍛戒护
+ *  @param action       鎺у埗鍚姩/鍋滄
+ *  @param speed        浜戝彴閫熷害锛�0-鎱紝1-閫備腑锛�2-蹇�
+ *  @param resultBlock  鍥炶皟block锛屽綋error涓虹┖鏃惰〃绀烘搷浣滄垚鍔�
+ *
+ *  @return operation
+ */
++ (NSURLSessionDataTask *)controlPTZ:(NSString *)deviceSerial
+                            cameraNo:(NSInteger)cameraNo
+                             command:(EZPTZCommand)command
+                              action:(EZPTZAction)action
+                               speed:(NSInteger)speed
+                              result:(void (^)(NSError *error))resultBlock;
+
+/**
+ *  鎽勫儚澶存樉绀烘帶鍒舵帴鍙�
+ *
+ *  @param deviceSerial 璁惧搴忓垪鍙�
+ *  @param cameraNo     閫氶亾鍙�
+ *  @param command      鏄剧ず鎺у埗鍛戒护
+ *  @param resultBlock  鍥炶皟block锛屽綋error涓虹┖鏃惰〃绀烘搷浣滄垚鍔�
+ */
++ (void)controlVideoFlip:(NSString *)deviceSerial
+                cameraNo:(NSInteger)cameraNo
+                 command:(EZDisplayCommand)command
+                  result:(void (^)(NSError *error))resultBlock;
+
+#pragma mark - 鍛婅鐩稿叧Api
+
+/**
  *  鏍规嵁璁惧搴忓垪鍙疯幏鍙栧憡璀︿俊鎭垪琛紝璁惧搴忓垪鍙蜂负nil鏃舵煡璇㈡暣涓处鎴蜂笅鐨勫憡璀︿俊鎭垪琛�
  *
  *  @param deviceSerial 璁惧搴忓垪鍙�
@@ -549,183 +571,216 @@
                             completion:(void (^)(NSArray *alarmList, NSInteger totalCount, NSError *error))completion;
 
 /**
- *  @since 4.2.0
- *  鏍规嵁璁惧搴忓垪鍙峰拰璁惧楠岃瘉鐮佹坊鍔犺澶囨帴鍙�
+ *  鍛婅鍥剧墖瑙e瘑鏂规硶锛岃澶囧姞瀵�
  *
- *  @param deviceSerial 璁惧搴忓垪鍙�
- *  @param verifyCode   璁惧楠岃瘉鐮�
- *  @param completion   鍥炶皟block锛宔rror涓虹┖鏃惰〃绀烘坊鍔犳垚鍔�
+ *  @param data       闇�瑕佽В瀵嗙殑鏁版嵁
+ *  @param verifyCode 璁惧楠岃瘉鐮�
+ *
+ *  @return 瑙e瘑鐨凬SData瀵硅薄锛屽鏋滆繑鍥炵殑鏁版嵁鏄┖鐨勶紝璇锋鏌ュ瘑鐮佹槸鍚︽纭垨鑰呬紶鍏ョ殑鏁版嵁鏄惁姝g‘銆�
+ */
++ (NSData *)decryptData:(NSData *)data verifyCode:(NSString *)verifyCode;
+
+/**
+ *  鍛婅鍥剧墖瑙e瘑鏂规硶锛岃澶囧姞瀵�
+ *
+ *  @param data       闇�瑕佽В瀵嗙殑鏁版嵁
+ *  @param verifyCode 璁惧楠岃瘉鐮�
+ *  @param type 1:璁惧鍔犲瘑锛�2锛氬钩鍙板姞瀵�
+ *
+ *  @return 瑙e瘑鐨凬SData瀵硅薄锛屽鏋滆繑鍥炵殑鏁版嵁鏄┖鐨勶紝璇锋鏌ュ瘑鐮佹槸鍚︽纭垨鑰呬紶鍏ョ殑鏁版嵁鏄惁姝g‘銆�
+ */
++ (NSData *)decryptData:(NSData *)data verifyCode:(NSString *)verifyCode encryptType:(NSInteger)type;
+
+/**
+ *  璁剧疆鍛婅淇℃伅涓哄凡璇绘帴鍙�
+ *
+ *  @param alarmIds   鍛婅淇℃伅Id鏁扮粍(鍙互鍙湁涓�涓狪d)锛屾渶澶氫负10涓猧d,鍚﹀垯浼氭姤閿�
+ *  @param status     鍛婅娑堟伅鐘舵��
+ *  @param completion 鍥炶皟block锛宔rror涓虹┖鏃惰〃绀鸿缃垚鍔�
  *
  *  @return operation
  */
-+ (NSURLSessionDataTask *)addDevice:(NSString *)deviceSerial
-                verifyCode:(NSString *)verifyCode
-                completion:(void (^)(NSError *error))completion;
++ (NSURLSessionDataTask *)setAlarmStatus:(NSArray *)alarmIds
+                             alarmStatus:(EZMessageStatus)status
+                              completion:(void (^)(NSError *error))completion;
 
 /**
- *  @since 4.2.0
- *  鑾峰彇鎶撳彇鎽勫儚澶村浘鐗囩殑url鎺ュ彛
+ *  鏍规嵁alarmId鍒犻櫎鍛婅淇℃伅鎺ュ彛
  *
- *  @param deviceSerial 璁惧搴忓垪鍙�
- *  @param cameraNo     閫氶亾鍙�
- *  @param completion   鍥炶皟block锛屾甯告椂杩斿洖url鍦板潃淇℃伅锛岄敊璇椂杩斿洖閿欒鐮�
- *  @see 璇ユ帴鍙f瘮杈冭�楁椂锛屼笉寤鸿杩涜鎵归噺璁惧鎶撳浘锛孲DK鍐呴儴鍙敮鎸�6涓猦ttp璇锋眰骞跺彂锛岃鎺ュ彛浼氭寔缁崰鐢╤ttp璇锋眰璧勬簮锛屽鏋滈亣鍒癶ttp璇锋眰寤舵椂宸ㄥぇ闂锛屼紭鍏堣�冭檻鎶撳浘鎺ュ彛骞跺彂閫犳垚鐨勯棶棰�,
- *  鎶撳浘灏嗗湪鏈嶅姟鍣ㄧ淇濈暀2涓皬鏃�
+ *  @param alarmIds   鍛婅淇℃伅Id鏁扮粍(鍙互鍙湁涓�涓狪d)锛屾渶澶氫负10涓狪d锛屽惁鍒欎細鎶ラ敊
+ *  @param completion 鍥炶皟block锛宔rror涓虹┖鏃惰〃绀哄垹闄ゆ垚鍔�
  *
  *  @return operation
  */
-+ (NSURLSessionDataTask *)captureCamera:(NSString *)deviceSerial
-                      cameraNo:(NSInteger)cameraNo
-                    completion:(void (^)(NSString *url, NSError *error))completion;
++ (NSURLSessionDataTask *)deleteAlarm:(NSArray *)alarmIds
+                           completion:(void (^)(NSError *error))completion;
 
 /**
- *  @since 4.2.0
- *  璁剧疆璁惧閫氶亾鐨勬竻鏅板害
+ *  鏍规嵁璁惧搴忓垪鍙疯幏鍙栨湭璇绘秷鎭暟锛岃澶囧簭鍒楀彿涓虹┖鏃惰幏鍙栨墍鏈夎澶囩殑鏈娑堟伅鏁�
  *
- *  @param deviceSerial 璁惧搴忓垪鍙�
- *  @param cameraNo     閫氶亾鍙�
- *  @param videoLevel   閫氶亾娓呮櫚搴︼紝0-娴佺晠锛�1-鍧囪 锛�2-楂樻竻锛�3-瓒呮竻
- *  @param completion   鍥炶皟block锛屾棤error琛ㄧず璁剧疆鎴愬姛
- *  @see 濡傛灉鏄鍦ㄦ挱鏀炬椂璋冪敤璇ユ帴鍙o紝璁剧疆娓呮櫚搴︽垚鍔熶互鍚庡繀椤昏EZPlayer璋冪敤stopRealPlay鍐嶈皟鐢╯tartRealPlay閲嶆柊鍙栨祦鎵嶆垚瀹屾垚鐢婚潰娓呮櫚搴︾殑鍒囨崲銆�
+ *  @param deviceSerial 闇�瑕佽幏鍙栫殑璁惧搴忓垪鍙凤紝涓虹┖鏃惰繑鍥炶处鎴蜂笅鎵�鏈夎澶囩殑鏈娑堟伅鏁�
+ *  @param type         娑堟伅绫诲瀷锛欵ZMessageTypeAlarm 鍛婅娑堟伅锛�1锛夛紝EZMessageTypeLeave 鐣欒█娑堟伅锛�2锛�
+ *  @param completion   鍥炶皟block锛屾甯告椂杩斿洖鏈鏁伴噺锛岄敊璇椂杩斿洖閿欒鐮�
  *
  *  @return operation
  */
-+ (NSURLSessionDataTask *)setVideoLevel:(NSString *)deviceSerial
-                      cameraNo:(NSInteger)cameraNo
-                    videoLevel:(EZVideoLevelType)videoLevel
-                    completion:(void (^)(NSError *error))completion;
++ (NSURLSessionDataTask *)getUnreadMessageCount:(NSString *)deviceSerial
+                                    messageType:(EZMessageType)type
+                                     completion:(void (^)(NSInteger count, NSError *error))completion;
 
+#pragma mark - 璇煶鐣欒█娑堟伅鏁版嵁Api
 
 /**
- *  @since 4.2.0
- *  璁惧璁剧疆甯冮槻鐘舵�侊紝鍏煎A1鍜孖PC璁惧鐨勫竷闃�
+ *  鏍规嵁璁惧搴忓垪鍙疯幏鍙栬澶囩殑鐣欒█娑堟伅鍒楄〃
  *
- *  @param defence      甯冮槻鐘舵��, IPC甯冮槻鐘舵�佸彧鏈�0鍜�1锛孉1鏈�0:鐫$湢 8:鍦ㄥ 16:澶栧嚭
- *  @param deviceSerial 璁惧搴忓垪鍙�
- *  @param completion   鍥炶皟block锛宔rror涓虹┖琛ㄧず璁剧疆鎴愬姛
+ *  @param deviceSerial 闇�瑕佽幏鍙栫殑璁惧搴忓垪鍙�
+ *  @param beginTime    寮�濮嬫椂闂�
+ *  @param endTime      缁撴潫鏃堕棿
+ *  @param pageIndex    鍒嗛〉椤电爜
+ *  @param pageSize     鍒嗛〉鍗曢〉鏁伴噺
+ *  @param completion   鍥炶皟block锛屾甯告椂杩斿洖EZLeaveMessage鐨勫璞℃暟缁勶紝閿欒鏃惰繑鍥為敊璇爜
  *
  *  @return operation
  */
-+ (NSURLSessionDataTask *)setDefence:(EZDefenceStatus)defence
-               deviceSerial:(NSString *)deviceSerial
-                 completion:(void (^)(NSError *error))completion;
-
-#pragma mark - V4.3 鏂板鍔犳帴鍙�
++ (NSURLSessionDataTask *)getLeaveMessageList:(NSString *)deviceSerial
+                                    pageIndex:(NSInteger)pageIndex
+                                     pageSize:(NSInteger)pageSize
+                                    beginTime:(NSDate *)beginTime
+                                      endTime:(NSDate *)endTime
+                                   completion:(void (^)(NSArray *leaveMessageList, NSInteger totalCount, NSError *error))completion;
 
 /**
- *  @since 4.3.0
- *  鏍规嵁搴忓垪鍙疯幏鍙栬澶囦俊鎭�
+ *  鏍规嵁leaveId璁剧疆鐣欒█娑堟伅鐘舵��
  *
- *  @param deviceSerial 璁惧搴忓垪鍙�
- *  @param completion 鍥炶皟block锛屾甯告椂杩斿洖EZDeviceInfo鐨勫璞★紝閿欒鏃惰繑鍥為敊璇爜
+ *  @param leaveIds   鐣欒█娑堟伅Id鏁扮粍(鏈�澶ф暟閲忎负10锛屽厑璁稿彧鏈�1涓�)
+ *  @param status     闇�瑕佽缃殑鐣欒█鐘舵�侊紝鐩墠鍙敮鎸� EZMessageStatusRead(宸茶)
+ *  @param completion 鍥炶皟block锛宔rror涓虹┖琛ㄧず璁剧疆鎴愬姛
  *
  *  @return operation
  */
-+ (NSURLSessionDataTask *)getDeviceInfo:(NSString *)deviceSerial
-                    completion:(void (^)(EZDeviceInfo *deviceInfo, NSError *error))completion;
++ (NSURLSessionDataTask *)setLeaveMessageStatus:(NSArray *)leaveIds
+                                  messageStatus:(EZMessageStatus)status
+                                     completion:(void (^)(NSError *error))completion;
 
 /**
- *  @since 4.3.0
- *  鑾峰彇缁堢锛堟墜鏈虹瓑锛夊敮涓�璇嗗埆鐮�
+ *  鏍规嵁leaveId鍒犻櫎鐣欒█娑堟伅
  *
- *  @return 缁堢鍞竴璇嗗埆鐮�
+ *  @param leaveIds   鐣欒█娑堟伅Id鏁扮粍(鏈�澶ф暟閲忎负10锛屽厑璁稿彧鏈�1涓�)
+ *  @param completion 鍥炶皟block锛宔rror涓虹┖琛ㄧず鍒犻櫎鎴愬姛
+ *
+ *  @return operation
  */
-+ (NSString *) getTerminalId;
-
-#pragma mark - V4.4 鏂板鍔犳帴鍙�
++ (NSURLSessionDataTask *)deleteLeaveMessage:(NSArray *)leaveIds
+                                  completion:(void (^)(NSError *error))completion;
 
 /**
- *  @since 4.4.0
- *  push鍒濆鍖栨帴鍙o紝涓嶉渶瑕乸ush鏈嶅姟鍒欐棤闇�璋冪敤
+ *  鏍规嵁EZLeaveMessage瀵硅薄淇℃伅鑾峰彇璇煶鐣欒█娑堟伅鏁版嵁鎺ュ彛
+ *  @param message    鐣欒█娑堟伅瀵硅薄
+ *  @param completion 鍥炶皟block 锛坮esultCode = 1 琛ㄧず璇煶涓嬭浇鎴愬姛锛�-1琛ㄧず涓嬭浇澶辫触锛�
+ *
+ *  @return operation
  */
-+ (void) initPushService;
++ (NSOperation *)getLeaveMessageData:(EZLeaveMessage *)message
+                          completion:(void (^)(NSData *data, NSInteger resultCode))completion;
 
-#pragma mark - V4.5 鏂板鍔犳帴鍙�
+#pragma mark - VideoTalk瑙嗛閫氳瘽鐩稿叧Api
 
 /**
- 娓呴櫎鍙栨祦鏃剁殑缂撳瓨鏁版嵁
+ * 鑾峰彇鎵嬭〃鏈嶅姟鐩稿叧淇℃伅
+ * @param deviceId 璁惧搴忓垪鍙�
+ * @param completion operation
  */
-+ (void) clearStreamInfoCache;
-
-#pragma mark - V4.8.2 鏂板鍔犳帴鍙�
++ (void)requestGetWatchServerInfo:(NSString *)deviceId
+                       completion:(void (^)(id watchServerInfo, NSError *error))completion;
 
 /**
- 鏄惁宸茬粡鐧诲綍
-
- @return YES锛氬凡缁忕櫥褰曪紱NO锛氭湭鐧诲綍
+ * 鍒涘缓浼氳淇℃伅
+ * @param password 鑷畾涔夊瘑鐮�
+ * @param customId 寮�鍙戣�呰嚜瀹氫箟鐢ㄦ埛ID
+ * @param limit 闄愬埗鏈�澶т汉鏁� 鏈�澶�100
+ * @param completion operation
  */
-+ (BOOL) isLogin;
++ (void)requestCallingMeetingInfo:(NSString *)password
+                         customId:(NSInteger)customId
+                            limit:(NSInteger)limit
+                       completion:(void (^)(int32_t roomId, NSString *vtmAddress, NSString *clientid, NSInteger customId, NSString *controlServerAddress, NSError *error))completion;
 
 /**
- 鑾峰彇褰撳墠accessToken
-
- @return accessToken
+ * 鍔犲叆鏂硅幏鍙栦細璁俊鎭�
+ * @param roomId  鎴块棿鍙�
+ * @param customId 寮�鍙戣�呰嚜瀹氫箟鐢ㄦ埛ID
+ * @param completion operation
  */
-+ (NSString *) getAccesstoken;
++ (void)requestCalledMeetingInfo:(NSString *)roomId
+                        customId:(NSInteger)customId
+                      completion:(void (^)(int32_t roomId, NSString *vtmAddress,NSString *clientid, NSInteger customId, NSString *controlServerAddress, NSError *error))completion;
 
 /**
- 鏍规嵁搴旂敤绫诲瀷鍒ゆ柇鏄惁瀹夎浜嗗搴旂殑搴旂敤
- 
- @param appType 搴旂敤绫诲瀷
- @return YES:宸插畨瑁咃紝NO:娌℃湁瀹夎鎴栧畨瑁呯殑钀ょ煶APP鐗堟湰杩囦綆
+ *  閭�璇疯澶囪繘鍏ユ埧闂�
+ *  @param roomId                                鎴块棿鍙�
+ *  @param deviceSerial                   璁惧搴忓垪鍙�
+ *  @param channelNo                         閫氶亾鍙�
+ *  @param streamType                       涓诲瓙鐮佹祦 1-涓荤爜娴侊紝2-瀛愮爜娴侊紝mode涓�2鏃跺彲涓嶄紶
+ *  @param mode                                    鍔犲叆妯″紡 1-鍙屽悜闊宠棰戞ā寮忥紙榛樿锛夛紝2-瀵硅妯″紡
+ *  @param maxActiveSeconds         鍏ヤ細鏈�闀挎椂闂达紙绉掞級
+ *  @param completion                       鍥炶皟block
+ *
+ *  @return operation
  */
-+ (BOOL) isEzvizAppInstalledWithType:(EZAppType) appType;
-
++ (NSURLSessionDataTask *)inviteDeviceEnterMeeting:(NSString *)roomId
+                                      deviceSerial:(NSString *)deviceSerial
+                                         channelNo:(NSInteger)channelNo
+                                        streamType:(NSInteger)streamType
+                                              mode:(NSInteger)mode
+                                  maxActiveSeconds:(NSInteger)maxActiveSeconds
+                                        completion:(void (^)(NSError *error))completion;
 
 /**
- 璺宠浆鍒版寚瀹氳悿鐭矨PP杩涜鎺堟潈鐧诲綍
-
- @param appType 钀ょ煶APP绫诲瀷
- @return 璺宠浆缁撴灉
+ *  寮哄埗璁惧閫�鍑烘埧闂�
+ *  @param roomId                                鎴块棿鍙�
+ *  @param deviceSerial                   璁惧搴忓垪鍙�
+ *  @param channelNo                         閫氶亾鍙�
+ *  @param completion                       鍥炶皟block
+ *
+ *  @return operation
  */
-+ (BOOL) ezvizLoginWithAppType:(EZAppType) appType;
++ (NSURLSessionDataTask *)kickoutDeviceMoveOutRoom:(NSString *)roomId
+                                      deviceSerial:(NSString *)deviceSerial
+                                         channelNo:(NSInteger)channelNo
+                                        completion:(void (^)(NSError *error))completion;
+
+#pragma mark - WiFi閰嶇綉鐩稿叧Api
 
 /**
- 璺宠浆鍒版寚瀹欰PP鐨勬寚瀹氱晫闈�
- 
- @param pageType 鐣岄潰绫诲瀷
- @param appType APP绫诲瀷
- @return 璺宠浆缁撴灉
+ *  灏濊瘯鏌ヨ璁惧淇℃伅锛岃澶嘩ifi閰嶇疆鍓嶆煡璇竴娆¤澶囩殑淇℃伅
+ *
+ *  @param deviceSerial 璁惧搴忓垪鍙�
+ *  @param deviceType 璁惧鍨嬪彿锛屾棤娉曡幏鍙栧埌璁惧鍨嬪彿鍒欏彲浼爊il
+ *  @param completion   鍥炶皟block锛屾甯告椂杩斿洖EZProbeDeviceInfo瀵硅薄锛岄敊璇爜杩斿洖閿欒鐮�
+ *  @see 鍏ㄦ柊鐨勮澶囨槸娌℃湁娉ㄥ唽鍒板钩鍙扮殑锛屾墍浠ヤ細鍑虹幇璁惧涓嶅瓨鍦ㄧ殑鎯呭喌锛岃澶噖ifi閰嶇疆鎴愬姛浠ュ悗浼氫笂鎶ユ暟鎹埌钀ょ煶浜戝钩鍙帮紝浠ュ悗姣忔鏌ヨ灏变笉浼氬嚭鐜拌澶囦笉瀛樺湪鐨勬儏鍐典簡銆�
+ *
+ *  @return operation
  */
-+ (BOOL) gotoEzvizAppPage:(EZAppPageType) pageType appType:(EZAppType) appType;
++ (NSURLSessionDataTask *)probeDeviceInfo:(NSString *)deviceSerial
+                               deviceType:(NSString *)deviceType
+                               completion:(void (^)(EZProbeDeviceInfo *deviceInfo, NSError *error))completion;
 
 /**
- 澶栭儴璺宠浆澶勭悊鏂规硶锛岄�傜敤浜巌OS9浠ヤ笂锛屽寘鎷琲OS9
-
- @param url 璺宠浆杩囨潵鐨剈rl
- @param opetions 鍙傛暟锛岄粯璁や负绌猴紝鐩墠鏈繘琛屽鐞嗭紝棰勭暀
- @param delegate 濮旀墭
- @return 缁撴灉
+ *  WiFi閰嶇疆寮�濮嬫帴鍙�
+ *
+ *  @param ssid         杩炴帴WiFi SSID
+ *  @param password     杩炴帴WiFi 瀵嗙爜
+ *  @param deviceSerial 杩炴帴WiFi鐨勮澶囩殑璁惧搴忓垪鍙�
+ *  @param statusBlock  杩斿洖杩炴帴璁惧鐨刉iFi閰嶇疆鐘舵��
+ *
+ *  @return YES/NO
  */
-+ (BOOL) handleOpenUrl:(NSURL *) url options:(NSDictionary *) opetions delegate:(id<EZOpenSDKDelegate>) delegate;
++ (BOOL)startConfigWifi:(NSString *)ssid
+               password:(NSString *)password
+           deviceSerial:(NSString *)deviceSerial
+           deviceStatus:(void (^)(EZWifiConfigStatus status))statusBlock;
 
 /**
- 澶栭儴璺宠浆澶勭悊鏂规硶锛岄�傜敤浜巌OS8浠ヤ笅,鍖呮嫭iOS8
-
- @param url 璺宠浆杩囨潵鐨剈rl
- @param delegate 濮旀墭
- @return 缁撴灉
- */
-+ (BOOL) handleOpenUrl:(NSURL *) url delegate:(id<EZOpenSDKDelegate>) delegate;
-
-/**
- 澶栭儴璺宠浆澶勭悊鏂规硶锛岄�傜敤浜巌OS8浠ヤ笅,鍖呮嫭iOS8
-
- @param url 璺宠浆杩囨潵鐨剈rl
- @param sourceApplication 婧怉PP
- @param annotation 娉ㄩ噴
- @param delegate 濮旀墭
- @return 缁撴灉
- */
-+ (BOOL) handleOpenUrl:(NSURL *) url
-     sourceApplication:(NSString *) sourceApplication
-            annotation:(id) annotation
-              delegate:(id<EZOpenSDKDelegate>) delegate;
-
-#pragma mark - V4.8.3 鏂板鍔犳帴鍙�
-
-/**
- *  @since 4.8.3
  *  WiFi閰嶇疆寮�濮嬫帴鍙�
  *
  *  @param ssid         杩炴帴WiFi SSID
@@ -736,82 +791,156 @@
  *
  *  @return YES/NO
  */
-+ (BOOL)startConfigWifi:(NSString *) ssid
-               password:(NSString *) password
-           deviceSerial:(NSString *) deviceSerial
-                   mode:(NSInteger) mode
-           deviceStatus:(void (^)(EZWifiConfigStatus status,NSString *deviceSerial))statusBlock;
-    
-#pragma mark - V4.8.4
++ (BOOL)startConfigWifi:(NSString *)ssid
+               password:(NSString *)password
+           deviceSerial:(NSString *)deviceSerial
+                   mode:(NSInteger)mode
+           deviceStatus:(void (^)(EZWifiConfigStatus status, NSString *deviceSerial))statusBlock;
+
 /**
- AP閰嶇綉鎺ュ彛
- 
- @param ssid WiFi鐨剆sid
- @param password WiFi鐨勫瘑鐮�
- @param deviceSerial 璁惧搴忓垪鍙�
- @param verifyCode 璁惧楠岃瘉鐮�
- @param callback 缁撴灉鍥炶皟
- @return 鎴愬姛鎴栧け璐�
+ *  WiFi閰嶇疆寮�濮嬫帴鍙�
+ *
+ *  @param ssid         杩炴帴WiFi SSID
+ *  @param password     杩炴帴WiFi 瀵嗙爜
+ *  @param deviceSerial 杩炴帴WiFi鐨勮澶囩殑璁惧搴忓垪鍙�,鎵归噺閰嶇疆鏃跺~nil
+ *  @param mode         閰嶇綉鐨勬柟寮忥紝EZWiFiConfigMode涓垪涓剧殑妯″紡杩涜浠绘剰缁勫悎,渚嬪:EZWiFiConfigSmart|EZWiFiConfigWave
+ *  @param apiUrl    鎸囧畾鍘诲摢涓钩鍙版煡璇�
+ *  @param statusBlock  杩斿洖璁惧搴忓垪鍙蜂互鍙婂綋鍓嶈繛鎺ョ姸鎬�
+ *
+ *  @return YES/NO
  */
-+ (BOOL)startAPConfigWifiWithSsid:(NSString *) ssid
-                         password:(NSString *) password
-                     deviceSerial:(NSString *) deviceSerial
-                       verifyCode:(NSString *) verifyCode
-                           result:(void (^)(BOOL ret)) callback;
-    
++ (BOOL)startConfigWifi:(NSString *)ssid
+               password:(NSString *)password
+           deviceSerial:(NSString *)deviceSerial
+                   mode:(NSInteger)mode
+                 apiUrl:(NSString *)apiUrl
+           deviceStatus:(void (^)(EZWifiConfigStatus status,NSString *deviceSerial))statusBlock;
+
 /**
- 鍋滄AP閰嶇綉
+ *  @since 3.0.0
+ *  Wifi閰嶇疆鍋滄鎺ュ彛
+ *
+ *  @return YES/NO
+ */
++ (BOOL)stopConfigWifi;
+
+#pragma mark - AP閰嶇綉鐩稿叧Api
+
+/**
+ * AP閰嶇綉鎺ュ彛
+ *
+ * @param ssid WiFi鐨剆sid
+ * @param password WiFi鐨勫瘑鐮�
+ * @param deviceSerial 璁惧搴忓垪鍙�
+ * @param verifyCode 璁惧楠岃瘉鐮�
+ * @param callback 缁撴灉鍥炶皟锛屾敞鎰忥細杩斿洖YES浠呬粎浠h〃鎴愬姛灏哤iFi淇℃伅鍙戦�佺粰璁惧锛屼笉浠h〃璁惧閰嶇綉鎴愬姛
+ * @return 鎴愬姛鎴栧け璐�
+ */
++ (BOOL)startAPConfigWifiWithSsid:(NSString *)ssid
+                         password:(NSString *)password
+                     deviceSerial:(NSString *)deviceSerial
+                       verifyCode:(NSString *)verifyCode
+                           result:(void (^)(BOOL ret))callback;
+
+/**
+ * AP閰嶇綉鎺ュ彛锛堟帹鑽愶紝v5.0鏂板锛屽皝瑁呬簡璁惧鐘舵�佽疆璇㈡楠わ級
+ *
+ * @param ssid WiFi鐨剆sid
+ * @param password WiFi鐨勫瘑鐮�
+ * @param deviceSerial 璁惧搴忓垪鍙�
+ * @param verifyCode 璁惧楠岃瘉鐮�
+ * @param statusBlock 缁撴灉鍥炶皟锛岃繑鍥為厤缃戣繃绋嬩腑鐨勫悇绉嶇姸鎬�
+ *
+ * @return 鎴愬姛鎴栧け璐�
+ */
++ (BOOL)startAPConfigWifiWithSsid:(NSString *)ssid
+                         password:(NSString *)password
+                     deviceSerial:(NSString *)deviceSerial
+                       verifyCode:(NSString *)verifyCode
+                     deviceStatus:(void (^)(EZWifiConfigStatus status, NSString *deviceSerial))statusBlock;
+
+/**
+ * 鍋滄AP閰嶇綉
  */
 + (void)stopAPConfigWifi;
 
-
-#pragma mark - v4.10
-
-/// 鑾峰彇鎵嬭〃鏈嶅姟鐩稿叧淇℃伅
-/// @param deviceId 璁惧搴忓垪鍙�
-/// @param completion operation
-+ (void)requestGetWatchServerInfo:(NSString *)deviceId
-                       completion:(void (^)(id watchServerInfo, NSError *error))completion;
-
-
-/// 鏄惁鏀寔鍥芥爣
-/// @param enable YES or NO
-+ (void)enableNationalStandard:(BOOL)enable;
-
-
-#pragma mark - v4.11
+#pragma mark - 鎺ヨЕ寮忛厤缃� New AP Config
 
 /**
-*  @since 4.11.0
-*  璁剧疆debug鏃ュ織鍥炶皟,闇�鍦ㄥ垵濮嬪寲sdk涔嬪墠璋冪敤
-*
-*  @param logCallback 鏃ュ織鍥炶皟
-*/
-+ (void)setDebugLogCallBack:(void(^)(NSString *logStr))logCallback;
-
-
-#pragma mark - v4.13
-/**
- *  鑾峰彇鎸囧畾鏃堕棿鍐呯殑鎵�鏈夊綍鍍忔枃浠�
+ * 鑾峰彇鎺ヨЕ寮廇P閰嶇綉token
  *
- *  @param deviceSerial 璁惧搴忓垪鍙�
- *  @param cameraNo     閫氶亾鍙凤紝浼犲叆<=0鐨勫�煎垯涓洪粯璁ゅ��
- *  @param beginTime    寮�濮嬫椂闂达紝浼犲叆nil鍒欎负褰撳ぉ00:00:00
- *  @param endTime      缁撴潫鏃堕棿锛屼紶鍏il鍒欎负褰撳ぉ23:59:59
- *  @param rectype      鍥炴斁婧愶紝0-绯荤粺鑷姩閫夋嫨锛�1-浜戝瓨鍌紝2-鏈湴褰曞儚銆傞潪蹇呴�夛紝榛樿涓�0锛屼紶鍏ヨ礋鍊煎垯涓洪粯璁ゅ��
- *  @param bizType       璁惧褰掑睘涓氬姟鏉ユ簮
- *  @param platFormId  骞冲彴ID
- *  @param completion   鍥炶皟block records:EzvizRecordFileInfo鐨勬暟缁�
+ * @param completion 鍥炶皟
+ *
+ * @return operation
+ */
++ (NSURLSessionDataTask *)getNewApConfigToken:(void(^)(EZConfigTokenInfo *tokenInfo, NSError *error))completion;
+
+/**
+ * 寮�濮婲ewAP閰嶇綉锛堥渶杩炴帴璁惧鐑偣锛�
+ * @param token 閰嶇綉token
+ * @param ssid WiFi ssid
+ * @param password WiFi 瀵嗙爜
+ * @param lbsDomain lbs 鍩熷悕
+ * @param handler 鍥炶皟
+ *
+ * @return 鎴愬姛鎴栧け璐�
+ */
++ (BOOL)startNewApConfigWithToken:(NSString *)token
+                             ssid:(NSString *)ssid
+                         password:(NSString *)password
+                        lbsDomain:(NSString *)lbsDomain
+                completionHandler:(void(^)(EZNewAPConfigStatus status, NSError *error))handler;
+
+/**
+ * 鑾峰彇璁惧鐘舵�侊紙闇�杩炴帴璁惧鐑偣锛�
+ *
+ * @param handler 鍥炶皟
+ */
++ (void)getAccessDeviceInfo:(void(^)(EZAPDevInfo *devInfo, NSError *error))handler;
+
+/**
+ * 鑾峰彇璁惧褰撳墠鍛ㄨ竟WiFi鍒楄〃锛屼笂闄�20涓紙闇�杩炴帴璁惧鐑偣锛�
+ *
+ * @param handler 鍥炶皟
+ */
++ (void)getAccessDeviceWifiList:(void(^)(NSArray<EZWiFiItemInfo*> *wifiList, NSError *error))handler;
+
+/**
+ * 鏌ヨ璁惧缁戝畾鐘舵��
+ * @param deviceSerial 璁惧搴忓垪鍙�
+ * @param completion 鍥炶皟block锛屾甯告椂杩斿洖EZProbeDeviceInfo瀵硅薄锛岄敊璇爜杩斿洖閿欒鐮�
+ *
+ * @return 鎴愬姛鎴栧け璐�
+ */
++ (NSURLSessionDataTask *)queryPlatformBindStatus:(NSString *)deviceSerial
+                                       completion:(void(^)(EZProbeDeviceInfo *deviceInfo, NSError *error))completion;
+
+/**
+ * 璁剧疆閰嶇綉璁惧缃戝叧鍦板潃 鍙��
+ * @param devRouteDomain 璁惧缃戝叧鍦板潃
+ */
++ (void)setDevRouteDomain:(NSString *)devRouteDomain;
+
+#pragma mark - 鐢ㄦ埛鐩稿叧Api
+
+/**
+ *  鑾峰彇鐢ㄦ埛鍩烘湰淇℃伅鐨勬帴鍙�
+ *
+ *  @param completion 鍥炶皟block锛� 姝e父鏃惰繑鍥濫ZUserInfo鐨勫璞★紝閿欒鏃惰繑鍥為敊璇爜
  *
  *  @return operation
  */
-+ (NSURLSessionDataTask *)searchRecordFile:(NSString *) deviceSerial
-                                  cameraNo:(NSString *) cameraNo
-                                 beginTime:(NSDate *) beginTime
-                                   endTime:(NSDate *) endTime
-                                   recType:(NSInteger) rectype
-                                   bizType:(NSString *)bizType
-                                platFormId:(NSString *)platFormId
-                                completion:(void (^)(id records, NSError *error))completion;
++ (NSURLSessionDataTask *)getUserInfo:(void (^)(EZUserInfo *userInfo, NSError *error))completion;
+
+#pragma mark - 鍏朵粬Api
+
+/**
+ *  鑾峰彇缁堢锛堟墜鏈虹瓑锛夊敮涓�璇嗗埆鐮�
+ *
+ *  @return 缁堢鍞竴璇嗗埆鐮�
+ */
++ (NSString *)getTerminalId;
 
 @end
+
+NS_ASSUME_NONNULL_END

--
Gitblit v1.8.0