161 lines
5.5 KiB
C
161 lines
5.5 KiB
C
|
|
//
|
||
|
|
// QXRequset.h
|
||
|
|
// YSDTrucksProject
|
||
|
|
//
|
||
|
|
// Created by 党凯 on 2020/7/1.
|
||
|
|
// Copyright © 2020 党凯. All rights reserved.
|
||
|
|
//
|
||
|
|
|
||
|
|
#import <Foundation/Foundation.h>
|
||
|
|
|
||
|
|
//无网络
|
||
|
|
#define NOT_NETWORK_ERROR [NSError errorWithDomain:@"com.wufeng.Networking.ErrorDomain" code:-999 userInfo:@{NSLocalizedDescriptionKey:@"无网络"}]
|
||
|
|
|
||
|
|
typedef NS_ENUM(NSUInteger, NetworkMethod) {
|
||
|
|
GET = 0,
|
||
|
|
POST,
|
||
|
|
PUT,
|
||
|
|
DELETE,
|
||
|
|
PATCH
|
||
|
|
};
|
||
|
|
typedef NS_ENUM(NSUInteger, RequestCachePolicy) {
|
||
|
|
/** 正在刷新中的状态 */
|
||
|
|
CacheDataThenLoad = 0, // 有缓存就先返回缓存,同步请求数据
|
||
|
|
IgnoringLocalCacheData, // 忽略缓存,重新请求
|
||
|
|
CacheDataElseLoad, // 有缓存就用缓存,没有缓存就重新请求(用于数据不变时)
|
||
|
|
CacheDataDontLoad, // 有缓存就用缓存,没有缓存就不发请求,当做请求出错处理(用于离线模式)
|
||
|
|
};
|
||
|
|
typedef void (^NeQXRequsetSuccessBlock)(id responseObject); //成功Block
|
||
|
|
typedef void (^NeQXRequsetCacheSuccessBlock)(id responseObject, BOOL isCache); //缓存成功Block
|
||
|
|
typedef void (^NeQXRequsetFailedBlock)(NSError * error,NSString * msg,NSURLSessionDataTask * task);//失败Block
|
||
|
|
typedef void (^NeQXRequsetProgressBlock)(float progress); //进度Block
|
||
|
|
typedef void (^NetResponseCache)(id responseObject);
|
||
|
|
typedef void (^QXDownloadCompletionHandler)(NSURLResponse *response,
|
||
|
|
NSURL * filePath,
|
||
|
|
NSError * error);
|
||
|
|
|
||
|
|
@interface QXRequset : NSObject
|
||
|
|
+(instancetype _Nonnull )shareInstance;
|
||
|
|
/**
|
||
|
|
* 当前的网络状态
|
||
|
|
*/
|
||
|
|
@property (nonatomic, assign,readonly) AFNetworkReachabilityStatus AFNetWorkStatus;
|
||
|
|
/**
|
||
|
|
* 请求者
|
||
|
|
*/
|
||
|
|
@property (nonatomic, strong) AFHTTPSessionManager * _Nonnull sharedManager;
|
||
|
|
|
||
|
|
/**
|
||
|
|
请求
|
||
|
|
|
||
|
|
@param urlString url
|
||
|
|
@param parameters 参数
|
||
|
|
@param type 请求类型
|
||
|
|
@param policy 缓存策略
|
||
|
|
@param success 成功
|
||
|
|
@param cache 缓存
|
||
|
|
@param fail 失败
|
||
|
|
*/
|
||
|
|
- (NSURLSessionTask*_Nullable)requestWithUrl:(NSString *_Nonnull)urlString
|
||
|
|
parameters:(id _Nonnull)parameters
|
||
|
|
type:(NetworkMethod)type
|
||
|
|
cachePolicy:(RequestCachePolicy)policy
|
||
|
|
success:(NeQXRequsetSuccessBlock _Nonnull)success
|
||
|
|
cache:(NetResponseCache)cache
|
||
|
|
failure:(NeQXRequsetFailedBlock _Nonnull)fail;
|
||
|
|
/**
|
||
|
|
* Get形式提交数据
|
||
|
|
*
|
||
|
|
* @param urlString Url
|
||
|
|
* @param parameters 参数
|
||
|
|
* @param success 成功Block
|
||
|
|
* @param fail 失败Block
|
||
|
|
*/
|
||
|
|
- (NSURLSessionTask*_Nullable)getWithUrl:(NSString *_Nonnull)urlString
|
||
|
|
parameters:(id _Nonnull)parameters
|
||
|
|
needCache:(BOOL)needCache
|
||
|
|
success:(NeQXRequsetSuccessBlock _Nonnull)success
|
||
|
|
fail:(NeQXRequsetFailedBlock _Nonnull)fail;
|
||
|
|
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Post形式提交数据
|
||
|
|
*
|
||
|
|
* @param urlString Url
|
||
|
|
* @param parameters 参数
|
||
|
|
* @param success 成功Block
|
||
|
|
* @param fail 失败Block
|
||
|
|
*/
|
||
|
|
- (NSURLSessionTask*_Nonnull)postWithUrl:(NSString * _Nonnull)urlString
|
||
|
|
parameters:(id _Nonnull)parameters
|
||
|
|
needCache:(BOOL)needCache
|
||
|
|
success:(NeQXRequsetSuccessBlock _Nonnull)success
|
||
|
|
fail:(NeQXRequsetFailedBlock _Nonnull)fail;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Put形式提交数据
|
||
|
|
*
|
||
|
|
* @param urlString Url
|
||
|
|
* @param parameters 参数
|
||
|
|
* @param success 成功Block
|
||
|
|
* @param fail 失败Block
|
||
|
|
*/
|
||
|
|
- (NSURLSessionTask*_Nullable)putWithUrl:(NSString * _Nonnull)urlString
|
||
|
|
parameters:(id _Nonnull)parameters
|
||
|
|
needCache:(BOOL)needCache
|
||
|
|
success:(NeQXRequsetSuccessBlock _Nonnull)success
|
||
|
|
fail:(NeQXRequsetFailedBlock _Nonnull)fail;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Delete形式提交数据
|
||
|
|
*
|
||
|
|
* @param urlString Url
|
||
|
|
* @param parameters 参数
|
||
|
|
* @param success 成功Block
|
||
|
|
* @param fail 失败Block
|
||
|
|
*/
|
||
|
|
- (NSURLSessionTask*_Nullable)deleteWithUrl:(NSString *_Nonnull)urlString
|
||
|
|
parameters:(id _Nonnull)parameters
|
||
|
|
needCache:(BOOL)needCache
|
||
|
|
success:(NeQXRequsetSuccessBlock _Nonnull)success
|
||
|
|
fail:(NeQXRequsetFailedBlock _Nonnull)fail;
|
||
|
|
/**
|
||
|
|
* Patch形式提交数据
|
||
|
|
*
|
||
|
|
* @param urlString Url
|
||
|
|
* @param parameters 参数
|
||
|
|
* @param success 成功Block
|
||
|
|
* @param fail 失败Block
|
||
|
|
*/
|
||
|
|
- (NSURLSessionTask*_Nullable)patchWithUrl:(NSString *_Nonnull)urlString
|
||
|
|
parameters:(id _Nonnull)parameters
|
||
|
|
needCache:(BOOL)needCache
|
||
|
|
success:(NeQXRequsetSuccessBlock _Nonnull)success
|
||
|
|
fail:(NeQXRequsetFailedBlock _Nonnull)fail;
|
||
|
|
/**
|
||
|
|
* POST上传图片
|
||
|
|
*
|
||
|
|
* @param urlString 上传地址
|
||
|
|
* @param image 图片
|
||
|
|
* @param parameters 参数
|
||
|
|
* @param success 成功Block
|
||
|
|
* @param fail 失败Block
|
||
|
|
*/
|
||
|
|
- (NSURLSessionTask*_Nullable)postUploadImageWithUrl:(NSString *_Nonnull)urlString
|
||
|
|
image:(UIImage *_Nonnull)image
|
||
|
|
parameters:(id _Nonnull)parameters
|
||
|
|
progress:(NeQXRequsetProgressBlock _Nonnull )progress
|
||
|
|
success:(NeQXRequsetSuccessBlock _Nullable )success
|
||
|
|
fail:(NeQXRequsetFailedBlock _Nonnull )fail;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 下载礼物
|
||
|
|
*
|
||
|
|
* @param url 礼物地址
|
||
|
|
*/
|
||
|
|
- (void)downloadVideoPlayerWithUrl:(NSString *_Nullable)url
|
||
|
|
completion:(void (^_Nullable)(BOOL result, NSString * _Nonnull fileName))completion;
|
||
|
|
@end
|
||
|
|
|
||
|
|
|