NetHttpsManager.h 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. //
  2. // NetHttpsManager.h
  3. // BuguLive
  4. //
  5. // Created by xfg on 2017/3/13.
  6. // Copyright © 2017年 xfg. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. typedef void (^SuccessBlock)(NSDictionary *responseJson);
  10. typedef void (^FailureBlock)(NSError *error);
  11. @interface NetHttpsManager : NSObject
  12. + (instancetype)manager;
  13. /**
  14. POST异步请求方法一
  15. @param paramDict 请求参数
  16. @param PostSuccess 成功回调
  17. @param PostFailure 失败回调
  18. */
  19. - (void)POSTWithParameters:(NSMutableDictionary *)paramDict SuccessBlock:(SuccessBlock)PostSuccess FailureBlock:(FailureBlock)PostFailure;
  20. /**
  21. POST异步请求方法二
  22. @param urlStr 接口基本地址
  23. @param paramDict 请求参数
  24. @param PostSuccess 成功回调
  25. @param PostFailure 失败回调
  26. */
  27. - (void)POSTWithUrl:(NSString *)urlStr paramDict:(NSMutableDictionary *)paramDict SuccessBlock:(SuccessBlock)PostSuccess FailureBlock:(FailureBlock)PostFailure;
  28. /**
  29. POST异步请求方法三,带文件
  30. @param parmDict 请求参数
  31. @param fileUrl 文件的url,流传输方式
  32. @param PostSuccess 成功回调
  33. @param PostFailure 失败回调
  34. */
  35. - (void)POSTWithDict:(NSMutableDictionary *)parmDict andFileUrl:(NSURL *)fileUrl SuccessBlock:(SuccessBlock)PostSuccess FailureBlock:(FailureBlock)PostFailure;
  36. /**
  37. POST异步请求方法四,带接口名字的方式
  38. @param method act
  39. @param ctl ctl
  40. @param param 请求参数
  41. @param successBlock 成功回调
  42. @param failBlock 失败回调
  43. */
  44. - (void)postMethod:(NSString*)method ctl:(NSString*)ctl param:(NSDictionary*)param successBlock:(SuccessBlock)successBlock failBlock:(FailureBlock)failBlock;
  45. /**
  46. GET异步请求
  47. @param urlStr 接口基本地址
  48. @param headers headers
  49. @param GetSuccess 成功回调
  50. @param GetFailure 失败回调
  51. */
  52. - (void)GETWithUrl:(NSString *)urlStr headers:(NSMutableDictionary *)headers SuccessBlock:(SuccessBlock)GetSuccess FailureBlock:(FailureBlock)GetFailure;
  53. /**
  54. NSURLSession同步请求
  55. @param urlStr 接口基本地址
  56. @param parmDict 请求参数
  57. @param PostSuccess 成功回调
  58. @param PostFailure 失败回调
  59. */
  60. - (void)syncPostWithUrl:(NSString *)urlStr parameters:(NSMutableDictionary *)parmDict SuccessBlock:(SuccessBlock)PostSuccess FailureBlock:(FailureBlock)PostFailure;
  61. /**
  62. 同步 调用接口,不要在主线程调用
  63. @param method act
  64. @param ctl ctl
  65. @param param 请求参数
  66. @return 返回NSDictionary值
  67. */
  68. - (NSDictionary *)postSynchMehtod:(NSString*)method ctl:(NSString*)ctl param:(NSDictionary*)param;
  69. /**
  70. POST异步请求方法三,带文件,filedata
  71. @param parmDict 请求参数
  72. @param fileUrl 文件的url,流传输方式
  73. @param PostSuccess 成功回调
  74. @param PostFailure 失败回调
  75. */
  76. - (void)POSTWithDict:(NSMutableDictionary *)parmDict andFileData:(NSData *)fileData AndFileName:(NSString *)fileName SuccessBlock:(SuccessBlock)PostSuccess FailureBlock:(FailureBlock)PostFailure;
  77. @end
  78. /**
  79. 重新NSCondition
  80. 原因:如果wait类函数后于signal调用,就会一直等待,也就是说signal线程比wait快执行
  81. 注意:尽量做2个线程之间的同步,否则可能结果不符合预期
  82. */
  83. @interface MYNSCondition : NSCondition
  84. @end