Ver Fonte

移动 NetworkUtils 工具类的位置,同时修改RA Image 和 eSign const.h 文件,增加宏定义,纠正引用错误问题。

Ray Zhang há 8 anos atrás
pai
commit
c1e07c6301

+ 0 - 25
RedAnt ERP Mobile/common/NetworkUtils.h

@@ -1,25 +0,0 @@
-//
-//  NetworkUtils.h
-//  AntsContract
-//
-//  Created by Ray on 12/26/16.
-//  Copyright © 2016 United Software Applications, Inc. All rights reserved.
-//
-
-#import <Foundation/Foundation.h>
-#import "const.h"
-typedef NSMutableDictionary*(^resultBlock)(NSMutableDictionary* result);
-typedef NSMutableDictionary*(^decryptBlock)(NSMutableDictionary* result);
-
-
-typedef void(^resultHandler)(NSMutableDictionary *result);
-typedef void(^progressHandler)(NSURLSessionTask *task,double progress);
-
-@interface NetworkUtils : NSObject
-+(bool) IsNetworkAvailable;
-+(NSData*)get_json : (NSString*) url parameters:(NSMutableDictionary *) params file:(NSString*)file_path err_recorder:(NSString* )recorder_url result_handler:(resultBlock)resultBlock decrypt_handler:(decryptBlock)decryptBlock;
-+(NSDictionary*)err_log:(NSString*) up_params result:(NSString*)result module:(NSString*) module code:(int) code;
-
-
-+ (NSURLSessionTask *)upload:(NSString *)filePath Params:(NSDictionary *)params ToHost:(NSString *)url Result:(resultHandler)r Progress:(progressHandler)p DecryptHandler:(id(^)(NSString *result))decrypt;
-@end

+ 0 - 391
RedAnt ERP Mobile/common/NetworkUtils.m

