/*! * @header BAKit.h * BABaseProject * * @brief BAKit * * @author 博爱 * @copyright Copyright © 2016年 博爱. All rights reserved. * @version V1.0 */ // _ooOoo_ // o8888888o // 88" . "88 // (| -_- |) // O\ = /O // ____/`---'\____ // . ' \\| |// `. // / \\||| : |||// \ // / _||||| -:- |||||- \ // | | \\\ - /// | | // | \_| ''\---/'' | | // \ .-\__ `-` ___/-. / // ___`. .' /--.--\ `. . __ // ."" '< `.___\_<|>_/___.' >'"". // | | : `- \`.;`\ _ /`;.`/ - ` : | | // \ \ `-. \_ __\ /__ _/ .-` / / // ======`-.____`-.___\_____/___.-`____.-'====== // `=---=' // // ............................................. // 佛祖镇楼 BUG辟易 // 佛曰: // 写字楼里写字间,写字间里程序员; // 程序人员写程序,又拿程序换酒钱。 // 酒醒只在网上坐,酒醉还来网下眠; // 酒醉酒醒日复日,网上网下年复年。 // 但愿老死电脑间,不愿鞠躬老板前; // 奔驰宝马贵者趣,公交自行程序员。 // 别人笑我忒疯癫,我笑自己命太贱; // 不见满街漂亮妹,哪个归得程序员? /* ********************************************************************************* * * 在使用BAKit的过程中如果出现bug请及时以以下任意一种方式联系我,我会及时修复bug * * QQ : 可以添加ios开发技术群 479663605 在这里找到我(博爱1616【137361770】) * 微博 : 博爱1616 * Email : 137361770@qq.com * GitHub : https://github.com/boai * 博客园 : http://www.cnblogs.com/boai/ * 博客 : http://boai.github.io * 简书 : http://www.jianshu.com/users/95c9800fdf47/latest_articles * 简书专题 : http://www.jianshu.com/collection/072d578bf782 ********************************************************************************* */ /*! 最新更新时间:2016-11-17 【倒叙】 最新Version:【Version:2.0】 更新内容: 2.0.1、优化方法名命名规范 2.0.2、新增部分注释 2.0.3、视频上传方法对接,目前有很多项目对接成功 */ #import #import #define BANetManagerShare [BANetManager sharedBANetManager] /*! 使用枚举NS_ENUM:区别可判断编译器是否支持新式枚举,支持就使用新的,否则使用旧的 */ typedef NS_ENUM(NSUInteger, BANetworkStatus) { /*! 未知网络 */ BANetworkStatusUnknown = 0, /*! 没有网络 */ BANetworkStatusNotReachable, /*! 手机自带网络 */ BANetworkStatusReachableViaWWAN, /*! wifi */ BANetworkStatusReachableViaWiFi }; /*!定义请求类型的枚举 */ typedef NS_ENUM(NSUInteger, BAHttpRequestType) { /*! get请求 */ BAHttpRequestTypeGet = 0, /*! post请求 */ BAHttpRequestTypePost, /*! put请求 */ BAHttpRequestTypePut, /*! delete请求 */ BAHttpRequestTypeDelete }; /*! 定义请求成功的block */ typedef void( ^ BAResponseSuccess)(id response); /*! 定义请求失败的block */ typedef void( ^ BAResponseFail)(NSError *error); /*! 定义上传进度block */ typedef void( ^ BAUploadProgress)(int64_t bytesProgress, int64_t totalBytesProgress); /*! 定义下载进度block */ typedef void( ^ BADownloadProgress)(int64_t bytesProgress, int64_t totalBytesProgress); /*! * 方便管理请求任务。执行取消,暂停,继续等任务. * - (void)cancel,取消任务 * - (void)suspend,暂停任务 * - (void)resume,继续任务 */ typedef NSURLSessionTask BAURLSessionTask; @interface BANetManager : NSObject /*! 获取当前网络状态 */ @property (nonatomic, assign) BANetworkStatus netWorkStatus; /*! * 获得全局唯一的网络请求实例单例方法 * * @return 网络请求类BANetManager单例 */ + (instancetype)sharedBANetManager; /*! * 开启网络监测 */ + (void)ba_startNetWorkMonitoring; /*! * 网络请求方法,block回调 * * @param type get / post * @param urlString 请求的地址 * @param paraments 请求的参数 * @param successBlock 请求成功的回调 * @param failureBlock 请求失败的回调 * @param progress 进度 */ + (BAURLSessionTask *)ba_requestWithType:(BAHttpRequestType)type UrlString:(NSString *)urlString Parameters:(NSDictionary *)parameters SuccessBlock:(BAResponseSuccess)successBlock FailureBlock:(BAResponseFail)failureBlock progress:(BADownloadProgress)progress; /*! * 上传图片(多图) * * @param parameters 上传图片预留参数---视具体情况而定 可移除 * @param imageArray 上传的图片数组 * @param fileName 上传的图片数组fileName * @param urlString 上传的url * @param successBlock 上传成功的回调 * @param failureBlock 上传失败的回调 * @param progress 上传进度 */ + (BAURLSessionTask *)ba_uploadImageWithUrlString:(NSString *)urlString parameters:(NSDictionary *)parameters ImageArray:(NSArray *)imageArray FileName:(NSString *)fileName SuccessBlock:(BAResponseSuccess)successBlock FailurBlock:(BAResponseFail)failureBlock UpLoadProgress:(BAUploadProgress)progress; /*! * 视频上传 * * @param operations 上传视频预留参数---视具体情况而定 可移除 * @param videoPath 上传视频的本地沙河路径 * @param urlString 上传的url * @param successBlock 成功的回调 * @param failureBlock 失败的回调 * @param progress 上传的进度 */ + (void)ba_uploadVideoWithUrlString:(NSString *)urlString parameters:(NSDictionary *)parameters VideoPath:(NSString *)videoPath SuccessBlock:(BAResponseSuccess)successBlock FailureBlock:(BAResponseFail)failureBlock UploadProgress:(BAUploadProgress)progress; /*! * 文件下载 * * @param operations 文件下载预留参数---视具体情况而定 可移除 * @param savePath 下载文件保存路径 * @param urlString 请求的url * @param successBlock 下载文件成功的回调 * @param failureBlock 下载文件失败的回调 * @param progress 下载文件的进度显示 */ + (BAURLSessionTask *)ba_downLoadFileWithUrlString:(NSString *)urlString parameters:(NSDictionary *)parameters SavaPath:(NSString *)savePath SuccessBlock:(BAResponseSuccess)successBlock FailureBlock:(BAResponseFail)failureBlock DownLoadProgress:(BADownloadProgress)progress; @end