GitHub - AllenSWB/WBNetwork: iOS 网络请求库、基于AFN3、链式调用

    /**
     * 1. 在合适的地方设置默认参数, 例如AppDelegate中didFinishLaunch方法
     */
     //设置好baseUrl,发起请求的时候就可以写部分URL。例如:url(@"/user/login")
    WBREQUEST.baseUrlDebug = @"http://www.debug.com";//测试环境baseURL
    WBREQUEST.baseUrlRelease = @"http://www.release.com";//正式环境baseURL
    //默认请求参数,发起请求的时候可以不调用parameters方法,或者传入除了默认参数之外的其他参数。
    WBREQUEST.defaultParameters = @{@"appid":@"",@"appPass":@""};//访问服务器的账号和密码。
    //是否使用缓存,默认YES
    WBREQUEST.cacheData = NO;
    //发起同一请求最小时间间隔,默认1s
    WBREQUEST.minRequestInterval = 2;

    //添加HUD插件
    [WBREQUEST wb_addPlugIn:[WBReqeustHUDPlugIn new]];

    
    /**
     * 2. 发起一个请求. 最简单可以调用url success startRequest三个方法就可以发起一个请求.
     */
    WBReqeustHUDPlugIn *plugIn = (WBReqeustHUDPlugIn *)[WBREQUEST plugInWithIdentifier:@"hud"];//hud插件
    plugIn.HudInView = self.view;//可以选择将hud加在self.view上而非window上
    plugIn.HudText = @"正在登录...";

    //网络请求
    WBREQUEST.url(@"/user/login").parameters(@{@"phone":@"136********",@"passwd":@""}).success(^(NSURLSessionDataTask *task, id responsedObj){
        WBLog(@"登录成功");
    }).failure(^(NSURLSessionDataTask *task, NSError *error){
        WBLog(@"登录失败");
    }).startRequest();

    /**
     * 3. 同时发起多个请求
     */
    WBReqeustHUDPlugIn *plugIn = (WBReqeustHUDPlugIn *)[WBREQUEST plugInWithIdentifier:@"hud"];
    plugIn.isPlugInFree = YES; // 让插件失效

    WBREQUEST.batchRequestTypes(@[WBPOST,WBPOST,WBPOST]).batchUrls(@[url0,url1,url2]).batchParameters(@[@{},@{},@{}]).batchRequestDone(^(NSDictionary *dic) {
    
    	//记得请求完成奖插件恢复能用
        plugIn.isPlugInFree = NO;

        WBLog(@"======================\ndic is %@\n================================",dic);
        
        for (id obj in dic.allValues) {
            if ([obj isKindOfClass:[NSError class]]) {
                WBLog(@"obj 出现了\n有错!");
            } else {
                WBLog(@"obj 出现了\n数据:%@",obj);
            }
        }
        
    }).startBatchRequest();
 WBREQUEST.url(<#NSString * url#>).parameters(<#NSDictionary * parameters#>).success(^(NSURLSessionDataTask * task,id responseObject){
 <#code#>
}).startRequest();