Commit 7d5be68f cgx

网络框架优化(处理服务器异常数据)

1 个父辈 41fcf581
......@@ -13,10 +13,8 @@ typedef NS_ENUM(NSInteger, DSResCode) {
DSResCodeSuccess = 1,
/** 业务逻辑失败 */
DSResCodeFail = -1,
/** 数据异常 */
/** 服务器数据异常 */
DSResCodeDataWrong = -666,
/** 异常数据错误,需要额外处理异常 */
DSResCodeNeedExtraDeal = 400022
};
#import <AFNetworking/AFNetworking-umbrella.h>
......@@ -24,11 +22,9 @@ typedef NS_ENUM(NSInteger, DSResCode) {
/// 网络请求二次封装基类
@interface DSNetworkTool : AFHTTPSessionManager
/** 响应状态码 */
// 响应状态码
@property (nonatomic, assign) DSResCode resCode;
/** 错误状态码 */
//@property (nonatomic, assign) DSErrCode errCode;
///** 返回的错误信息 */
// 返回的错误信息
@property (nonatomic, copy) NSString *errorInfo;
+ (DSNetworkTool *)sharedManager;
......
......@@ -107,7 +107,15 @@ NSString * const NetworkUnableError = @"网络不给力,请检查您的网络
if (responseObject) {
NSDictionary *responseDic = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil];
// DSLog(@"服务器返回的原始Json数据:%@", responseDic);
// 数据验证
if (!responseDic || ![responseDic isKindOfClass:[NSDictionary class]]) {
failure(ServerDataFormatError);
if (hasFailInfo) {
view ? [DSProgressHUD showDetailInfo:ServerDataFormatError inView:view] : [DSProgressHUD showDetailInfo:ServerDataFormatError];
}
return;
}
// DSLog(@"服务器返回的正确的原始Json数据:%@", responseDic);
// 接口业务数据
NSString *apiStr = (api && [api isKindOfClass:[NSString class]]) ? api : @"";
NSDictionary *apiDataDic = responseDic[@"data"][apiStr];
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!