Initial commit
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "UMSocialTaskConfig.h"
|
||||
|
||||
|
||||
@interface UMSocialHttpFactory : NSObject
|
||||
|
||||
/**
|
||||
* 创建一个NSMutableURLRequest的对象
|
||||
*
|
||||
* @param method @see UMSocialHttpMethodType
|
||||
* @param path base path 如: http://www.umeng.com
|
||||
* @param pathParameters 加入到path后面的键值对
|
||||
* @param bodyParameters 加入到body的键值对
|
||||
* @param headers 加入的http的header的键值对
|
||||
*
|
||||
* @return @see NSMutableURLRequest
|
||||
*/
|
||||
+ (NSMutableURLRequest *)makeRequestWithMethod:(UMSocialHttpMethodType)method
|
||||
path:(NSString *)path
|
||||
pathParameters:(NSDictionary *)pathParameters
|
||||
bodyParameters:(NSDictionary *)bodyParameters
|
||||
headers:(NSDictionary *)headers;
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,23 @@
|
||||
//
|
||||
// UMSocialNetwork.h
|
||||
// UMSocialNetwork
|
||||
//
|
||||
// Created by 张军华 on 16/8/29.
|
||||
// Copyright © 2016年 张军华. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
//! Project version number for UMSocialNetwork.
|
||||
FOUNDATION_EXPORT double UMSocialNetworkVersionNumber;
|
||||
|
||||
//! Project version string for UMSocialNetwork.
|
||||
FOUNDATION_EXPORT const unsigned char UMSocialNetworkVersionString[];
|
||||
|
||||
// In this header, you should import all the public headers of your framework using statements like #import <UMSocialNetwork/PublicHeader.h>
|
||||
|
||||
#import <UMSocialNetwork/UMSocialHttpFactory.h>
|
||||
#import <UMSocialNetwork/UMSocialTaskConfig.h>
|
||||
|
||||
#import <UMSocialNetwork/UMSocialTask.h>
|
||||
#import <UMSocialNetwork/UMSocialTaskManager.h>
|
||||
@@ -0,0 +1,65 @@
|
||||
//
|
||||
// UMSocialTask.h
|
||||
// UMSocialSDK
|
||||
//
|
||||
// Created by 张军华 on 16/8/11.
|
||||
// Copyright © 2016年 dongjianxiong. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import "UMSocialTaskConfig.h"
|
||||
|
||||
@class UMSocialTaskOperation;
|
||||
@class UMSocialTask;
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
/**
|
||||
* task的回调代理
|
||||
*/
|
||||
@protocol UMSocialTaskDelegate <NSObject>
|
||||
|
||||
-(void)handleTask:(UMSocialTask*)task withError:(NSError*) error;
|
||||
|
||||
@end
|
||||
|
||||
/**
|
||||
* 所有网络请求的基本任务类
|
||||
*/
|
||||
@interface UMSocialTask : NSObject<NSCopying,NSCoding>
|
||||
|
||||
@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
|
||||
@@ -0,0 +1,59 @@
|
||||
//
|
||||
// UMSocialTaskConfig.h
|
||||
// UMSocialSDK
|
||||
//
|
||||
// Created by 张军华 on 16/8/12.
|
||||
// Copyright © 2016年 dongjianxiong. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
//task的网络请求
|
||||
typedef NS_ENUM(NSInteger, UMSocialHttpMethodType)
|
||||
{
|
||||
UMSocialHttpMethodTypeGet,
|
||||
UMSocialHttpMethodTypePut,
|
||||
UMSocialHttpMethodTypePost,
|
||||
UMSocialHttpMethodTypeMultipartPost,
|
||||
UMSocialHttpMethodTypeMultipartPut,
|
||||
UMSocialHttpMethodTypeDelete
|
||||
};
|
||||
|
||||
//task的状态
|
||||
typedef NS_ENUM(NSInteger, UMSoicalTaskState)
|
||||
{
|
||||
UMSoicalTaskState_Paused = -1,//目前没用
|
||||
UMSoicalTaskState_Ready = 1,
|
||||
UMSoicalTaskState_Executing = 2,
|
||||
UMSoicalTaskState_ExecutingDependency = 3,
|
||||
UMSoicalTaskState_Finished = 4,
|
||||
UMSoicalTaskState_Canceled = 5,//目前没有用
|
||||
UMSoicalTaskState_Error = 6,
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* task完成的回调
|
||||
*
|
||||
* @param result 返回的数据
|
||||
* @param error @see NSError
|
||||
*/
|
||||
typedef void (^UMSocialTaskCompletion)(id result,NSError* error);
|
||||
|
||||
|
||||
/**
|
||||
* task error
|
||||
*/
|
||||
extern NSString* const UMSoicalTaskErrorDomain;
|
||||
extern NSString* const UMSoicalTaskErrorUserInfoKey;
|
||||
typedef NS_ENUM(NSInteger, UMSoicalTaskErrorType)
|
||||
{
|
||||
UMSoicalTaskErrorType_UnKnown,
|
||||
UMSoicalTaskErrorType_ParameterError,//参数错误 例如没有设置OperationQueue等
|
||||
UMSoicalTaskErrorType_CFNetworkErrors, //http的请求的错误 @see CFNetworkErrors,该错误放在UMSoicalTaskErrorUserInfoKey为key的字典中
|
||||
UMSoicalTaskErrorType_UMSoicalServerCode,//服务器的错误,根据当前UMSocial服务器的错误码文档来区分
|
||||
};
|
||||
|
||||
extern NSError* errorWithSoicalTaskError(UMSoicalTaskErrorType taskErrorType,id userInfo);
|
||||
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
//
|
||||
// UMSocialTaskManager.h
|
||||
// UMSocialSDK
|
||||
//
|
||||
// Created by 张军华 on 16/8/12.
|
||||
// Copyright © 2016年 dongjianxiong. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
@class UMSocialTask;
|
||||
@class UMSocialTaskOperation;
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
/**
|
||||
* 所有task的管理类
|
||||
*/
|
||||
@interface UMSocialTaskManager : NSObject
|
||||
|
||||
+(instancetype)shareManager;
|
||||
|
||||
/**
|
||||
* 创建好task直接执行task
|
||||
*
|
||||
* @param task @see UMSocialTask
|
||||
*/
|
||||
-(void)addAndExcuteSocialTask:(UMSocialTask*)task;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user