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);

            }];

        }

    }

  • 相关阅读:
    linux解释器、内建和外建命令
    linux文件cat/tac/more/less/head/tail/find/vimdiff
    zk和eureka的区别(CAP原则)
    Hystrix断路器中的服务熔断与服务降级
    windows 查看端口被占用,解除占用
    JS中操作JSON总结
    Ajax请求($.ajax()为例)中data属性传参数的形式
    通过 Ajax 发送 PUT、DELETE 请求的两种实现方式
    feignclient发送get请求,传递参数为对象
    Spring Boot 和 Spring Cloud Feign调用服务及传递参数踩坑记录
  • 原文地址:https://www.cnblogs.com/wenqian/p/5387429.html
Copyright © 2011-2022 走看看