JLChen
2021-05-18 a869383e163a18cdedcf587383c1eca043129754
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
//
//  Copyright © 2018年 Zhejiang Dahua Technology Co.,Ltd. All rights reserved.
//    内部使用DHNetSDKIneterface,用于Swift的桥接
 
#import <Foundation/Foundation.h>
#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<DHApWifiInfo *> * Wifilist, NSInteger error))complete;
 
/**
 获取设备WIFI列表
 
 @param loginHandle 登录句柄
 @param complete 完成的处理
 */
+ (void)loadWifiListByLoginHandle:(long)loginHandle
                         complete:(void (^)(NSArray<DHApWifiInfo *> * 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