311 lines
15 KiB
Objective-C
Executable File

//
// HttpManager.m
// myhome
//
// Created by hkh on 16/11/6.
//
#import "HttpManager.h"
#import "Pub.h"
#import "Sformat.h"
#define Share_AppDelegate ((AppDelegate *)[[UIApplication sharedApplication] delegate])
@interface HttpManager (){
}
@end
@implementation HttpManager{
}
+ (NSString *)InitUrl{
NSString *url = [@"http://" stringByAppendingString:[Pub getSysInfo].server_wan];
url = [url stringByAppendingString:@"/TalkApp/api.aspx"];
return url;
}
+ (void)SendSmsCode:(NSString *)username HttpResultHandler:(void (^)(NSDictionary *json)) handler{
NSMutableDictionary *paramDic = [NSMutableDictionary dictionary];
[paramDic setObject:@"SendSmsCode" forKey:@"op"];
[paramDic setObject:username forKey:@"username"];
paramDic = [self AddSign:paramDic WithKey:[[NSString alloc] initWithFormat:@"talkapp%@",[Sformat yyyy_MM_dd]] Field:@[@"op",@"username"]];
[self Post:[self InitUrl] WithData:paramDic HttpResultHandler:handler];
}
+ (void)Login:(NSString *)username Code:(NSString *)code HttpResultHandler:(void (^)(NSDictionary *json)) handler{
NSMutableDictionary *paramDic = [NSMutableDictionary dictionary];
[paramDic setObject:@"Login" forKey:@"op"];
[paramDic setObject:username forKey:@"username"];
[paramDic setObject:code forKey:@"code"];
paramDic = [self AddSign:paramDic WithKey:[[NSString alloc] initWithFormat:@"talkapp%@",[Sformat yyyy_MM_dd]] Field:@[@"op",@"username",@"code"]];
// [self Post:url WithData:paramDic completionHandler:^(NSURLResponse * response, NSData * data, NSError * connectionError) {
// NSString *ret = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
// NSLog(@"%@",ret);
//
// }];
[self Post:[self InitUrl] WithData:paramDic HttpResultHandler:handler];
}
+ (void)CheckLoginStatu:(NSString *)username Token:(NSString *)token HttpResultHandler:(void (^)(NSDictionary *json)) handler{
NSMutableDictionary *paramDic = [NSMutableDictionary dictionary];
[paramDic setObject:@"CheckLoginStatu" forKey:@"op"];
[paramDic setObject:username forKey:@"username"];
[paramDic setObject:token forKey:@"token"];
paramDic = [self AddSign:paramDic WithKey:[[NSString alloc] initWithFormat:@"talkapp%@",[Sformat yyyy_MM_dd]] Field:@[@"op",@"username",@"token"]];
[self Post:[self InitUrl] WithData:paramDic HttpResultHandler:handler];
}
+ (void)BindEquSucc:(NSString *)username Token:(NSString *)token Equid:(NSString *)equid Name:(NSString *)name HttpResultHandler:(void (^)(NSDictionary *json)) handler{
//NSString *name_encode = [name stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
//解码 stringByReplacingPercentEscapesUsingEncoding
NSMutableDictionary *paramDic = [NSMutableDictionary dictionary];
[paramDic setValue:@"BindEquSucc" forKey:@"op"];
[paramDic setValue:username forKey:@"username"];
[paramDic setValue:token forKey:@"token"];
[paramDic setValue:equid forKey:@"equid"];
[paramDic setValue:name forKey:@"name"];
paramDic = [self AddSign:paramDic WithKey:[[NSString alloc] initWithFormat:@"talkapp%@",[Sformat yyyy_MM_dd]] Field:@[@"op",@"username",@"token",@"equid",@"name"]];
[self Post:[self InitUrl] WithData:paramDic HttpResultHandler:handler];
}
+ (void)EquList:(NSString *)username Token:(NSString *)token HttpResultHandler:(void (^)(NSDictionary *json)) handler{
NSMutableDictionary *paramDic = [NSMutableDictionary dictionary];
[paramDic setObject:@"EquList" forKey:@"op"];
[paramDic setObject:username forKey:@"username"];
[paramDic setObject:token forKey:@"token"];
paramDic = [self AddSign:paramDic WithKey:[[NSString alloc] initWithFormat:@"talkapp%@",[Sformat yyyy_MM_dd]] Field:@[@"op",@"username",@"token"]];
[self Post:[self InitUrl] WithData:paramDic HttpResultHandler:handler];
}
+ (void)DelEqu:(NSString *)username Token:(NSString *)token Equid:(NSString *)equid HttpResultHandler:(void (^)(NSDictionary *json)) handler{
NSMutableDictionary *paramDic = [NSMutableDictionary dictionary];
[paramDic setObject:@"DelEqu" forKey:@"op"];
[paramDic setObject:username forKey:@"username"];
[paramDic setObject:token forKey:@"token"];
[paramDic setObject:equid forKey:@"equid"];
paramDic = [self AddSign:paramDic WithKey:[[NSString alloc] initWithFormat:@"talkapp%@",[Sformat yyyy_MM_dd]] Field:@[@"op",@"username",@"token",@"equid"]];
[self Post:[self InitUrl] WithData:paramDic HttpResultHandler:handler];
}
+ (void)Gzh_Qrcode:(NSString *)username Token:(NSString *)token HttpResultHandler:(void (^)(NSDictionary *json)) handler{
NSMutableDictionary *paramDic = [NSMutableDictionary dictionary];
[paramDic setObject:@"Gzh_Qrcode" forKey:@"op"];
[paramDic setObject:username forKey:@"username"];
[paramDic setObject:token forKey:@"token"];
paramDic = [self AddSign:paramDic WithKey:[[NSString alloc] initWithFormat:@"talkapp%@",[Sformat yyyy_MM_dd]] Field:@[@"op",@"username",@"token"]];
[self Post:[self InitUrl] WithData:paramDic HttpResultHandler:handler];
}
+ (void)HasBindGzh:(NSString *)username Token:(NSString *)token HttpResultHandler:(void (^)(NSDictionary *json)) handler{
NSMutableDictionary *paramDic = [NSMutableDictionary dictionary];
[paramDic setObject:@"HasBindGzh" forKey:@"op"];
[paramDic setObject:username forKey:@"username"];
[paramDic setObject:token forKey:@"token"];
paramDic = [self AddSign:paramDic WithKey:[[NSString alloc] initWithFormat:@"talkapp%@",[Sformat yyyy_MM_dd]] Field:@[@"op",@"username",@"token"]];
[self Post:[self InitUrl] WithData:paramDic HttpResultHandler:handler];
}
+ (void)UnbindGzh:(NSString *)username Token:(NSString *)token HttpResultHandler:(void (^)(NSDictionary *json)) handler{
NSMutableDictionary *paramDic = [NSMutableDictionary dictionary];
[paramDic setObject:@"UnbindGzh" forKey:@"op"];
[paramDic setObject:username forKey:@"username"];
[paramDic setObject:token forKey:@"token"];
paramDic = [self AddSign:paramDic WithKey:[[NSString alloc] initWithFormat:@"talkapp%@",[Sformat yyyy_MM_dd]] Field:@[@"op",@"username",@"token"]];
[self Post:[self InitUrl] WithData:paramDic HttpResultHandler:handler];
}
+ (void)GetLatestVersionCode:(NSString *)username Token:(NSString *)token HttpResultHandler:(void (^)(NSDictionary *json)) handler{
NSMutableDictionary *paramDic = [NSMutableDictionary dictionary];
[paramDic setObject:@"GetLatestVersionCode" forKey:@"op"];
[paramDic setObject:username forKey:@"username"];
[paramDic setObject:token forKey:@"token"];
paramDic = [self AddSign:paramDic WithKey:[[NSString alloc] initWithFormat:@"talkapp%@",[Sformat yyyy_MM_dd]] Field:@[@"op",@"username",@"token"]];
[self Post:[self InitUrl] WithData:paramDic HttpResultHandler:handler];
}
+ (void)UpPhoto:(NSString *)username Token:(NSString *)token Equid:(NSString *)equid Imgdata:(NSData*) data HttpResultHandler:(void (^)(NSDictionary *json)) handler{
NSMutableDictionary *paramDic = [NSMutableDictionary dictionary];
[paramDic setObject:@"UpPhoto" forKey:@"op"];
[paramDic setObject:username forKey:@"username"];
[paramDic setObject:token forKey:@"token"];
[paramDic setObject:equid forKey:@"equid"];
NSData *data1 = [data base64EncodedDataWithOptions:(0)];
NSString * imgdata = [[NSString alloc] initWithData:data1 encoding:NSUTF8StringEncoding];
[paramDic setObject:imgdata forKey:@"imgdata"];
paramDic = [self AddSign:paramDic WithKey:[[NSString alloc] initWithFormat:@"talkapp%@",[Sformat yyyy_MM_dd]] Field:@[@"op",@"username",@"token",@"equid",@"imgdata"]];
[self Post:[self InitUrl] WithData:paramDic HttpResultHandler:handler];
}
+ (void)delPhoto:(NSString *)username Token:(NSString *)token No:(NSString *)no HttpResultHandler:(void (^)(NSDictionary *json)) handler{
NSMutableDictionary *paramDic = [NSMutableDictionary dictionary];
[paramDic setObject:@"delPhoto" forKey:@"op"];
[paramDic setObject:username forKey:@"username"];
[paramDic setObject:token forKey:@"token"];
[paramDic setObject:no forKey:@"no"];
paramDic = [self AddSign:paramDic WithKey:[[NSString alloc] initWithFormat:@"talkapp%@",[Sformat yyyy_MM_dd]] Field:@[@"op",@"username",@"token",@"no"]];
[self Post:[self InitUrl] WithData:paramDic HttpResultHandler:handler];
}
+ (void)getPhotos:(NSString *)username Token:(NSString *)token Equid:(NSString *)equid HttpResultHandler:(void (^)(NSDictionary *json)) handler{
NSMutableDictionary *paramDic = [NSMutableDictionary dictionary];
[paramDic setObject:@"getPhotos" forKey:@"op"];
[paramDic setObject:username forKey:@"username"];
[paramDic setObject:token forKey:@"token"];
[paramDic setObject:equid forKey:@"equid"];
paramDic = [self AddSign:paramDic WithKey:[[NSString alloc] initWithFormat:@"talkapp%@",[Sformat yyyy_MM_dd]] Field:@[@"op",@"username",@"token",@"equid"]];
[self Post:[self InitUrl] WithData:paramDic HttpResultHandler:handler];
}
+ (void)postPushkitToken:(NSString *)username Token:(NSString *)token PushkitToken:(NSString *)pushkitToken Push:(NSString *)push IsSandbox:(NSString *)sandbox HttpResultHandler:(void (^)(NSDictionary *json)) handler{
NSMutableDictionary *paramDic = [NSMutableDictionary dictionary];
[paramDic setObject:@"postPushkitToken" forKey:@"op"];
[paramDic setObject:username forKey:@"username"];
[paramDic setObject:token forKey:@"token"];
[paramDic setObject:pushkitToken forKey:@"pushkitToken"];
[paramDic setObject:push forKey:@"push"];
[paramDic setObject:sandbox forKey:@"sandbox"];
paramDic = [self AddSign:paramDic WithKey:[[NSString alloc] initWithFormat:@"talkapp%@",[Sformat yyyy_MM_dd]] Field:@[@"op",@"username",@"token",@"pushkitToken"]];
[self Post:[self InitUrl] WithData:paramDic HttpResultHandler:handler];
}
+ (void)loadPage:(NSString *)url HttpResultHandler:(void (^)(NSData * data)) handler{
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]];
request.HTTPMethod = @"POST";
NSString *body = @"ios=1";
[request setHTTPBody:[body dataUsingEncoding:NSUTF8StringEncoding]];
[NSURLConnection sendAsynchronousRequest:request queue: [[NSOperationQueue alloc] init] completionHandler:^(NSURLResponse * response, NSData * data, NSError * connectionError) {
//NSLog(@"ret :%@",connectionError);
dispatch_async(dispatch_get_main_queue(), ^{//转到主线程处理
//[Msg Alert:self Msg:ret];
//NSString *ret = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
handler(data);
});
}];
}
+(NSMutableDictionary *)AddSign:(NSMutableDictionary *)paramDic WithKey:(NSString *) key Field:(NSArray *)field{
NSString *str4sign = @"";
// for(id key in paramDic){
// str4sign = [str4sign stringByAppendingString:key];
// str4sign = [str4sign stringByAppendingString:[paramDic objectForKey:key] ];
// }
for(id item in field){
//NSLog(@"AddSign:item=%@",item);
//NSLog(@"AddSign:value=%@",[paramDic objectForKey:item] );
str4sign = [str4sign stringByAppendingString:item];
str4sign = [str4sign stringByAppendingString:[paramDic objectForKey:item] ];
}
str4sign = [str4sign stringByAppendingString:key];
//NSLog(@"AddSign:%@",str4sign);
[paramDic setObject:[Pub md5_:str4sign] forKey:@"sign"];
return paramDic;
}
+ (void)Post:(NSString *)url WithData:(NSMutableDictionary *)paramDic HttpResultHandler:(void (^)(NSDictionary *json)) handler {
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]];
request.HTTPMethod = @"POST";
NSString *body = @"ios=1";
NSString *str4sign = @"";
for(id key in paramDic){
body = [body stringByAppendingString:[[NSString alloc] initWithFormat:@"&%@=",key]];
body = [body stringByAppendingString:[paramDic objectForKey:key] ];
}
[request setHTTPBody:[body dataUsingEncoding:NSUTF8StringEncoding]];
//NSLog(@"body :%@",body);
if ([[UIDevice currentDevice].systemVersion floatValue] >= 9.0) {
//NSLog(@"systemVersion :%f",[[UIDevice currentDevice].systemVersion floatValue]);
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error)
{
//NSLog(@"ret :%@",error);
dispatch_async(dispatch_get_main_queue(), ^{//转到主线程处理
//[Msg Alert:self Msg:ret];
NSString *ret = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
//NSLog(@"ret :%@",ret);
NSDictionary * json = [Pub DictionaryWithJsonString:ret];
if(!json){
json = [Pub DictionaryWithJsonString:@"{\"result\":\"网络异常\"}"];
}
handler(json);
});
}];
[dataTask resume];
}
else{
//[NSURLConnection sendAsynchronousRequest:request queue:[[NSOperationQueue alloc] init] completionHandler:handler];
[NSURLConnection sendAsynchronousRequest:request queue: [[NSOperationQueue alloc] init] completionHandler:^(NSURLResponse * response, NSData * data, NSError * connectionError) {
//NSLog(@"ret :%@",connectionError);
dispatch_async(dispatch_get_main_queue(), ^{//转到主线程处理
//[Msg Alert:self Msg:ret];
NSString *ret = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
//NSLog(@"ret :%@",ret);
NSDictionary * json = [Pub DictionaryWithJsonString:ret];
if(!json){
json = [Pub DictionaryWithJsonString:@"{\"result\":\"网络异常\"}"];
}
handler(json);
});
}];
}
}
@end