cdts/xdts-ios 3/TreeHole/Code/Utility/VoiceRecoder/DDHttpSupport/DDHttpManager.h

178 lines
6.4 KiB
C
Raw Normal View History

2023-07-27 09:20:00 +08:00
//
// DDHttpManager.h
// ResultContained
//
// Created by 李胜书 on 15/8/21.
// Copyright (c) 2015年 李胜书. All rights reserved.
//
typedef enum {
DDHttpGet = 0,
DDHttpPost,
DDHttpPut,
DDHttpPatch,
DDHttpDelete
}DDHttpMethodType;
typedef enum {
DDRequestHttp = 0,
DDRequestJson,
DDRequestPlist
}DDRequestType;
typedef enum {
///只在使用http访问数据并会更新或新建本地缓存多用于实时性要求较多的环境
DDHttpOnly = 0,
///有缓存只用缓存数据没有则去http请求并在之后更新数据和本地缓存默认采用此策略
DDCacheElseHttp,
///有缓存优先用缓存数据同时去http请求并在之后更新数据和本地缓存
DDCacheThenHttp,
///只在缓存里找,没有缓存则返回空,多用于无网环境或省流量
DDCacheMemoryOnly
}DDHttpCacheMethod;
#import <Foundation/Foundation.h>
#import <AFNetworking/AFNetworking.h>
@interface DDHttpManager : NSObject
/**
http请求通用的header设置字典@"Content-Type":@"application/json; charset=utf-8";
http请求前
*/
@property (nonatomic, strong) NSDictionary *commonHeader;
/**
DDCacheElseHttp
*/
@property (nonatomic, assign) DDHttpCacheMethod cacheMethod;
/**
@return
*/
+ (DDHttpManager *)ShareInstance;
#pragma mark - afnetwork Get,Post(仅限不包含bodyblock的情况下一般情况下为上传文件的时候需要bodyblock),Put,Patch,Delete,此块http有缓存
/**
http访问POST方法仅限不需要bodyblock的情况下使用
@param url 访url
@param dic 访
@param method 使type
@param request http请求方法的type
@param success block
@param failure block
*/
- (void)AFNetMethodsSupport:(NSString *)url
Parameters:(NSDictionary *)dic
Method:(DDHttpMethodType)method
RequestMethod:(DDRequestType)request
SucessBlock:(void (^)(id))success
FailedBlock:(void (^)(NSError *))failure;
/**
http访问POST方法仅限不需要bodyblock的情况下使用
@param url 访url
@param dic 访
@param method 使type
@param request http请求方法的type
@param cache http缓存策略
@param success block
@param failure block
*/
- (void)AFNetMethodsSupport:(NSString *)url
Parameters:(NSDictionary *)dic
Method:(DDHttpMethodType)method
RequestMethod:(DDRequestType)request
CacheMethod:(DDHttpCacheMethod)cache
SucessBlock:(void (^)(id))success
FailedBlock:(void (^)(NSError *))failure;
/**
http访问POST方法仅限不需要bodyblock的情况下使用
@param url 访url
@param dic 访
@param method 使type
@param request http请求方法的type
@param header http头的参数字典
@param success block
@param failure block
*/
- (void)AFNetMethodsSupport:(NSString *)url
Parameters:(NSDictionary *)dic
Method:(DDHttpMethodType)method
RequestMethod:(DDRequestType)request
HeaderDic:(NSDictionary *)header
SucessBlock:(void (^)(id))success
FailedBlock:(void (^)(NSError *))failure;
/**
http访问POST方法仅限不需要bodyblock的情况下使用
@param url 访url
@param dic 访
@param method 使type
@param request http请求方法的type
@param cache http缓存策略
@param header http头的参数字典
@param success block
@param failure block
*/
- (void)AFNetMethodsSupport:(NSString *)url
Parameters:(NSDictionary *)dic
Method:(DDHttpMethodType)method
RequestMethod:(DDRequestType)request
CacheMethod:(DDHttpCacheMethod)cache
HeaderDic:(NSDictionary *)header
SucessBlock:(void (^)(id))success
FailedBlock:(void (^)(NSError *))failure;
#pragma mark - afnetwork Post(包含bodyblock的情况下一般情况下为上传文件的时候需要bodyblock此块http没有缓存)
/**
post的http访问muldata传输参数
@param url http路径string格式
@param dic
@param request http请求方法的type
@param bodyblock block
@param success block
@param failure block
*/
- (void)AFNetPOSTSupport:(NSString *)url
Parameters:(NSDictionary *)dic
RequestMethod:(DDRequestType)request
ConstructingBodyWithBlock:(void(^)(id<AFMultipartFormData> formData))bodyblock
SucessBlock:(void (^)(id))success
FailedBlock:(void (^)(NSError *))failure;
/**
post的http访问http头参数muldata传输参数
@param url http路径string格式
@param dic
@param header http头的参数字典
@param request http请求方法的type
@param bodyblock block
@param success block
@param failure block
*/
- (void)AFNetPOSTSupport:(NSString *)url
Parameters:(NSDictionary *)dic
Header:(NSDictionary *)header
RequestMethod:(DDRequestType)request
ConstructingBodyWithBlock:(void(^)(id<AFMultipartFormData> formData))bodyblock
SucessBlock:(void (^)(id))success
FailedBlock:(void (^)(NSError *))failure;
/**
afnetwork默认用muldata的格式传输
@param url http路径string格式
@param dic
@param success block
@param failure block
*/
- (void)AFNetUrlPOSTSupport:(NSString *)url
Parameters:(NSDictionary *)dic
SucessBlock:(void (^)(id))success
FailedBlock:(void (^)(NSError *))failure;
@end