暫無描述

DSBNetwork.m 2.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. //
  2. // DSBNetwork.m
  3. // FirstLink
  4. //
  5. // Created by ascii on 2016/12/6.
  6. // Copyright © 2016年 FirstLink. All rights reserved.
  7. //
  8. #import "DSBNetwork.h"
  9. #import <AFNetworking.h>
  10. @interface DSBNetwork ()
  11. @end
  12. @implementation DSBNetwork
  13. + (AFHTTPSessionManager *)sharedManager {
  14. static AFHTTPSessionManager *_sharedManager = nil;
  15. static dispatch_once_t onceToken;
  16. dispatch_once(&onceToken, ^{
  17. NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
  18. configuration.timeoutIntervalForRequest = 15;
  19. _sharedManager = [[AFHTTPSessionManager alloc] initWithSessionConfiguration:configuration];
  20. _sharedManager.requestSerializer = [AFHTTPRequestSerializer serializer];
  21. _sharedManager.responseSerializer = [AFJSONResponseSerializer serializer];
  22. });
  23. return _sharedManager;
  24. }
  25. + (NSURLSessionDataTask *)POST:(NSString *)URLString
  26. parameters:(id)parameters
  27. progress:(void (^)(NSProgress *))progress
  28. success:(void (^)(NSURLSessionDataTask *, NSDictionary *))success
  29. failure:(void (^)(NSURLSessionDataTask *, NSError *))failure {
  30. NSURLSessionDataTask *task = [[self sharedManager] POST:URLString
  31. parameters:parameters
  32. progress:^(NSProgress * _Nonnull uploadProgress) {
  33. if (progress) {
  34. progress(uploadProgress);
  35. }
  36. } success:^(NSURLSessionDataTask *task, id responseObject) {
  37. if (success) {
  38. success(task, responseObject);
  39. }
  40. } failure:^(NSURLSessionDataTask *task, NSError *error) {
  41. if (failure) {
  42. failure(task, error);
  43. }
  44. }];
  45. return task;
  46. }
  47. @end