colly_wyx
2018-04-27 78cff841433fce51ade16e5fba124becebf26512
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
//
//  XSHttpTool.h
//
//  Created by xiaos on 14/11/10.
//  Copyright © 2015年 com.xsdota. All rights reserved.
//
#import "AFNetworking.h"
 
/** 设置主体API */
static NSString *const HOST_ADDRESS = @"http://localhost:7888/Phalapi/Public/Demo";
/** 设置API后的特定字符 */
static NSString *const EXTRA_STR    = @"?service=";
 
 
/** 缓存保存时间 */
static NSTimeInterval const TIMEOUT = 30;
static NSTimeInterval const JSON_CACHE_DURATION = 3 * 24 * 60 * 60;
static NSTimeInterval const IMAGE_CACHE_DURATION = 3 * 24 * 60 * 60;
 
/** 成功失败进度的闭包 */
typedef void(^successBlock)(id responseObject);
typedef void(^failureBlock)(NSError *error);
typedef void(^progressBlock)(float uploadPercent);
 
@interface XSHttpTool : NSObject
 
+ (AFHTTPRequestOperationManager *)sharedManager;
 
#pragma mark - GET
#pragma mark  普通GET请求
+ (void)GET:(NSString *)requestKey
      param:(NSDictionary *)param
    success:(successBlock)success
    failure:(failureBlock)failure;
 
#pragma mark  带缓存的GET请求 用于不常更新的数据
+ (void)GETCache:(NSString *)requestKey
           param:(NSDictionary *)param
         success:(successBlock)success
         failure:(failureBlock)failure;
 
#pragma mark - POST
#pragma mark  普通POST请求
+ (void)POST:(NSString *)requestKey
       param:(NSDictionary *)param
     success:(successBlock)success
     failure:(failureBlock)failure;
 
#pragma mark 上传文件POST请求
+ (void)UpLoadData:(NSData *)data
                to:(NSString *)requestKey
     withParamName:(NSString *)paramName
          fileName:(NSString *)fileName
          mimeType:(NSString *)type
             param:(NSDictionary *)param
           success:(successBlock)success
           failure:(failureBlock)failure
    uploadProgress:(progressBlock)uploadProgress;
 
#pragma mark 上传多图的POST请求
/**
 *  上传带图片的内容,允许多张图片上传(URL)POST
 *
 *  @param url                 网络请求地址
 *  @param images              要上传的图片数组(注意数组内容需是图片)
 *  @param parameter           图片数组对应的参数  
 *  @param parameters          其他参数字典@
 *  @param ratio               图片的压缩比例(0.0~1.0之间)
 *  @param succeedBlock        成功的回调
 *  @param failedBlock         失败的回调
 *  @param uploadProgressBlock 上传进度的回调
 */
+ (void)upLoadImages:(NSArray *)images
                  to:(NSString *)requestKey
       withParamName:(NSString *)paramName
               ratio:(float)ratio
               param:(NSDictionary *)param
             success:(successBlock)success
             failure:(failureBlock)failure
      uploadProgress:(progressBlock)uploadProgress;
 
 
#pragma mark - cache管理
+ (BOOL)saveCache:(NSDictionary *)cache withIdentifier:(NSString *)cacheIdentifier;
+ (NSDictionary *)cacheWithIdentifier:(NSString *)cacheIdentifier;
 
@end