LXNetworkManager.m 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. //
  2. // LXNetworkManager.m
  3. // qcdzhiosapp
  4. //
  5. // Created by lixianglan on 2017/12/19.
  6. // Copyright © 2017年 张灝. All rights reserved.
  7. //
  8. #import "LXNetworkManager.h"
  9. @implementation LXNetworkManager
  10. +(instancetype)shareLXNetworkManager{
  11. static LXNetworkManager *manager = nil;
  12. static dispatch_once_t onceToken;
  13. dispatch_once(&onceToken, ^{
  14. manager = [[LXNetworkManager alloc] init];
  15. });
  16. return manager;
  17. }
  18. -(void)postWithURLStr:(NSString *)urlstr
  19. parameters:(NSDictionary *)parameters
  20. progress:(void (^)(NSProgress * progress))upProgress
  21. success:(void (^)(id responseObject))success
  22. failure:(void (^)(NSError * error))failure
  23. {
  24. AFHTTPSessionManager * manager = [AFHTTPSessionManager manager];
  25. manager.responseSerializer = [AFHTTPResponseSerializer serializer];
  26. [manager.requestSerializer willChangeValueForKey:@"timeoutInterval"];
  27. manager.requestSerializer.timeoutInterval=15.0;
  28. [manager.requestSerializer didChangeValueForKey:@"timeoutInterval"];
  29. manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/html", @"application/json",@"image/png",@"application/pdf",@"image/jpeg", @"application/octet-stream",@"text/json", nil];
  30. [manager POST:urlstr parameters:parameters progress:upProgress success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
  31. // success(responseObject);
  32. NSError *error=nil;
  33. id Object=[NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableLeaves error:&error];
  34. success(Object);
  35. } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
  36. LXLog(@"afn post request error:%@",error);
  37. failure(error);
  38. }];
  39. }
  40. -(void)getWithURLStr:(NSString *)urlstr
  41. parameters:(NSDictionary *)parameters
  42. progress:(void (^)(NSProgress * progress))upProgress
  43. success:(void (^)( id responseObject))success
  44. failure:(void (^)(NSError * error))failure
  45. {
  46. AFHTTPSessionManager * manager = [AFHTTPSessionManager manager];
  47. manager.responseSerializer = [AFHTTPResponseSerializer serializer];
  48. [manager.requestSerializer willChangeValueForKey:@"timeoutInterval"];
  49. manager.requestSerializer.timeoutInterval=30.0;
  50. [manager.requestSerializer didChangeValueForKey:@"timeoutInterval"];
  51. manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/html", @"application/json", nil];
  52. [manager GET:urlstr parameters:parameters progress:upProgress success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
  53. //回传成功
  54. // success(responseObject);
  55. NSError *error=nil;
  56. id Object=[NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableLeaves error:&error];
  57. success(Object);
  58. } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
  59. //回传失败
  60. LXLog(@"afn get request error:%@", error);
  61. failure(error);
  62. }];
  63. }
  64. -(void)postDataWithUrlStr:(NSString *)urlstr
  65. parameters:(NSDictionary *)parameters
  66. constructingBodyWithBlock:(void (^)(id <AFMultipartFormData> formData))block
  67. progress:(void (^)(NSProgress * progress))upProgress
  68. success:(void (^)( id responseObject))success
  69. failure:(void (^)(NSError * error))failure
  70. {
  71. AFHTTPSessionManager * manager = [AFHTTPSessionManager manager];
  72. manager.responseSerializer = [AFHTTPResponseSerializer serializer];
  73. manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/html", @"application/json",@"image/png",@"application/pdf",@"image/jpeg",@"application/octet-stream",@"text/json", nil];
  74. manager.responseSerializer = [AFHTTPResponseSerializer serializer];
  75. [manager.requestSerializer willChangeValueForKey:@"timeoutInterval"];
  76. manager.requestSerializer.timeoutInterval=30.0;
  77. [manager.requestSerializer didChangeValueForKey:@"timeoutInterval"];
  78. [manager POST:urlstr parameters:parameters constructingBodyWithBlock:block progress:upProgress success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
  79. success(responseObject);
  80. } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
  81. LXLog(@"afn post data request error %@", error);
  82. failure(error);
  83. }];
  84. }
  85. @end