QMNetworkManager.h 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. //
  2. // QMNetworkManager.h
  3. // QMLineSDK
  4. //
  5. // Created by haochongfeng on 2018/10/24.
  6. // Copyright © 2018年 haochongfeng. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import "QMNetworkSerialization.h"
  10. @interface QMNetworkManager : NSObject
  11. @property (nonatomic, copy) NSURL * _Nullable baseURL;
  12. @property (nonatomic, assign) BOOL isV7HTTP;
  13. @property (nonatomic, strong) QMNetworkRequestSerializer * _Nullable requestSerialzer;
  14. @property (nonatomic, strong) QMNetworkResponseSerializer * _Nullable responseSerialzer;
  15. + (instancetype _Nullable )networkManger;
  16. /**
  17. 实例化方法
  18. @param url 网络请求地址
  19. @return 返回实例化对象
  20. */
  21. - (instancetype _Nullable )initWithBaseURL:(nullable NSURL *)url;
  22. /**
  23. 创建一个POST请求
  24. @param URLString 路由路径
  25. @param parameters 请求参数
  26. @param success 请求成功回调
  27. @param failure 请求失败回调
  28. @return 返回请求任务实例
  29. */
  30. - (nullable NSURLSessionDataTask *)POST:(NSString *_Nullable)URLString
  31. parameters:(nullable id)parameters
  32. success:(nullable void(^)(NSURLSessionDataTask * _Nullable task, id _Nullable responseObject))success
  33. failure:(nullable void(^)(NSURLSessionDataTask * _Nullable task, NSError * _Nullable error))failure;
  34. /**
  35. 创建一个GET请求
  36. @param URLString 路由路径
  37. @param parameters 请求参数
  38. @param progress 数据下载进度
  39. @param success 请求成功回调
  40. @param failure 请求失败回调
  41. @return 返回请求任务实例
  42. */
  43. - (nullable NSURLSessionDownloadTask *)GET:(NSString *_Nullable)URLString
  44. parameters:(nullable id)parameters
  45. progress:(nullable void (^)(NSProgress * _Nullable downloadProgress))progress
  46. success:(nullable void(^)(NSURLSessionDownloadTask *_Nullable task, id _Nullable responseObject))success
  47. failure:(nullable void(^)(NSURLSessionDownloadTask * _Nullable task, NSError *_Nullable error))failure;
  48. /**
  49. 创建一个PUT请求
  50. @param URLString 路由路径
  51. @param parameters 请求参数
  52. @param success 请求成功回调
  53. @param failure 请求失败回调
  54. */
  55. - (void)putRequestWithUrlString:(NSString *_Nullable)URLString parameters:(nullable id)parameters progress:(nullable void (^)(float))progress success:(nullable void(^)(id _Nullable responseObject))success failure:(nullable void(^)(NSError * _Nullable error))failure;
  56. @end