Skip to content

Latest commit

 

History

History
434 lines (266 loc) · 10.8 KB

MLSNetworkRequest.md

File metadata and controls

434 lines (266 loc) · 10.8 KB

MLSNetworkRequest Class Reference

  Conforms to ContentType

__covariant
  Declared in MLSNetworkRequest.h

Overview

在使用 MLSNetwork 框架的时候,必须要定义一个网络根数据结构,继承 MLSNetworkRootDataProtocol 可用于重试机制判断

Tasks

Other Methods

  requestFullParams property

  tipString property

  maxRetryCount property

  retryCount property

  needRetry property

  needRetryPreRequest property

  retryDelay property

  retryPreRequest property

  retryPreRequestCodes property

  serverRootData property

  responseModelData property

  modelClass property

  cacheManager property

  modelManager property

  enctyptManager property

  serverRootDataClass property

  logger property

  modelKeyPath property

+ requestWithParam:

– paramInsert:forKey:

– paramInsert:

– paramDelForKey:

– paramDel:

– paramDelForKeys:

– startWithModelCompletionBlockWithSuccess:failure:

– startWithCache:modelCompletionBlockWithSuccess:failure:

RACSignalSupport Methods

– rac_signal

– rac_channelForKey:nilValue:

COObjcSupport Methods

– async_request

Properties

cacheManager

缓存管理

@property (nonatomic, strong) id<MLSNetworkCacheProtocol> cacheManager

Declared In

  • MLSNetworkRequest.h

enctyptManager

加解密工具

@property (nonatomic, strong) id<MLSEncryptProtocol> enctyptManager

Declared In

  • MLSNetworkRequest.h

logger

日志工具

@property (nonatomic, strong) id<MLSNetworkLogProtocol> logger

Declared In

  • MLSNetworkRequest.h

maxRetryCount

错误最大重试次数 默认 不重试

@property (nonatomic, assign) NSUInteger maxRetryCount

Declared In

  • MLSNetworkRequest.h

modelClass

需要转模型的 Class

@property (nonatomic, strong) Class modelClass

Declared In

  • MLSNetworkRequest.h

modelKeyPath

需要提取的子集模型 { “code”: 0, “message”: “成功”, “data”: { “name”: “BeJson”, “url”: “http://www.bejson.com”, “page”: 88, “isNonProfit”: true, “address”: { “street”: “科技园路.”, “city”: “江苏苏州”, “country”: “中国” } } } 如果 modelClass 为 links 对应的 class, 想要网络请求完成,自动转换模型为 links 的模型 则 modelKeyPath 设置为 data.links 如果不设置,默认是真个 data 块

@property (nonatomic, copy) NSString *modelKeyPath

Declared In

  • MLSNetworkRequest.h

modelManager

字典转模型工具

@property (nonatomic, strong) id<MLSNetworkModelProtocol> modelManager

Declared In

  • MLSNetworkRequest.h

needRetry

是否需要重试

@property (nonatomic, assign) BOOL needRetry

Declared In

  • MLSNetworkRequest.h

needRetryPreRequest

是否需要在重试前调用 retryPreRequest

@property (nonatomic, assign) BOOL needRetryPreRequest

Declared In

  • MLSNetworkRequest.h

requestFullParams

完成的请求参数,包括 paraInsert 后的参数

@property (nonatomic, strong, readonly) id requestFullParams

Declared In

  • MLSNetworkRequest.h

responseModelData

需要提取的 模型数据

@property (nonatomic, strong, readonly) ContentType responseModelData

Declared In

  • MLSNetworkRequest.h

retryCount

错误重试次数 默认 3 次

@property (nonatomic, assign, readonly) NSUInteger retryCount

Declared In

  • MLSNetworkRequest.h

retryDelay

延时重试,默认 0

@property (nonatomic, assign) NSTimeInterval retryDelay

Declared In

  • MLSNetworkRequest.h

retryPreRequest

在错误重试前,必须要请求而且成功的 request

@property (nonatomic, strong) id<MLSRetryPreRequestProtocol> retryPreRequest

Declared In

  • MLSNetworkRequest.h

retryPreRequestCodes

需要重试前调用 retryPreRequest 的错误码

@property (nonatomic, strong) NSMutableSet<NSNumber*> *retryPreRequestCodes

Declared In

  • MLSNetworkRequest.h

serverRootData

服务器返回的根数据

@property (nonatomic, strong, readonly) id<MLSNetworkRootDataProtocol> serverRootData

Declared In

  • MLSNetworkRequest.h

serverRootDataClass

服务器返回的根数据结构

@property (nonatomic, strong) Class<MLSNetworkRootDataProtocol> serverRootDataClass

Declared In

  • MLSNetworkRequest.h

tipString

服务器返回的信息 成功,或者失败提示信息

@property (nonatomic, copy, readonly) NSString *tipString

Declared In

  • MLSNetworkRequest.h

Class Methods

requestWithParam:

快速创建网络请求

+ (instancetype)requestWithParam:(nullable id)*param*

Parameters

param
   参数

Return Value

网络请求

Declared In

  • MLSNetworkRequest.h

Instance Methods

async_request

兼容coobjc处理 其中返回的参数是一个元组 COTuple3 第一个是该网络请求,第二个为请求结果,第三个为错误信息 其中第一个不为空,后两个皆有可能为空 不可以使用 co_getError() 获取错误信息

- (COPromise<COTuple3<MLSNetworkRequest*,id,NSError*> *> *)async_request

Return Value

COPromise

Declared In

  • MLSNetworkRequest+COObjcSupport.h

paramDel:

- (void)paramDel:(NSDictionary *)*delParam*

paramDelForKey:

删除参数

- (void)paramDelForKey:(NSString *)*key*

Parameters

key
   对应键

Declared In

  • MLSNetworkRequest.h

paramDelForKeys:

- (void)paramDelForKeys:(NSArray *)*delParamKeys*

paramInsert:

- (void)paramInsert:(NSDictionary *)*insertParam*

paramInsert:forKey:

插入参数 会覆盖原本参数

- (void)paramInsert:(id)*obj* forKey:(NSString *)*key*

Parameters

obj
   参数

key
   对应键

Declared In

  • MLSNetworkRequest.h

rac_channelForKey:nilValue:

RAC 通道

- (RACChannel *)rac_channelForKey:(NSString *)*key* nilValue:(id)*nilValue*

Return Value

channel

Declared In

  • MLSNetworkRequest+RACSignalSupport.h

rac_signal

RAC 信号

- (RACSignal *)rac_signal

Return Value

signal

Declared In

  • MLSNetworkRequest+RACSignalSupport.h

startWithCache:modelCompletionBlockWithSuccess:failure:

网络请求

- (void)startWithCache:(BOOL)*cacheable* modelCompletionBlockWithSuccess:(MLSNetworkRequestCompletionBlock)*success* failure:(MLSNetworkRequestCompletionBlock)*failure*

Parameters

cacheable
   是否 缓存

success
   成功回调

failure
   失败回调

Declared In

  • MLSNetworkRequest.h

startWithModelCompletionBlockWithSuccess:failure:

开始网络请求

- (void)startWithModelCompletionBlockWithSuccess:(MLSNetworkRequestCompletionBlock)*success* failure:(MLSNetworkRequestCompletionBlock)*failure*

Parameters

success
   成功回调

failure
   失败回调

Declared In

  • MLSNetworkRequest.h