// // TFNetworkTools.h // WXReader // // Created by 谢腾飞 on 2020/12/3. // Copyright © 2020 xtfei_2011@126.com. All rights reserved. // #import #import "AFNetworking.h" @class TFNetworkRequestModel; NS_ASSUME_NONNULL_BEGIN typedef void(^ _Nullable requestSuccessBlock) (BOOL isSuccess, id _Nullable t_model, TFNetworkRequestModel *requestModel); typedef void(^ _Nullable quickRequestSuccessBlock) (BOOL isSuccess, id _Nullable t_model, BOOL isCache, TFNetworkRequestModel *requestModel); typedef void(^ _Nullable requestFailedBlock) (NSURLSessionDataTask * _Nullable task, NSError *error); @interface TFNetworkTools : UIViewController /// POST request /// @param url 请求地址 /// @param parameters 请求参数 /// @param model 数据类型,设置为nil时返回的t_model将是原始字典 /// @param success 成功回调 /// @param failure 失败回调 + (void)POST:(NSString *)url parameters:(NSDictionary * _Nullable)parameters model:(Class _Nullable)model success:(requestSuccessBlock)success failure:(requestFailedBlock)failure; /// POST request,带缓存 /// @param url 请求地址 /// @param parameters 请求参数 /// @param model 数据类型,设置为nil时返回的t_model将是原始字典 /// @param success 成功回调 /// @param failure 失败回调 + (void)POSTQuick:(NSString *)url parameters:(NSDictionary * _Nullable)parameters model:(Class _Nullable)model success:(quickRequestSuccessBlock)success failure:(requestFailedBlock)failure; /// POST request,可以设置回调队列 /// @param url 请求地址 /// @param parameters 请求参数 /// @param model 数据类型,设置为nil时返回的t_model将是原始字典 /// @param completionQueue 回调队列 /// @param success 成功回调 /// @param failure 失败回调 + (void)POST:(NSString *)url parameters:(NSDictionary * _Nullable)parameters model:(Class _Nullable)model completionQueue:(dispatch_queue_t)completionQueue success:(requestSuccessBlock)success failure:(requestFailedBlock)failure; @end @interface TFNetworkRequestModel : NSObject @property (nonatomic ,strong ,nullable) NSURLSessionDataTask *task; @property (nonatomic ,strong ,nullable) NSDictionary *data; @property (nonatomic ,strong ,nullable) NSString *msg; @property (nonatomic ,assign) NSInteger code; @end NS_ASSUME_NONNULL_END