@@ -1,391 +0,0 @@
-//
-//  NetworkUtils.m
-//  AntsContract
-//
-//  Created by Ray on 12/26/16.
-//  Copyright © 2016 United Software Applications, Inc. All rights reserved.
-//
-
-#import "NetworkUtils.h"
-#import "RAUtils.h"
-#import "Reachability.h"
-#import "RANetworkTaskDelegate.h"
-
-#define BOUNDARY @"AaB03x"
-
-@implementation NetworkUtils
-
-
-//+(NSDictionary*) error_dict:(NSError*)error
-//{
-//    if(error==nil)
-//        return nil;
-//    NSMutableDictionary* ret = [[NSMutableDictionary alloc] init];
-//    [ret setValue:[NSString stringWithFormat:@"%d",error.code] forKey:@"error_code"];
-//    [ret setValue:error.domain forKey:@"err_domain"];
-//    [ret setValue:[error localizedDescription] forKey:@"err_message"];
-//    // [ret setObject:error.userInfo forKey:@"user_info"];
-//    return ret;
-//}
-
-+(bool) IsNetworkAvailable
-{
-    
-    if (([Reachability reachabilityForInternetConnection].currentReachabilityStatus == NotReachable) &&
-        ([Reachability reachabilityForLocalWiFi].currentReachabilityStatus == NotReachable))
-        return false;
-    return true;
-}
-
-+(NSData*)get_json : (NSString*) url parameters:(NSMutableDictionary *) params file:(NSString*)file_path err_recorder:(NSString* )recorder_url result_handler:(resultBlock)resultBlock decrypt_handler:(decryptBlock)decryptBlock
-{
-    int retry = 0;
-    
-
-    
-    
-repeat:
-    {
-        
-        //    return [self fake_json:url];
-        
-        //    AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
-        //分界线的标识符
-        NSString *TWITTERFON_FORM_BOUNDARY = @"AaB03x";
-        //根据url初始化request
-        NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]
-                                                               cachePolicy:NSURLRequestReloadIgnoringLocalCacheData
-                                                           timeoutInterval:JSON_TIMEOUT];
-        //分界线 --AaB03x
-        NSString *MPboundary=[[NSString alloc]initWithFormat:@"--%@",TWITTERFON_FORM_BOUNDARY];
-        //结束符 AaB03x--
-        NSString *endMPboundary=[[NSString alloc]initWithFormat:@"%@--",MPboundary];
-        //要上传的图片
-        //    UIImage *image=[params objectForKey:@"pic"];
-        //得到图片的data
-            NSData* data = [NSData dataWithContentsOfFile:file_path];
-        //http body的字符串
-        NSMutableString *body=[[NSMutableString alloc]init];
-        
-        //    NSMutableDictionary* params = [[NSMutableDictionary alloc] init];
-        //     [params setValue:@"handset_login" forKey:@"action"];
-        //    [headers setValue:[NSString stringWithFormat:@"%d",dataLength] forKey:@"Content-Length"];
-        
-        //    [params setValue:appDelegate.sessionid forKey:@"sessionid"];
-        //   [params setValue:password forKey:@"password"];
-        //    [params setValue:[NSString stringWithFormat:@"%d",ver]  forKey:@"auth_ver"];
-        
-        
-        
-        //    [headers setValue:headQuerlString forKey:@"param"];
-        
-        //参数的集合的所有key的集合
-        NSArray *keys= [params allKeys];
-        DebugLog(@"================parms==================");
-        //遍历keys
-        for(int i=0;i<[keys count];i++)
-        {
-            //得到当前key
-            NSString *key=[keys objectAtIndex:i];
-            //如果key不是pic,说明value是字符类型,比如name:Boris
-            if(![key isEqualToString:@"pic"])
-            {
-                //添加分界线,换行
-                [body appendFormat:@"%@\r\n",MPboundary];
-                //添加字段名称,换2行
-                [body appendFormat:@"Content-Disposition: form-data; name=\"%@\"\r\n\r\n",key];
-                //添加字段的值
-                [body appendFormat:@"%@\r\n",[params objectForKey:key]];
-                DebugLog(@"parameter: key=%@   value=%@",key,[params objectForKey:key]);
-            }
-        }
-        DebugLog(@"================parms==================");
-        ////添加分界线,换行
-        [body appendFormat:@"%@\r\n",MPboundary];
-        //声明pic字段,文件名为boris.png
-        
-        NSString * file_format=[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"upfile\"; filename=\"%@\"\r\n", [file_path lastPathComponent]];
-
-        
-        
-        [body appendFormat:@"%@", file_format];
-        //声明上传文件的格式
-        [body appendFormat:@"Content-Type: application/zip\r\n\r\n"];
-        
-        //声明结束符:--AaB03x--
-        NSString *end=[[NSString alloc]initWithFormat:@"\r\n%@",endMPboundary];
-        //声明myRequestData,用来放入http body
-        NSMutableData *myRequestData=[NSMutableData data];
-        //将body字符串转化为UTF8格式的二进制
-        [myRequestData appendData:[body dataUsingEncoding:NSUTF8StringEncoding]];
-        //将image的data加入
-            [myRequestData appendData:data];
-        //加入结束符--AaB03x--
-        [myRequestData appendData:[end dataUsingEncoding:NSUTF8StringEncoding]];
-        
-        //设置HTTPHeader中Content-Type的值
-        NSString *content=[[NSString alloc]initWithFormat:@"multipart/form-data; boundary=%@",TWITTERFON_FORM_BOUNDARY];
-        //设置HTTPHeader
-        [request setValue:content forHTTPHeaderField:@"Content-Type"];
-        
-        // 关闭keep alive
-        [request setValue:@"close" forHTTPHeaderField:@"Connection"];
-        //设置Content-Length
-        [request setValue:[NSString stringWithFormat:@"%lu", (unsigned long)[myRequestData length]] forHTTPHeaderField:@"Content-Length"];
-        //设置http body
-        [request setHTTPBody:myRequestData];
-        //http method
-        [request setHTTPMethod:@"POST"];
-        
-        
-        NSHTTPURLResponse* urlResponse = nil;
-        
-        NSError *error = nil;
-        
-        NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse error:&error];
-        
-        
-        DebugLog(@"url: %@",url);
-        
-        DebugLog(@"response: %@",[NSHTTPURLResponse localizedStringForStatusCode:urlResponse.statusCode]);
-        
-        if (responseData==nil) {
-            
-            //            DebugLog(@"response error:%@", [error localizedDescription]);
-            
-            
-            NSMutableDictionary* ret = [[NSMutableDictionary alloc] init];
-            //#define RESULT_FALSE 0
-            //#define RESULT_TRUE		 2
-            //#define RESULT_NET_ERROR			 -3
-            //#define RESULT_NET_NOTAVAILABLE		  -4
-            //#define RESULT_ERROR				 -5
-            //#define RESULT_LOCALFILE_ERROR			 -7
-            //#define RESULT_USERAUTH_ERROR			 -9
-            //#define RESULT_UPDATE_USERAUTH_ERROR	 -11
-            //#define RESULT_SESSION_EXPIRED			  -13
-            //#define RESULT_VER_LOW
-            
-            //     NSString * moreinfo = error.description ;
-            
-            NSString* err_msg = [error localizedDescription];
-            
-            
-            //-----------------retry 3 times for error code -1005------------------------
-            if(error.code==-1005&&retry<3)
-            {
-                retry++;
-                goto repeat;
-                
-            }
-            //-----------------end retry 3 times for error code -1005------------------------
-            
-            NSDictionary* error_json = [RAUtils error_dict:error];
-            [ret setObject:error_json forKey:@"err_obj"];
-            NSString* resp_msg= nil;
-            
-            if(err_msg.length==0)
-            {
-                err_msg =[NSHTTPURLResponse localizedStringForStatusCode:urlResponse.statusCode];
-                resp_msg = err_msg;
-            }
-            [ret setValue:[NSString stringWithFormat:@"%d",RESULT_NET_ERROR] forKey:@"result"];
-            [ret setValue:err_msg forKey:@"err_msg"];
-            [ret setValue:resp_msg forKey:@"resp_msg"];
-            [ret setValue:[NSString stringWithFormat:@"%ld",(long)urlResponse.statusCode] forKey:@"resp_code"];
-            
-            
-            NSData *jsonData = [NSJSONSerialization dataWithJSONObject:ret
-                                                               options:0
-                                                                 error:nil];
-            if(![url isEqualToString:recorder_url])
-            {
-                [self err_log:[RAUtils base64en:[RAUtils dict2string:params]] result:[RAUtils base64en:[RAUtils dict2string:ret]] module:url code:RESULT_NET_ERROR];
-            }
-            return jsonData;
-            
-        }
-        else
-        {
-          //  NSString* err_msg = [error localizedDescription];
-            NSMutableString *str = [[NSMutableString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
-            
-            DebugLog(@"data string: %@",str);
-            NSError *error1 = nil;
-            
-            NSMutableDictionary* jsobj = [[NSJSONSerialization JSONObjectWithData:responseData options:NSJSONReadingMutableContainers error:&error1] mutableCopy];
-            
-            if(jsobj==nil)// 服务器返回不是json
-            {
-                
-                jsobj=[[NSMutableDictionary alloc] init];
-                [jsobj setValue:@"1" forKey:@"result"];
-                
-            }
-            if([jsobj[@"encrypt"] boolValue]==true)
-            {
-                jsobj = decryptBlock(jsobj);
-            }
-            jsobj = resultBlock(jsobj);
-                    int result=[[jsobj valueForKey:@"result"] intValue];
-            if(![url isEqualToString:recorder_url]&&/*![url isEqualToString:URL_DOWNLOAD_OFFLINE]&&*/result!=2&&result!=99)
-            {
-                [self err_log:[RAUtils base64en:[RAUtils dict2string:params]] result:[RAUtils base64en:str] module:url code:result];
-            }
-            NSData *jsonData = [NSJSONSerialization dataWithJSONObject:jsobj
-                                                               options:0
-                                                                 error:nil];
-            return jsonData;
-            
-        }
-        return responseData;
-    }
-}
-
-+(NSDictionary*)err_log:(NSString*) up_params result:(NSString*)result module:(NSString*) module code:(int) code//device:(NSString*) device
-{
-    //    NSMutableDictionary* params = [[NSMutableDictionary alloc] init];
-    //    AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
-    //    if(appDelegate.user!=nil)
-    //        [params setValue:appDelegate.user forKey:@"user"];
-    //
-    //    [params setValue:up_params forKey:@"upparam"];
-    //
-    //    [params setValue:[NSNumber numberWithInt:code ] forKey:@"code"];
-    //
-    //    [params setValue:result forKey:@"result"];
-    //    [params setValue:module forKey:@"interfac"];
-    //
-    //    [params setValue:[RAUtils base64en:[RAUtils dict2string: [RAUtils device_info]]] forKey:@"device"];
-    //
-    //
-    //    //     [params setValue:module forKey:@"module"];
-    //
-    //    //  [[UIDevice currentDevice]  name];
-    //
-    //    //    if(appDelegate.offline_mode)
-    //    //    {
-    //    //        return [OLDataProvider offline_notimpl];
-    //    //    }
-    //    if(![self IsNetworkAvailable])
-    //        return [RAUtils error_json:RESULT_NET_NOTAVAILABLE err_msg:nil];
-    //
-    //    NSData* json=[self get_json:URL_ERR_LOG parameters:params];
-    //    if(json==nil)
-    //        return nil;
-    //    NSError *error=nil;
-    //    NSDictionary *jsobj = [NSJSONSerialization JSONObjectWithData:json options:NSJSONReadingMutableLeaves error:&error];
-    //    return jsobj;
-    NSMutableDictionary* jsobj = [@{@"result":@"2"} mutableCopy];
-    return jsobj;
-}
-+ (NSURLSessionTask *)upload:(NSString *)filePath  Params:(NSDictionary *)params ToHost:(NSString *)urlString Result:(resultHandler)r Progress:(progressHandler)p DecryptHandler:(id (^)(NSString *))decrypt {
-    
-    
-    NSString *fileName = [filePath lastPathComponent];
-    
-    NSMutableData *dataM = [NSMutableData data];
-    
-    NSMutableString *stringM = [NSMutableString string];
-    
-    
-    DebugLog(@"================parms==================");
-
-    
-    
-    for (NSString *key in params) {
-        
-        [stringM appendString:[NSString stringWithFormat:@"--%@\r\n",BOUNDARY]];
-        [stringM appendFormat:@"Content-Type: text/plain; charset=UTF-8\r\n"];
-        [stringM appendFormat:@"Content-Disposition: form-data; name=\"%@\"\r\n\r\n",key];
-        [stringM appendFormat:@"%@\r\n",[params objectForKey:key]];
-        
-        
-        DebugLog(@"parameter: key=%@   value=%@",key,[params objectForKey:key]);
-    }
-    DebugLog(@"================parms==================");
-    [stringM appendString:[NSString stringWithFormat:@"--%@\r\n",BOUNDARY]];
-    
-    [stringM appendFormat:@"Content-Disposition: form-data; name=\"upfile\"; filename=%@\r\n",fileName];
-    [stringM appendString:@"Content-Type: application/mac-binary\r\n"];
-    [stringM appendString:@"\r\n"];
-    
-    NSData *stringM_data = [stringM dataUsingEncoding:NSUTF8StringEncoding];
-    [dataM appendData:stringM_data];
-    
-    NSData *file_data = [NSData dataWithContentsOfFile:filePath];
-    [dataM appendData:file_data];
-    
-    NSString *end = [NSString stringWithFormat:@"\r\n--%@--",BOUNDARY];
-    [dataM appendData:[end dataUsingEncoding:NSUTF8StringEncoding]];
-    
-    // Data
-    NSData *data = dataM;
-    
-    
-    // 可变请求
-    NSURL *url = [NSURL URLWithString:urlString];
-    NSMutableURLRequest *requestM = [NSMutableURLRequest requestWithURL:url
-                                                            cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:JSON_TIMEOUT];
-    // line note
-    requestM.HTTPMethod = @"POST";
-    
-    // request header
-    [requestM addValue:@"close" forHTTPHeaderField:@"Connection"];
-    
-    [requestM addValue:[NSString stringWithFormat:@"multipart/form-data; boundary=%@",BOUNDARY] forHTTPHeaderField:@"Content-Type"];
-    
-    [requestM addValue:[NSString stringWithFormat:@"%lu", (unsigned long)[data length]] forHTTPHeaderField:@"Content-Length"];
-    
-    // request body
-    requestM.HTTPBody = data;
-    
-    
-    
-    NSURLSession *urlSession = [self standSession];
-    
-    if (urlSession.delegate) {
-        if ([urlSession.delegate isKindOfClass:[RANetworkTaskDelegate class]]) {
-            
-            RANetworkTaskDelegate *delegate = (RANetworkTaskDelegate *)urlSession.delegate;
-            
-            if (p) {
-                delegate.p = p;
-            }
-            
-            if (r) {
-                delegate.r = r;
-            }
-            
-            if (decrypt) {
-                delegate.decryptHandler = decrypt;
-            }
-            
-        }
-    }
-    
-    NSURLSessionDataTask *dataTask = [urlSession uploadTaskWithRequest:requestM fromData:data];
-    
-    [dataTask resume];
-    
-    return dataTask;
-}
-
-
-
-
-+ (NSURLSession *)standSession {
-    NSURLSession *session = nil;
-    
-    RANetworkTaskDelegate *delegate = [RANetworkTaskDelegate sharedInstance];
-    
-    NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration];
-    config.timeoutIntervalForRequest = JSON_TIMEOUT;
-    
-    NSOperationQueue *queue = [[NSOperationQueue alloc] init];
-    
-    session = [NSURLSession sessionWithConfiguration:config delegate:delegate delegateQueue:queue];
-    
-    return session;
-}
-@end