//
|
// Copyright © 2019 dahua. All rights reserved.
|
//
|
|
#import "LCDeviceHandleInterface.h"
|
#import "LCNetworkRequestManager.h"
|
#import "TextDefine.h"
|
|
|
@implementation LCDeviceHandleInterface
|
|
+ (void)setDeviceSnapWithDevice:(NSString *)deviceId Channel:(NSString *)channelId success:(void (^)(NSString *picUrlString))success
|
failure:(void (^)(LCError *error))failure {
|
[[LCNetworkRequestManager manager] lc_POST:@"/setDeviceSnap" parameters:@{ KEY_DEVICE_ID: deviceId, KEY_CHANNEL_ID: channelId } success:^(id _Nonnull objc) {
|
NSDictionary *dic = objc;
|
if ([dic objectForKey:KEY_URL] && success) {
|
success(dic[KEY_URL]);
|
} else {
|
//需要处理URL为空情况
|
success(@"");
|
}
|
} failure:^(LCError *error) {
|
//开发者应自行处理错误
|
failure(error);
|
}];
|
}
|
|
+ (void)setDeviceSnapEnhancedWithDevice:(NSString *)deviceId Channel:(NSString *)channelId success:(void (^)(NSString *picUrlString))success
|
failure:(void (^)(LCError *error))failure {
|
[[LCNetworkRequestManager manager] lc_POST:@"/setDeviceSnapEnhanced" parameters:@{ KEY_DEVICE_ID: deviceId, KEY_CHANNEL_ID: channelId } success:^(id _Nonnull objc) {
|
NSDictionary *dic = objc;
|
if ([dic objectForKey:KEY_URL] && success) {
|
success(dic[KEY_URL]);
|
} else {
|
//需要处理URL为空情况
|
success(@"");
|
}
|
} failure:^(LCError *error) {
|
//开发者应自行处理错误
|
failure(error);
|
}];
|
}
|
|
+(void)controlMovePTZWithDevice:(NSString *)deviceId Channel:(NSString *)channelId Operation:(NSString *)operation Duration:(NSInteger)duration success:(void (^)(NSString * _Nonnull))success failure:(void (^)(LCError * _Nonnull))failure{
|
[[LCNetworkRequestManager manager] lc_POST:@"/controlMovePTZ" parameters:@{ KEY_DEVICE_ID: deviceId ,KEY_TOKEN:[LCApplicationDataManager token],KEY_CHANNEL_ID:channelId,KEY_OPERATION:operation,KEY_DURATION:@(duration)} success:^(id _Nonnull objc) {
|
NSLog(@"JIAFZ");
|
} failure:^(LCError *error) {
|
//开发者应自行处理错误
|
NSLog(@"云台j控制错误%@",error.errorMessage);;
|
failure(error);
|
}];
|
}
|
|
+ (void)wifiAroundDevice:(NSString *)deviceId success:(void (^)(LCAroundWifiInfo *wifiInfo))success
|
failure:(void (^)(LCError *error))failure {
|
[[LCNetworkRequestManager manager] lc_POST:@"/wifiAround" parameters:@{ KEY_DEVICE_ID: deviceId,KEY_TOKEN:[LCApplicationDataManager token] } success:^(id _Nonnull objc) {
|
LCAroundWifiInfo *info = [LCAroundWifiInfo mj_objectWithKeyValues:objc];
|
if (success) {
|
success(info);
|
}
|
} failure:^(LCError *error) {
|
//开发者应自行处理错误
|
failure(error);
|
}];
|
}
|
|
+ (void)currentDeviceWifiDevice:(NSString *)deviceId success:(void (^)(LCWifiInfo *wifiInfo))success
|
failure:(void (^)(LCError *error))failure {
|
[[LCNetworkRequestManager manager] lc_POST:@"/currentDeviceWifi" parameters:@{ KEY_DEVICE_ID: deviceId,KEY_TOKEN:[LCApplicationDataManager token] } success:^(id _Nonnull objc) {
|
LCWifiInfo *info = [LCWifiInfo mj_objectWithKeyValues:objc];
|
info.linkStatus = LinkStatusConnected;
|
if (success) {
|
success(info);
|
}
|
} failure:^(LCError *error) {
|
//开发者应自行处理错误
|
failure(error);
|
}];
|
}
|
|
+ (void)controlDeviceWifiFor:(NSString *)deviceId ConnestSession:(LCWifiConnectSession *)session success:(void (^)(void))success
|
failure:(void (^)(LCError *error))failure {
|
NSMutableDictionary *sessionDic = [session mj_keyValues];
|
[sessionDic removeObjectForKey:@"intensity"];
|
[sessionDic setValue:[NSNumber numberWithBool:YES] forKey:@"linkEnable"];
|
[sessionDic setValue:deviceId forKey:KEY_DEVICE_ID];
|
[sessionDic setValue:[LCApplicationDataManager token] forKey:KEY_TOKEN];
|
[[LCNetworkRequestManager manager] lc_POST:@"/controlDeviceWifi" parameters:sessionDic success:^(id _Nonnull objc) {
|
if (success) {
|
success();
|
}
|
} failure:^(LCError *error) {
|
//开发者应自行处理错误
|
failure(error);
|
}];
|
}
|
|
+ (void)upgradeDevice:(NSString *)deviceId success:(void (^)(void))success
|
failure:(void (^)(LCError *error))failure {
|
[[LCNetworkRequestManager manager] lc_POST:@"/upgradeDevice" parameters:@{ KEY_TOKEN:[LCApplicationDataManager token],KEY_DEVICE_ID: deviceId } success:^(id _Nonnull objc) {
|
if (success) {
|
success();
|
}
|
} failure:^(LCError *error) {
|
//开发者应自行处理错误
|
failure(error);
|
}];
|
}
|
|
+ (void)modifyDeviceAlarmStatus:(NSString *)deviceId channelId:(NSString *)channelId enable:(BOOL)enable success:(void (^)(void))success
|
failure:(void (^)(LCError *error))failure {
|
[[LCNetworkRequestManager manager] lc_POST:@"/modifyDeviceAlarmStatus" parameters:@{ KEY_TOKEN:[LCApplicationDataManager token],KEY_DEVICE_ID: deviceId, KEY_CHANNEL_ID: channelId, KEY_ENABLE: @(enable) } success:^(id _Nonnull objc) {
|
if (success) {
|
success();
|
}
|
} failure:^(LCError *error) {
|
//开发者应自行处理错误
|
failure(error);
|
}];
|
}
|
|
+ (void)deviceAlarmPlan:(NSString *)deviceId channelId:(NSString *)channelId success:(void (^)(LCAlarmPlan *plan))success
|
failure:(void (^)(LCError *error))failure {
|
[[LCNetworkRequestManager manager] lc_POST:@"/deviceAlarmPlan" parameters:@{ KEY_DEVICE_ID: deviceId, KEY_CHANNEL_ID: channelId } success:^(id _Nonnull objc) {
|
LCAlarmPlan *plan = [LCAlarmPlan mj_objectWithKeyValues:objc];
|
if (success) {
|
success(plan);
|
}
|
} failure:^(LCError *error) {
|
//开发者应自行处理错误
|
failure(error);
|
}];
|
}
|
|
+ (void)modifyDeviceAlarmPlan:(NSString *)deviceId LCAlarmPlan:(LCAlarmPlan *)plan success:(void (^)(void))success
|
failure:(void (^)(LCError *error))failure {
|
NSDictionary *planDic = [plan mj_keyValues];
|
[planDic setValue:KEY_DEVICE_ID forKey:deviceId];
|
[[LCNetworkRequestManager manager] lc_POST:@"/modifyDeviceAlarmPlan" parameters:planDic success:^(id _Nonnull objc) {
|
if (success) {
|
success();
|
}
|
} failure:^(LCError *error) {
|
//开发者应自行处理错误
|
failure(error);
|
}];
|
}
|
|
+ (void)breathingLightStatusForDevice:(NSString *)deviceId success:(void (^)(BOOL status))success
|
failure:(void (^)(LCError *error))failure {
|
[[LCNetworkRequestManager manager] lc_POST:@"/breathingLightStatus" parameters:@{ KEY_DEVICE_ID: deviceId } success:^(id _Nonnull objc) {
|
BOOL status = NO;
|
if ([[objc objectForKey:KEY_STATUS] isEqualToString:@"on"]) {
|
status = YES;
|
}
|
if (success) {
|
success(status);
|
}
|
} failure:^(LCError *error) {
|
//开发者应自行处理错误
|
failure(error);
|
}];
|
}
|
|
+ (void)modifyBreathingLightForDevice:(NSString *)deviceId Status:(BOOL)open success:(void (^)(void))success
|
failure:(void (^)(LCError *error))failure {
|
NSString *status = open ? @"on" : @"off";
|
[[LCNetworkRequestManager manager] lc_POST:@"/modifyBreathingLight" parameters:@{ KEY_DEVICE_ID: deviceId, KEY_STATUS: status } success:^(id _Nonnull objc) {
|
if (success) {
|
success();
|
}
|
} failure:^(LCError *error) {
|
//开发者应自行处理错误
|
failure(error);
|
}];
|
}
|
|
|
+ (void)frameReverseStatusForDevice:(NSString *)deviceId ChannelId:(NSString *)channelId success:(void (^)(NSString *direction))success
|
failure:(void (^)(LCError *error))failure {
|
[[LCNetworkRequestManager manager] lc_POST:@"/frameReverseStatus" parameters:@{ KEY_DEVICE_ID: deviceId, KEY_CHANNEL_ID: channelId } success:^(id _Nonnull objc) {
|
BOOL status = NO;
|
if ([[objc objectForKey:KEY_STATUS] isEqualToString:@"on"]) {
|
|
}
|
if (success) {
|
success([objc objectForKey:KEY_DIRECTION]);
|
}
|
} failure:^(LCError *error) {
|
//开发者应自行处理错误
|
failure(error);
|
}];
|
}
|
|
+ (void)modifyFrameReverseStatusForDevice:(NSString *)deviceId ChannelId:(NSString *)channelId Direction:(NSString *)direction success:(void (^)(void))success
|
failure:(void (^)(LCError *error))failure {
|
[[LCNetworkRequestManager manager] lc_POST:@"/modifyFrameReverseStatus" parameters:@{ KEY_DEVICE_ID: deviceId, KEY_CHANNEL_ID: channelId, KEY_DIRECTION: direction } success:^(id _Nonnull objc) {
|
if (success) {
|
success();
|
}
|
} failure:^(LCError *error) {
|
//开发者应自行处理错误
|
failure(error);
|
}];
|
}
|
|
|
+ (void)recoverSDCardForDevice:(NSString *)deviceId ChannelId:(NSString *)channelId success:(void (^)(NSString *result))success
|
failure:(void (^)(LCError *error))failure {
|
[[LCNetworkRequestManager manager] lc_POST:@"/recoverSDCard" parameters:@{ KEY_DEVICE_ID: deviceId, KEY_CHANNEL_ID: channelId } success:^(id _Nonnull objc) {
|
if (success) {
|
success([objc objectForKey:KEY_RESULT]);
|
}
|
} failure:^(LCError *error) {
|
//开发者应自行处理错误
|
failure(error);
|
}];
|
}
|
|
|
+ (void)setDeviceOsdForDevice:(NSString *)deviceId ChannelId:(NSString *)channelId enable:(BOOL)open OSD:(NSString *)osd success:(void (^)(void))success
|
failure:(void (^)(LCError *error))failure {
|
NSString *enableStr = open ? @"on" : @"off";
|
[[LCNetworkRequestManager manager] lc_POST:@"/setDeviceOsd" parameters:@{ KEY_DEVICE_ID: deviceId, KEY_CHANNEL_ID: channelId, KEY_ENABLE: enableStr, KEY_OSD: osd } success:^(id _Nonnull objc) {
|
if (success) {
|
success();
|
}
|
} failure:^(LCError *error) {
|
//开发者应自行处理错误
|
failure(error);
|
}];
|
}
|
|
|
+ (void)queryDeviceOsdForDevice:(NSString *)deviceId ChannelId:(NSString *)channelId success:(void (^)(BOOL enable, NSString *osd))success
|
failure:(void (^)(LCError *error))failure {
|
[[LCNetworkRequestManager manager] lc_POST:@"/queryDeviceOsd" parameters:@{ KEY_DEVICE_ID: deviceId, KEY_CHANNEL_ID: channelId } success:^(id _Nonnull objc) {
|
if (success) {
|
BOOL tempEnable = [@"on" isEqualToString:[objc objectForKey:KEY_ENABLE]] ? YES : NO;
|
success(tempEnable, [objc objectForKey:KEY_OSD]);
|
}
|
} failure:^(LCError *error) {
|
//开发者应自行处理错误
|
failure(error);
|
}];
|
}
|
|
+ (void)uploadDeviceCoverPictureForDevice:(NSString *)deviceId ChannelId:(NSString *)channelId PictureData:(NSData *)data success:(void (^)(NSString *picUrlString))success
|
failure:(void (^)(LCError *error))failure {
|
[[LCNetworkRequestManager manager] lc_POST:@"/uploadDeviceCoverPicture" parameters:@{ KEY_DEVICE_ID: deviceId, KEY_CHANNEL_ID: channelId, KEY_PICTURE_DATA: data } success:^(id _Nonnull objc) {
|
if (success) {
|
success([objc objectForKey:KEY_URL]);
|
|
}
|
} failure:^(LCError *error) {
|
//开发者应自行处理错误
|
failure(error);
|
}];
|
}
|
|
@end
|