94 lines
4.0 KiB
Objective-C
94 lines
4.0 KiB
Objective-C
//
|
|
// NetworkingManager.h
|
|
// SRKnow
|
|
//
|
|
// Created by CYH on 2020/7/21.
|
|
// Copyright © 2020 shirong. All rights reserved.
|
|
//
|
|
|
|
#import <Foundation/Foundation.h>
|
|
#import "NetResponseModel.h"
|
|
//#import "GraceHudTool.h"
|
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
///环境类型
|
|
typedef enum : NSUInteger {
|
|
NetworkingContextType_Test,
|
|
NetworkingContextType_PreRelease,
|
|
NetworkingContextType_Release,
|
|
} NetworkingContextType;
|
|
|
|
///主域名 - 本地缓存 - cacheKey
|
|
#define MainHostURL_CacheKEY @"MainHostURL_CacheKEY"
|
|
///主域名 - 被赋值或修改 - 通知 - changeNotifyKey
|
|
#define MainHostURL_DidChangeNotifyKEY @"MainHostURL_DidChangeNotifyKEY"
|
|
|
|
@interface NetworkingManager : NSObject
|
|
|
|
///为了方便切换环境,设计成单例
|
|
+ (instancetype)shared;
|
|
|
|
///环境切换
|
|
@property(nonatomic, assign)NetworkingContextType networkingContextType;
|
|
|
|
//设置请求头字典,设置一次就好
|
|
- (void)setScheduleRequestHeader:(NSDictionary *)reqHeader;
|
|
|
|
#pragma mark - POST
|
|
|
|
|
|
/**
|
|
* 项目定制_POST请求
|
|
* @param targetUrl url路径
|
|
* @param paramDic 参数
|
|
* @param successBlock 回调
|
|
* @param failureBlock 回调
|
|
*/
|
|
+ (nullable NSURLSessionDataTask *)scheduledPOST:(NSString *)targetUrl parameters:(nullable id)paramDic success:(nullable void (^)(NSURLSessionDataTask *task, NetResponseModel* _Nullable responseModel))successBlock failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failureBlock;
|
|
/**
|
|
* POST请求
|
|
* @param fullUrl 完整URL地址:域名/路径
|
|
* @param paramDic 参数
|
|
* @param headerDic 请求头
|
|
* @param progressBlock 回调
|
|
* @param successBlock 回调
|
|
* @param failureBlock 回调
|
|
|
|
+ (nullable NSURLSessionDataTask *)POST:(NSString *)fullUrl parameters:(nullable id)paramDic headers:(nullable NSDictionary <NSString *, NSString *> *)headerDic progress:(nullable void (^)(NSProgress *progress))progressBlock success:(nullable void (^)(NSURLSessionDataTask *task, NetResponseModel* _Nullable responseModel))successBlock failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failureBlock;
|
|
*/
|
|
#pragma mark - GET
|
|
/**
|
|
* GET请求
|
|
* @param targetUrl URL路径
|
|
* @param paramDic 参数
|
|
* @param successBlock 回调
|
|
* @param failureBlock 回调
|
|
*/
|
|
+ (nullable NSURLSessionDataTask *)scheduledGET:(NSString *)targetUrl parameters:(nullable NSDictionary *)paramDic success:(nullable void (^)(NSURLSessionDataTask *task, NetResponseModel* _Nullable responseModel))successBlock failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failureBlock;
|
|
/**
|
|
* GET请求
|
|
* @param fullUrl 完整URL地址:域名/路径
|
|
* @param paramDic 参数
|
|
* @param headerDic 请求头
|
|
* @param progressBlock 回调
|
|
* @param successBlock 回调
|
|
* @param failureBlock 回调
|
|
|
|
+ (nullable NSURLSessionDataTask *)GET:(NSString *)fullUrl parameters:(NSDictionary *)paramDic headers:(nullable NSDictionary<NSString *,NSString *> *)headerDic progress:(nullable void (^)(NSProgress *progress))progressBlock success:(nullable void (^)(NSURLSessionDataTask *task, NetResponseModel* _Nullable responseModel))successBlock failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failureBlock;
|
|
*/
|
|
|
|
#pragma mark - 上传
|
|
+ (void)scheduleUploadFiles:(NSString *)url fileDatas:(NSArray <NSData *>*)datas progress:(nullable void (^)(NSProgress *uploadProgress))uploadProgress completionHandler:(void (^)(NSArray <NSString *>*fileUrlPaths))completionHandler;
|
|
|
|
/// upload上传文件
|
|
/// @param url 服务器URL
|
|
/// @param data 文件二进制数据
|
|
/// @param uploadProgress 上传进度回调
|
|
/// @param completionHandler 上传完成回调
|
|
+ (nullable NSURLSessionUploadTask *)scheduleUploadFile:(NSString *)url fileData:(NSData *)data progress:(nullable void (^)(NSProgress *uploadProgress))uploadProgress completionHandler:(void (^)(NSURLResponse *response, id responseObject, NSError *error))completionHandler;
|
|
|
|
@end
|
|
|
|
|
|
NS_ASSUME_NONNULL_END
|