449 lines
16 KiB
Objective-C
449 lines
16 KiB
Objective-C
//
|
||
// AFNOHeaderHttpTool.m
|
||
// Ifish
|
||
//
|
||
// Created by imac on 16/10/27.
|
||
// Copyright © 2016年 lianxiang. All rights reserved.
|
||
//
|
||
|
||
#import "AFNOHeaderHttpTool.h"
|
||
#import "AFNetworking.h"
|
||
#import "SVProgressHUD.h"
|
||
#import "IfishDeviceInfo.h"
|
||
#define ContentType @"text/html"
|
||
@implementation AFNOHeaderHttpTool
|
||
- (instancetype)init
|
||
{
|
||
self = [super init];
|
||
if (self) {
|
||
// _manager = [AFHTTPSessionManager manager];
|
||
// //请求超时时间为15秒
|
||
// _manager.requestSerializer.timeoutInterval = 15;
|
||
// _manager.requestSerializer = [AFJSONRequestSerializer serializer];
|
||
// _manager.responseSerializer = [AFJSONResponseSerializer serializer];
|
||
// // // 内容类型
|
||
// _manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json",@"text/json",@"text/javascript",@"text/html", nil];
|
||
}
|
||
return self;
|
||
}
|
||
|
||
+ (AFNOHeaderHttpTool *)sharedInstance
|
||
{
|
||
static AFNOHeaderHttpTool *_instance = nil;
|
||
static dispatch_once_t once;
|
||
dispatch_once(&once, ^{
|
||
_instance = [[self alloc] init];
|
||
|
||
});
|
||
return _instance;
|
||
}
|
||
-(NSString *)getRequestPath:(NSString *)urlPath keysArray:(NSArray *)keys valuesArray:(NSArray *)values{
|
||
urlPath = [urlPath stringByAppendingString:@"?"];
|
||
for (int i=0; i<keys.count; i++) {
|
||
NSString *keyValue = [[NSString alloc]initWithFormat:@"%@",values[i]];
|
||
|
||
NSString * newValue = [keyValue stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
|
||
if(i==keys.count-1)
|
||
urlPath = [urlPath stringByAppendingString:[NSString stringWithFormat:@"%@=%@",keys[i],newValue]];
|
||
else
|
||
urlPath = [urlPath stringByAppendingString:[NSString stringWithFormat:@"%@=%@&",keys[i],newValue]];
|
||
|
||
}
|
||
return urlPath;
|
||
}
|
||
-(NSMutableURLRequest *)getUrlRequestWithPath:(NSString *)urlString keysArray:(NSArray *)keys valuesArray:(NSArray *)values{
|
||
|
||
// urlString = [Api_DomainName stringByAppendingString:urlString];
|
||
NSString *newPath = @"";
|
||
if (keys==nil) {
|
||
newPath = urlString;
|
||
}else{
|
||
newPath = [self getRequestPath:urlString keysArray:keys valuesArray:values];
|
||
}
|
||
NSLog(@"requestUrl = %@",newPath);//请求地址
|
||
|
||
NSURL *url = [NSURL URLWithString:urlString];
|
||
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:url];
|
||
[urlRequest setTimeoutInterval:15];//超时时间15秒
|
||
[urlRequest setHTTPMethod:@"POST"];//请求方式post
|
||
NSString *bodyStr;
|
||
if (keys==nil) {
|
||
bodyStr = [newPath substringFromIndex:urlString.length];
|
||
}else
|
||
bodyStr = [newPath substringFromIndex:urlString.length+1];//请求体封装(有?的情况)
|
||
NSData *bodyData = [bodyStr dataUsingEncoding:NSUTF8StringEncoding];
|
||
urlRequest.HTTPBody = bodyData;
|
||
return urlRequest;
|
||
}
|
||
|
||
|
||
|
||
//POST请求
|
||
//-(void) postRequestWihtUrl:(NSString *)url
|
||
// keys:(NSArray *)keys
|
||
// values:(NSArray *)values
|
||
// success:(WBCallBackSuccess)success
|
||
// failure:(WBCallBackFailed)failure
|
||
//{
|
||
//
|
||
// NSURLSession *session = [NSURLSession sharedSession];
|
||
// NSMutableURLRequest *urlRequest = [self getUrlRequestWithPath:url keysArray:keys valuesArray:values];
|
||
// NSURLSessionDataTask *sessionDataTask = [session dataTaskWithRequest:urlRequest completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
|
||
// if ([data length] >0 &&
|
||
// error == nil){
|
||
// [SVProgressHUD dismissWithDelay:0.3];
|
||
// id result=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
|
||
// NSLog(@"获取数据 resalut = %@",result);
|
||
// if ([result isKindOfClass:[NSDictionary class]]) {
|
||
//// NSString *resCode = [NSString stringWithFormat:@"%@",[result objectForKey:RESPONSE_CODE]];//状态码
|
||
//// //返回数据正确 ,则解析到数据接收内容
|
||
//// if([resCode integerValue]==kReqSuccess)
|
||
//// {
|
||
// /**
|
||
// 获取后台给定的正确码100,做逻辑处理
|
||
// */
|
||
// dispatch_async(dispatch_get_main_queue(), ^{
|
||
// //直接显示成功信息
|
||
// success(result);
|
||
// });
|
||
//// }else{
|
||
//// /*
|
||
//// 获取后台给定的其他错误码,做逻辑处理(暂无数据等)
|
||
//// */
|
||
//// dispatch_async(dispatch_get_main_queue(), ^{
|
||
//// failure(result);
|
||
//// });
|
||
//// }
|
||
// }else{
|
||
// NSLog(@"json格式错误");
|
||
// }
|
||
// }else if ([data length] == 0 &&
|
||
// error == nil){
|
||
// //请求数据长度为0(服务器返回数据内容问题)
|
||
// [SVProgressHUD dismiss];
|
||
// }else if (error != nil){
|
||
// //反馈错误信息(网络连接失败(服务器关停)等信息)
|
||
// if (error) {
|
||
// [SVProgressHUD dismiss];
|
||
// }
|
||
// }
|
||
// }];
|
||
// [sessionDataTask resume];
|
||
//}
|
||
+(void) requestWihtMethod:(RequestType)
|
||
methodType url : (NSString *)url
|
||
params:(NSDictionary *)params
|
||
success:(void (^)(id response))success
|
||
failure:(void (^)(NSError *err))failure
|
||
{
|
||
// NSURL* baseURL = [NSURL URLWithString:DEV_IFISH_SERVER];
|
||
// //获得请求管理者
|
||
// AFHTTPRequestOperationManager*manager = [[AFHTTPRequestOperationManager alloc] initWithBaseURL:baseURL];
|
||
|
||
AFHTTPRequestOperationManager*manager=[AFHTTPRequestOperationManager manager];
|
||
//此类中接口 无安全校验
|
||
manager.responseSerializer=[AFHTTPResponseSerializer serializer];
|
||
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json",@"text/json",@"text/javascript",@"text/html", nil];;
|
||
//#ifdef ContentType
|
||
// manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:ContentType];
|
||
//#endif
|
||
// manager.requestSerializer.HTTPShouldHandleCookies = YES;
|
||
|
||
switch (methodType) {
|
||
case RequestTypeGet:
|
||
{
|
||
//GET请求
|
||
[manager GET:url parameters:params
|
||
success:^(AFHTTPRequestOperation* operation, NSDictionary* responseObj) {
|
||
if (success) {
|
||
success(responseObj);
|
||
}
|
||
} failure:^(AFHTTPRequestOperation* operation, NSError* error) {
|
||
if (failure) {
|
||
failure(error);
|
||
}
|
||
}];
|
||
|
||
}
|
||
break;
|
||
case RequestTypePost:
|
||
{
|
||
//POST请求
|
||
[manager POST:url parameters:params
|
||
success:^(AFHTTPRequestOperation* operation, NSDictionary* responseObj) {
|
||
if (success) {
|
||
[SVProgressHUD dismiss];
|
||
success(responseObj);
|
||
}
|
||
} failure:^(AFHTTPRequestOperation* operation, NSError* error) {
|
||
if (failure){
|
||
[SVProgressHUD dismiss];
|
||
failure(error);
|
||
}
|
||
}];
|
||
}
|
||
break;
|
||
default:
|
||
break;
|
||
}
|
||
}
|
||
|
||
|
||
+(void)saveCustomIconWith:(NSNumber*)UserId
|
||
deviceId:(NSString*)deviceId
|
||
customIconName:(NSString*)customIconName
|
||
customShowName:(NSString*)customShowName
|
||
success:(void (^)(id response))success
|
||
failure:(void (^)(NSError* err))failure{
|
||
NSDictionary*para=@{
|
||
@"priId.userId":UserId,
|
||
@"priId.deviceId":deviceId,
|
||
@"customShowName":customShowName,
|
||
@"customIconName":customIconName
|
||
};
|
||
[AFNOHeaderHttpTool requestWihtMethod:RequestTypePost url:kSaveCustomIcon params:para success:success failure:failure];
|
||
|
||
}
|
||
|
||
+(void)getLookReportById:(NSString *)reportId
|
||
success:(void (^)(id response))success
|
||
failure:(void (^)(NSError* err))failure
|
||
{
|
||
NSDictionary*para=@{
|
||
|
||
@"reportId":reportId
|
||
|
||
};
|
||
[AFNOHeaderHttpTool requestWihtMethod:RequestTypePost url:IfishgetLookReportById
|
||
params:para
|
||
success:success
|
||
failure:failure];
|
||
|
||
|
||
|
||
}
|
||
|
||
+(void)deleteDeviceCameraWith:(NSString *)cameraId
|
||
deiviceId:(NSString *)deiviceId
|
||
success:(void (^)(id response))success
|
||
failure:(void (^)(NSError* err))failure
|
||
{
|
||
NSDictionary*para=@{
|
||
@"cameraId":cameraId,
|
||
@"deviceId":deiviceId
|
||
|
||
|
||
};
|
||
|
||
[AFNOHeaderHttpTool requestWihtMethod:RequestTypePost url:IfishdeleteDeviceCamera params:para success:success failure:failure];
|
||
|
||
}
|
||
|
||
+(void)kanHuKaiGuanWith:(NSString *)cameraId
|
||
userId:(NSString *)userId
|
||
status:(NSString *)status
|
||
success:(void (^)(id response))success
|
||
failure:(void (^)(NSError* err))failure
|
||
{
|
||
NSDictionary*para=@{
|
||
@"cameraId":cameraId,
|
||
@"userId":userId,
|
||
@"status":status
|
||
};
|
||
[AFNOHeaderHttpTool requestWihtMethod:RequestTypePost url:IfishOnOffLook
|
||
params:para
|
||
success:success
|
||
failure:failure];
|
||
|
||
}
|
||
|
||
+(void)deviceBindCameraWith:(NSString *)cameraId
|
||
userId:(NSNumber *)userId
|
||
deviceId:(DeviceModel *)device
|
||
success:(void (^)(id response))success
|
||
failure:(void (^)(NSError* err))failure
|
||
{
|
||
NSDictionary*para=@{
|
||
@"cameraId":cameraId,
|
||
@"deviceId":device.deviceId,
|
||
@"userId": userId
|
||
};
|
||
NSMutableDictionary*paradic=[[NSMutableDictionary alloc]initWithDictionary:para];
|
||
if ([device.type isEqualToString:DECICE_TYPE_XUANDUO3F])
|
||
{
|
||
paradic[@"type"]=@"1";
|
||
}
|
||
|
||
[AFNOHeaderHttpTool requestWihtMethod:RequestTypePost url:IfishdeviceBindCamera params:para success:success failure:failure];
|
||
}
|
||
|
||
+(void)getKanHuListWithShopsId:(NSString *)shopsUserId
|
||
firstResult:(NSString *)firstResult
|
||
pageSize:(NSString *)pageSize
|
||
success:(void (^)(id response))success
|
||
failure:(void (^)(NSError* err))failure
|
||
{
|
||
|
||
NSDictionary*para=@{
|
||
@"shopsUserId":shopsUserId,
|
||
@"firstResult":firstResult,
|
||
@"pageSize":pageSize
|
||
};
|
||
[AFNOHeaderHttpTool requestWihtMethod:RequestTypePost url:IfishlookList
|
||
params:para
|
||
success:success
|
||
failure:failure];
|
||
|
||
}
|
||
|
||
+(void)bindCameraWith:(NSString *)cameraId
|
||
userId:(NSNumber *)userId
|
||
success:(void (^)(id response))success
|
||
|
||
failure:(void (^)(NSError* err))failure
|
||
{
|
||
|
||
NSDictionary*para=@{
|
||
@"cameraId":cameraId,
|
||
@"userId":userId
|
||
};
|
||
|
||
[AFNOHeaderHttpTool requestWihtMethod:RequestTypePost url:IfishBindCamera params:para success:success failure:failure];
|
||
|
||
}
|
||
|
||
+(void)setRemindWaterInfWith:(NSString*)deviceId
|
||
waterRemind:(NSString*)waterRemind
|
||
remindCycle:(NSString*)remindCycle
|
||
success:(void (^)(id response))success
|
||
failure:(void (^)(NSError* err))failure
|
||
{
|
||
if ([deviceId isKindOfClass:[NSNumber class]])
|
||
{
|
||
NSString*devid=[NSString stringWithFormat:@"%@",deviceId];
|
||
deviceId=devid;
|
||
}
|
||
NSString*macid=[[deviceId componentsSeparatedByString:@"_"] firstObject];
|
||
|
||
NSString*deviceType=[[deviceId componentsSeparatedByString:@"_"] lastObject];
|
||
|
||
NSString*type=@"0";//0换水 1杀菌
|
||
|
||
if ([deviceType isEqualToString:@"3f"])
|
||
{
|
||
type=@"1";
|
||
}
|
||
|
||
|
||
|
||
NSDictionary*para=@{
|
||
@"deviceId":macid,
|
||
@"waterRemind":waterRemind,
|
||
@"remindCycle":remindCycle,
|
||
@"type":type
|
||
|
||
};
|
||
[AFNOHeaderHttpTool requestWihtMethod:RequestTypePost url:kSetRemindWaterInf params:para success:success failure:failure];
|
||
|
||
|
||
}
|
||
|
||
+(void)getRemindWaterInfwith:(NSString*)deviceId
|
||
success:(void (^)(id response))success
|
||
failure:(void (^)(NSError* err))failure
|
||
{
|
||
NSDictionary*para=@{
|
||
@"deviceId":deviceId,
|
||
|
||
};
|
||
|
||
[AFNOHeaderHttpTool requestWihtMethod:RequestTypePost url:kGetRemindWaterInf params:para success:success failure:failure];
|
||
|
||
}
|
||
|
||
+(void)scanCodeActiveCamea:(NSString *)cameraId
|
||
deiviceId:(NSString *)deiviceId
|
||
success:(void (^)(id response))success
|
||
failure:(void (^)(NSError* err))failure
|
||
{
|
||
NSDictionary*para=@{
|
||
@"cameraId":cameraId,
|
||
@"deviceId":deiviceId
|
||
|
||
|
||
};
|
||
|
||
|
||
[AFNOHeaderHttpTool requestWihtMethod:RequestTypePost url:JiHuoSheXiangTou
|
||
params:para
|
||
success:success
|
||
failure:failure];
|
||
|
||
|
||
}
|
||
|
||
+(void)getShopsStatus:(NSString *)shopsId
|
||
success:(void (^)(id response))success
|
||
failure:(void (^)(NSError* err))failure{
|
||
|
||
NSDictionary*para=@{
|
||
@"shopsId":shopsId
|
||
|
||
};
|
||
[AFNOHeaderHttpTool requestWihtMethod:RequestTypePost url:IfishGetShopsStatus
|
||
params:para
|
||
success:success
|
||
failure:failure];
|
||
|
||
|
||
|
||
}
|
||
|
||
+(void)xuanZeKanHuShangJia:(NSString *)shopsPhone
|
||
yongHuId:(NSNumber *)userId
|
||
success:(void (^)(id response))success
|
||
failure:(void (^)(NSError* err))failure
|
||
{
|
||
NSDictionary*para=@{
|
||
@"phoneNumber":shopsPhone,
|
||
@"userId":userId
|
||
|
||
};
|
||
[AFNOHeaderHttpTool requestWihtMethod:RequestTypePost url:IfishChoiceShops
|
||
params:para
|
||
success:success
|
||
failure:failure];
|
||
|
||
|
||
}
|
||
|
||
+(void)sendReportWithUserId:(NSString * )userId
|
||
baoGaoHtmlName:(NSString *)fileName
|
||
reportId:(NSString *)reportId
|
||
success:(void (^)(id response))success
|
||
failure:(void (^)(NSError* err))failure
|
||
{
|
||
NSDictionary*para=@{
|
||
@"userId":userId,
|
||
|
||
@"fileName":fileName,
|
||
@"reportId":reportId
|
||
|
||
};
|
||
|
||
[AFNOHeaderHttpTool requestWihtMethod:RequestTypePost url:IfishSendReport
|
||
params:para
|
||
success:success
|
||
failure:failure];
|
||
|
||
}
|
||
|
||
-(NSDictionary *)getErrorDict:( NSError *)error
|
||
{
|
||
NSMutableDictionary * resalut = InitObject(NSMutableDictionary);
|
||
[resalut setObject:[NSString stringWithFormat:@"%ld",error.code] forKey:RESPONSE_CODE];
|
||
[resalut setObject:error.domain forKey:RESPONSE_MESSAGE];
|
||
return resalut;
|
||
}
|
||
@end
|