单军华
2018-07-19 2a51383e35b56d6621c04484b5d4f138865ce707
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
//
//  DetailService.m
//  screendisplay
//
//  Created by 单军华 on 2018/7/9.
//  Copyright © 2018年 单军华. All rights reserved.
//
 
#import "DetailService.h"
#import "PPInterfacedConst.h"
 
@implementation DetailService
 
/** 获取详情列表*/
- (NSURLSessionTask *)getDetailListWithParameters:(id)parameters completion:(void(^)(NSString *desc,int code))completion{
    // 将请求前缀与请求路径拼接成一个完整的URL
    NSString *url = [NSString stringWithFormat:@"%@%@",kApiPrefix,kDetail];
    
    return [self requestGETWithURL:url parameters:parameters success:^(id responseObject)
            {
                BaseResModel * resModel = [Global toBaseModel:responseObject];
                if(resModel.code == 1)
                {
                    if(!TWIsEmpty(resModel.content))
                    {
                        // 成功处理
                        [self.detailViewModels removeAllObjects];
                        self.detailViewModels = [DetailModel mj_objectArrayWithKeyValuesArray:resModel.content];
                        int hWarnIndex = -1;
                        int hE24Index = -1;
                        int hE23Index = -1;
                        for (int i = 0; i < self.detailViewModels.count; i++)
                        {
                            DetailModel * model = [self.detailViewModels objectAtIndex:i];
                            if([model.sensor_key isEqualToString:@"warn"])
                            {
                                hWarnIndex = i;
                                continue;
                            }
                        }
                        
                        if(hWarnIndex>=0)
                            [self.detailViewModels removeObjectAtIndex:hWarnIndex];
                        
                        for (int i = 0; i < self.detailViewModels.count; i++)
                        {
                            DetailModel * model = [self.detailViewModels objectAtIndex:i];
                            
                            if([model.sensor_key isEqualToString:@"e23"])
                            {
                                hE23Index = i;
                                continue;
                            }
                        }
                        
                        if(hE23Index>=0)
                            [self.detailViewModels removeObjectAtIndex:hE23Index];
                        
                        for (int i = 0; i < self.detailViewModels.count; i++)
                        {
                            DetailModel * model = [self.detailViewModels objectAtIndex:i];
                            
                            if([model.sensor_key isEqualToString:@"e24"])
                            {
                                hE24Index = i;
                                continue;
                            }
                        }
                        
                        if(hE24Index>=0)
                            [self.detailViewModels removeObjectAtIndex:hE24Index];
                        
                    }
                    else
                    {
                        // 出错处理
                        resModel.code = -5;
                        completion(@"返回数据错误,数据为空!",resModel.code);
                    }
                }
                
                // 在这里你可以根据项目自定义其他一些重复操作,比如加载页面时候的等待效果, 提醒弹窗....
                completion(resModel.desc,resModel.code);
                
            } failure:^(NSError *error) {
                // 同上
                completion(error.localizedDescription,-1);
            }];
}
 
- (NSMutableArray<DetailModel *> *)detailViewModels
{
    if(_detailViewModels == nil)
    {
        _detailViewModels = [NSMutableArray array];
    }
    return _detailViewModels;
}
 
 
@end