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

            }];

        }

    }

  • 相关阅读:
    查询记录时rs.previous()的使用
    Cocos2d-x中由sprite来驱动Box2D的body运动(用来制作平台游戏中多变的机关)
    vim经常使用命令总结
    微信公众号:码农的世界
    RHEL5 X86-64上安装Oracle 11gR2演示样例与总结
    JavaScript中获取当前项目的绝对路径
    thinkphp内置标签简单讲解
    function $(id) {}表示什么函数
    表单实例(判断两次密码是否一致)
    thinkphp模板继承
  • 原文地址:https://www.cnblogs.com/wenqian/p/5387429.html
Copyright © 2011-2022 走看看