// // UMSocialTask.h // UMSocialSDK // // Created by 张军华 on 16/8/11. // Copyright © 2016年 dongjianxiong. All rights reserved. // #import #import "UMSocialTaskConfig.h" @class UMSocialTaskOperation; @class UMSocialTask; NS_ASSUME_NONNULL_BEGIN /** * task的回调代理 */ @protocol UMSocialTaskDelegate -(void)handleTask:(UMSocialTask*)task withError:(NSError*) error; @end /** * 所有网络请求的基本任务类 */ @interface UMSocialTask : NSObject @property(nonatomic,assign)UMSocialHttpMethodType httpMethodType; //http请求类型 @property(nonatomic,copy)NSString* hostUrlPath;//http请求的host @property(nonatomic,copy)NSString* relatedUrlPath; //http请求的相对url @property(nonatomic,strong)NSDictionary* paramDic; //post或者get请求需要的字典 @property(nonatomic,copy)UMSocialTaskCompletion completion;//回调 @property(nonatomic,readonly,assign)NSInteger taskIdentifier; //唯一id @property(nonatomic,readonly,assign)NSInteger retryCount;//retryCount @property(nonatomic,readonly,assign)UMSoicalTaskState taskState;//task的状态 #pragma mark - override /** * 创建的NSURLRequest * * @return @see NSURLRequest * @discuss 用户可以重载此函数,自己实现makeURLRequest的逻辑, * 如果不重载此函数会用 * 默认会用httpMethodType,relatedUrlPath,paramDic来产生对应的NSURLRequest */ -(NSURLRequest*)makeURLRequest; #pragma mark - private /** * 在指定的operationTaskQueue的执行对应task的任务 * * @param operationTaskQueue @see NSOperationQueue * @discuss 本函数不需要直接调用,UMSocialNetworkCore会自动调用 * @see UMSocialTaskManager -(void)addAndExcuteSocialTask:(UMSocialTask*)task */ -(void)executeTaskWithOperationQueue:(NSOperationQueue*)operationTaskQueue; @end NS_ASSUME_NONNULL_END