zoukankan      html  css  js  c++  java
  • 封装的数据请求加上风火轮的效果

    把数据请求和风火轮的效果封装成一个方法,用的时候直接调用这个方法就可以

    + (void)startRequest:(NSString*)method

                 baseurl:(NSString*)baseurl

                   param:(NSDictionary*)params

                 success:(DKSuccess)success

                 failure:(DKFailure)failure

            showProgress:(BOOL)progress{

        NSAssert(params, @"params is nil.");

        NSDictionary *par = @{@"reqData":[self dictionaryToString:params]};

        if (progress) {

            [SVProgressHUD showWithMaskType:SVProgressHUDMaskTypeClear];

        }

        AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

        manager.requestSerializer = [AFHTTPRequestSerializer serializer];

        manager.responseSerializer = [AFHTTPResponseSerializer serializer];

        if ([method isEqualToString:Get]) {

            [manager GET:baseurl parameters:par progress:^(NSProgress * _Nonnull downloadProgress) {

                

            } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nonnull responseObject) {

                [SVProgressHUD dismiss];

                NSAssert(responseObject, @"responseObject is nil.");

                success(task, [self decryptData:responseObject]);

            } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {

                [SVProgressHUD dismiss];

                failure(task, error);

            }];

        }else{

            [manager POST:baseurl parameters:par progress:^(NSProgress * _Nonnull uploadProgress) {

                

            } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nonnull responseObject) {

                [SVProgressHUD dismiss];

                NSAssert(responseObject, @"responseObject is nil.");

                success(task, [self decryptData:responseObject]);

            } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {

                [SVProgressHUD dismiss];

                failure(task, error);

            }];

        }

    }

  • 相关阅读:
    BootStrap 学习笔记一
    ROW_NUMBER() OVER的用法
    Angularjs学习笔记(五)----显示和格式化数据
    &&和||的妙用
    形象的讲解angular中的$q与promise(转)
    Angularjs学习笔记(四)----与后端服务器通信
    Angularjs学习笔记(一)
    Angularjs学习笔记(二)----模块
    Angularjs学习笔记(三)----依赖注入
    StringBuilder类型
  • 原文地址:https://www.cnblogs.com/wenqian/p/5387429.html
Copyright © 2011-2022 走看看