SNNetworking 0.1.5

SNNetworking 0.1.5

snlo 维护。



 
依赖
AFNetworking>= 0
SNTool>= 0
SNFoundation>= 0
 

  • snlo

SNNetworking

基于 'AFNetWoking3.x' 的一个网络组件库,旨在集中处理网络请求。当 AFNetWoking 框架更新时能够快速替换升级。

功能

  • 提供 NSDictionary、NSArray、NSString 转换为 JSON 字符串
  • 提供散列函数计算的便利性
  • 提供快速创建单例的宏
  • 支持通过创建的缓存文件夹名获取沙盒路径
  • 支持自定义缓存机制
  • 集中处理 GET、POST、UPLOAD、DOWNLOAD,在 "SNNetworking.h" 的分类中
  • 便捷地添加自定义 COOKIES

问题

  • 需要为”SNNetworking.h“手动添加分类,在分类中需要对每个接口编写设计。

安装

pod 'SNNetworking'

使用方法

创建名为”SNNetworking+helper“的”SNNetworking.h“的类别。在分类中设计接口

SNNetworking+helper.h:

#import "SNNetworking.h"

@interface SNNetworking (helper)


/**
 登录列表

 @param success 成功回调
 @param failure 失败回调
 */
+ (void)getStoreListSuccess:(void(^)(id responseObject))success failure:(void(^)(NSError * error))failure;

+ (void)httpsTest;

@end

SNNetworking+helper.m:

#import "SNNetworking+helper.h"

@implementation SNNetworking (helper)

+ (void)getStoreListSuccess:(void(^)(id responseObject))success failure:(void(^)(NSError * error))failure {
    [SNNetworking sharedManager].manager.responseSerializer = [AFJSONResponseSerializer serializer];
    
    [SNNetworking postWithUrl:[NSString stringWithFormat:@"%@%@",kBASEURL,@"store/getStoreList.data"]
                   parameters:@{@"opt":@"list",
                                @"cell":@"13888888888",
                                } progress:^(double percentage) {
                                    
                                } success:^(id responseObject) {
                                    NSLog(@"%s - responseObject - - %@",__func__,SNString(@"%@",responseObject));
                                    if (success) {
                                        success(responseObject);
                                    }
                                    
                                } failure:^(NSError *error) {
                                    NSLog(@"error - - - %@",error);
                                    if (error) {
                                        failure(error);
                                    }
                                }];
}
+ (void)httpsTest {
    [SNNetworking postWithUrl:[NSString stringWithFormat:@"%@%@",@"https://httpbin.org/",@"post"]
                   parameters:@{@"key": @"value"} progress:^(double percentage) {
                                    
                                } success:^(id responseObject) {
                                    NSLog(@"%s - responseObject - - %@",__func__,SNString(@"%@",responseObject));
                                    
                                } failure:^(NSError *error) {
                                    NSLog(@"error - - - %@",error);
                                }];
}

@end

你可以创建多个分类来区分不同类型或功能的接口,以便帮助您进行接口管理、维护和设计。

在实际业务逻辑层的使用中,需要导入刚刚创建的分类头文件”SNNetworking+helper.h“然后

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    
    [SNNetworking httpsTest];
    
    [SNNetworking getStoreListSuccess:^(id responseObject) {
        //处理成功
    } failure:^(NSError *error) {
        //处理失败
    }];
    
    //图片试例
    [SNNetworking getSN_TEST_ImageWithimgProgress:^(double percentage) {
        //下载进度
    } success:^(id responseObject) {
        //下载完成
    } failure:^(NSError *error) {
        //出现了错误
    }];
}

更多API的介绍可以在SNNetworking.h中查阅

需求

该项目最低支持iOS 8 和Xcode 8

感谢

感谢AFNetworking为我们项目提供便利

感谢SNToolSNFoundation

许可证

SNNetworking遵循MIT许可证发布。有关详细信息,请参阅LICENSE