// // Copyright © 2018年 Zhejiang Dahua Technology Co.,Ltd. All rights reserved. // 内部使用DHNetSDKIneterface,用于Swift的桥接 #import #import "DHApWifiInfo.h" #import "DHDeviceNetInfo.h" #import "DHDeviceResetPWDInfo.h" #import "DHDevicePWDResetInfo.h" @interface DHNetSDKHelper : NSObject + (void)loginDeviceByIp:(NSString *)devIp port:(NSInteger)port username:(NSString *)username password:(NSString *)password success:(void (^)(long loginHandle))success failure:(void (^)(NSString *description))failure; /// 兼容模式登陆 /// @param devIp IP地址 /// @param port 端口号 /// @param username 用户名 /// @param password 密码 /// @param success /// @param failure + (void)loginDeviceExByIp:(NSString *)devIp port:(NSInteger)port username:(NSString *)username password:(NSString *)password success:(void (^)(DHNetLoginDeviceInfo *deviceInfo))success failure:(void (^)(NSString *description))failure; /// 安全登陆(设备添加使用) /// @param devIp IP地址 /// @param port 端口号 /// @param username 用户名 /// @param password 密码 /// @param success /// @param failure + (void)loginWithHighLevelSecurityByIp:(NSString *)devIp port:(NSInteger)port username:(NSString *)username password:(NSString *)password success:(void (^)(long loginHandle))success failure:(void (^)(NSString *description))failure; /// 安全登陆(局域网预览登陆使用) /// @param devIp IP地址 /// @param port 端口号 /// @param username 用户名 /// @param password 密码 /// @param success /// @param failure + (void)loginWithHighLevelSecurityExByIp:(NSString *)devIp port:(NSInteger)port username:(NSString *)username password:(NSString *)password success:(void (^)(DHNetLoginDeviceInfo *deviceInfo))success failure:(void (^)(NSString *description))failure; /** 登出设备 @param loginHandle 登录句柄 @param completion 完成 */ + (void)logoutDevice:(long)loginHandle completion:(dispatch_block_t)completion; /** SC设备设置连接Wi-Fi @param mSSIDmSSID IP地址 @param password 端口号 @param encryptionAuthority wifi加密方式 @param complete 完成的处理 */ + (void)scDeviceApConnectWifi:(NSString *)mSSID password:(NSString *)password ip:(NSString *)deviceIP port:(NSInteger)port encryptionAuthority:(int)encryptionAuthority complete:(void (^)(NSInteger error))complete; /** 获取sc设备WIFI列表 @param loginHandle 登录句柄 @param complete 完成的处理 */ + (void)scDeviceApLoadWifiList:(NSString *)deviceIP port:(NSInteger)port complete:(void (^)(NSArray * Wifilist, NSInteger error))complete; /** 获取设备WIFI列表 @param loginHandle 登录句柄 @param complete 完成的处理 */ + (void)loadWifiListByLoginHandle:(long)loginHandle complete:(void (^)(NSArray * Wifilist, NSInteger error))complete; + (void)connectWIFIByDeviceId:(NSString *)deviceID ssid:(NSString *)ssid password:(NSString *)password devicePwd:(NSString *)devicePwd isSC:(BOOL)isSC complete:(void (^)(BOOL result))complete; + (void)queryProductDefinition:(long)loginHandle success:(void (^)(DHDeviceProductDefinition *))success failure:(dispatch_block_t)failure; // 查询设备权限 如云台权限 + (void)queryDeviceUserInfoDefinition:(long)loginHandle success:(void (^)(DHDeviceUserInfoDefinition *))success failure:(dispatch_block_t)failure; /** 异步查询设备支持的密码重置方式 @param device 设备 @param phoneIp 手机ip,可以为空 @param result 结果 */ + (void)queryPasswordResetType:(DHDeviceNetInfo *)device byPhoneIp:(NSString *)phoneIp result:(void(^) (DHDeviceResetPWDInfo *))result; /** 异步重置设备密码 @param password 密码 @param device 局域网搜索的设备信息 @param securityCode 验证码 @param contact 接收验证码的手机/邮箱 @param useAsPreset 是否设置为预留联系方式 @param phoneIp 手机ip @return YES/NO */ + (void)resetPassword:(NSString *)password device:(DHDeviceNetInfo *)device securityCode:(NSString *)securityCode contact:(NSString *)contact useAsPreset:(BOOL)useAsPreset byPhoneIp:(NSString *)phoneIp result:(void(^) (DHDevicePWDResetInfo *))result; + (void)startNetSDKReportByRequestId:(NSString *)requestId; + (void)stopNetSDKReport; @end