From 3e8437ae559487362fae3525beb79c534c213a51 Mon Sep 17 00:00:00 2001
From: 单军华
Date: Thu, 12 Jul 2018 13:44:34 +0800
Subject: [PATCH] bug修复和功能优化

---
 screendisplay/screendisplay/Classes/Network/NetworkDemo.m |  392 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 392 insertions(+), 0 deletions(-)

diff --git a/screendisplay/screendisplay/Classes/Network/NetworkDemo.m b/screendisplay/screendisplay/Classes/Network/NetworkDemo.m
new file mode 100755
index 0000000..d80eaeb
--- /dev/null
+++ b/screendisplay/screendisplay/Classes/Network/NetworkDemo.m
@@ -0,0 +1,392 @@
+//
+//  NetworkDemo.m
+//  PPNetworkHelper
+//
+//  Created by AndyPang on 16/8/12.
+//  Copyright �� 2016��� AndyPang. All rights reserved.
+//
+
+/*
+ *********************************************************************************
+ *
+ *������������������ ������ PP-iOS���������������: 323408051 ������������!!! ������������������
+ *
+ * ������������������ PPNetworkHelper ������������������bug���������������������,������������������������������������,���������
+ * ���������bug,������������.
+ *
+ * Weibo : jkpang-���
+ * Email : jkpang@outlook.com
+ * QQ ��� : 323408051
+ * GitHub: https://github.com/jkpang
+ *
+ * PS:������������������������������������,������������!
+ * 1.������������������������������������,���������A~Z������������(������������������������������������������):
+ *   GitHub:https://github.com/jkpang/PPGetAddressBook
+ * 2.iOS���������������������������������������������(������/������/���������/������������/������������������):
+ *   GitHub:https://github.com/jkpang/PPNumberButton
+ *
+ * ������ PPGetAddressBookSwift ������,������������Star������,������ ������ ���������������������������!
+ *********************************************************************************
+ */
+
+#import "NetworkDemo.h"
+#import "PPNetworkHelper.h"
+#import "PPHTTPRequest.h"
+#import "AFNetworking.h"
+#import "BaseResModel.h"
+#import "Global.h"
+
+#ifdef DEBUG
+#define PPLog(...) printf("[%s] %s [���%d���]: %s\n", __TIME__ ,__PRETTY_FUNCTION__ ,__LINE__, [[NSString stringWithFormat:__VA_ARGS__] UTF8String])
+#else
+#define PPLog(...)
+#endif
+
+
+static NSString *const dataUrl = @"http://api.budejie.com/api/api_open.php";
+static NSString *const downloadUrl = @"http://wvideo.spriteapp.cn/video/2016/0328/56f8ec01d9bfe_wpd.mp4";
+
+@interface NetworkDemo ()
+
+@property (weak, nonatomic) IBOutlet UITextView *networkData;
+@property (weak, nonatomic) IBOutlet UITextView *cacheData;
+@property (weak, nonatomic) IBOutlet UILabel *cacheStatus;
+@property (weak, nonatomic) IBOutlet UISwitch *cacheSwitch;
+@property (weak, nonatomic) IBOutlet UIProgressView *progress;
+@property (weak, nonatomic) IBOutlet UIButton *downloadBtn;
+
+/** ������������������*/
+@property (nonatomic, assign, getter=isCache) BOOL cache;
+
+/** ������������������*/
+@property (nonatomic, assign, getter=isDownload) BOOL download;
+@end
+
+@implementation NetworkDemo
+
+- (void)viewDidLoad {
+    [super viewDidLoad];
+
+    /**
+     ���������������������������������:������������������������
+     PPRequestSerializerJSON(JSON������),
+     PPRequestSerializerHTTP(���������������)
+     
+     ������������ : [PPNetworkHelper setRequestSerializer:PPRequestSerializerHTTP];
+     */
+    
+    /**
+     ���������������������������������:���������JSON������
+     PPResponseSerializerJSON(JSON������),
+     PPResponseSerializerHTTP(���������������)
+     
+     ������������ : [PPNetworkHelper setResponseSerializer:PPResponseSerializerJSON];
+     */
+    
+    /**
+     ��������������� : [PPNetworkHelper setValue:@"value" forHTTPHeaderField:@"header"];
+     */
+    
+    // ������������������
+    [PPNetworkHelper openLog];
+    
+    [PPNetworkHelper setRequestSerializer:PPRequestSerializerJSON];
+    
+    // ������������������������
+    PPLog(@"������������������cache = %fKB",[PPNetworkCache getAllHttpCacheSize]/1024.f);
+    
+    // ������������ [PPNetworkCache removeAllHttpCache];
+    
+    // ������������������������
+    [self monitorNetworkStatus];
+    
+    /*
+     * ���������������������������������
+     ������������0.1s������������������������������������,���������������������������������������������������(���������������AFN���BUG),
+     ���������demo������������������������������,���������������������������demo������������, ������������������������������������������������������,������������
+     */
+    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+        [self getCurrentNetworkStatus];
+    });
+    
+    [self data_upload];
+}
+
+/**
+ 
+ ������������������������������������������ , ���������������������������������,��������������� PPHTTPRequestLayer ���������������������
+ ������,���������������������������������������,���������������������,������������������������,
+ ���������������������������, ���������������������������.
+ */
+- (void)PPHTTPRequestLayerDemo
+{
+//    // ������
+//    [PPHTTPRequest getLoginWithParameters:@"������" success:^(id response) {
+//
+//    } failure:^(NSError *error) {
+//
+//    }];
+//
+//    // ������
+//    [PPHTTPRequest getExitWithParameters:@"������" success:^(id response) {
+//
+//    } failure:^(NSError *error) {
+//
+//    }];
+}
+
+
+-(void)data_upload
+{
+    
+//    UploadModel *model = [[UploadModel alloc] init];
+//
+//
+//    model.lat = [NSString stringWithFormat:@"%lf",0.00000];
+//    model.lon = [NSString stringWithFormat:@"%lf",0.00000];
+//    model.userid = @"597bf6a1a0e6d23f5c3c9869";
+//    model.address = @"������������";
+//
+//    NSMutableArray * dataModelArr = [[NSMutableArray alloc] init];
+//        for (int i = 0; i < 10; i++) {
+//            DataModel * model = [[DataModel alloc] init];
+//            model.time  = @"2018-04-23 10:09:28";
+//            model.type = @"1";
+//            model.is_warn = @"0";
+//            model.value = @"0.012";
+//            [dataModelArr addObject:model];
+//        }
+//
+//    model.data = [[NSMutableArray alloc] init];
+//    [model.data addObjectsFromArray:dataModelArr];
+    NSMutableDictionary *param = [[NSMutableDictionary alloc] init];
+    [param setObject:@"15162662339" forKey:@"username"];
+    [param setObject:@"123456" forKey:@"password"];
+    
+//    // ������
+//    [PPHTTPRequest getLoginWithParameters:param success:^(id responseBody) {
+//         BaseResModel * resModel = [Global toBaseModel:responseBody];
+//         if(resModel.code == 1)
+//         {
+//
+//         }
+//    } failure:^(NSError *error) {
+//         PPLog(@"������������%@",error);
+//    }];
+    
+    //[UserDefault stringForKey:@"user_id"]
+//    NSString *path = [[NSString alloc] initWithFormat:DATA_UPLOAD];
+//
+//    UploadModel *model = [[UploadModel alloc] init];
+//
+//    //['refresh_frequency', 'video', 'is_open_upload']
+//    //[param setValue:[UserDefault stringForKey:@"user_id"] forKey:@"user_id"];
+//    address = @"������������";
+//
+//    model.lat = [NSString stringWithFormat:@"%lf",latitude];
+//    model.lon = [NSString stringWithFormat:@"%lf",longitude];
+//    model.userid = [UserDefault stringForKey:@"user_id"];
+//    model.address = address;
+//
+//    model.data = [[NSMutableArray alloc] init];
+//    [model.data addObjectsFromArray:dataModelArr];
+//    
+//    //NSString * tempString = [Global convertToJsonData:model.toDic];
+//    MPWeakSelf(self);
+//    [NetworkSingleton networkingPostMethod:model.toDic urlName:path success:^(id responseBody)
+//     {
+//         MPStrongSelf(self);
+//         BaseResModel * resModel = [Global toBaseModel:responseBody];
+//
+//         if(resModel.code == 1)
+//         {
+//             [dataModelArr removeAllObjects];
+//
+//             //[UserDefault setObject:self.is_open_upload forKey:@"is_open_upload"];
+//             [UserDefault synchronize];
+//
+//             //[self.tableView reloadData];
+//             [Global alertMessageEx:resModel.desc title:@"������������" okTtitle:nil cancelTitle:@"OK" delegate:self];
+//         }
+//         else
+//         {
+//             [Global alertMessageEx:resModel.desc title:@"������������" okTtitle:nil cancelTitle:@"OK" delegate:self];
+//         }
+//     }
+//                                   failure:^(NSString *error)
+//     {
+//
+//         [Global alertMessageEx:error title:@"������������" okTtitle:nil cancelTitle:@"OK" delegate:self];
+//     }];
+}
+
+#pragma  mark - ������������������������ GET������������������������������
+#pragma  mark - ���������������������������������, ������������������������������������������, ������������������������PPHTTPRequestLayer������������������
+- (void)getData:(BOOL)isOn url:(NSString *)url
+{
+    
+    [self data_upload];
+    
+    NSDictionary *para = @{ @"a":@"list", @"c":@"data",@"client":@"iphone",@"page":@"0",@"per":@"10", @"type":@"29"};
+    // ������������
+    if(isOn)
+    {
+        self.cacheStatus.text = @"������������";
+        self.cacheSwitch.on = YES;
+        [PPNetworkHelper GET:url parameters:para responseCache:^(id responseCache) {
+            // 1.���������������������
+            self.cacheData.text = [self jsonToString:responseCache];
+        } success:^(id responseObject) {
+            // 2.���������������������
+            self.networkData.text = [self jsonToString:responseObject];
+        } failure:^(NSError *error) {
+            
+        }];
+        
+    }
+    // ���������
+    else
+    {
+        self.cacheStatus.text = @"������������";
+        self.cacheSwitch.on = NO;
+        self.cacheData.text = @"";
+        
+        [PPNetworkHelper GET:url parameters:para success:^(id responseObject) {
+            self.networkData.text = [self jsonToString:responseObject];
+        } failure:^(NSError *error) {
+            
+        }];
+        
+    }
+    
+}
+#pragma mark - ������������������������
+- (void)monitorNetworkStatus
+{
+    // ������������������������, networkStatusWithBlock������������������
+    [PPNetworkHelper networkStatusWithBlock:^(PPNetworkStatusType networkStatus) {
+        
+        switch (networkStatus) {
+                // ������������
+            case PPNetworkStatusUnknown:
+                // ���������
+            case PPNetworkStatusNotReachable:
+                self.networkData.text = @"������������";
+                [self getData:YES url:dataUrl];
+                PPLog(@"���������,������������������");
+                break;
+                // ������������
+            case PPNetworkStatusReachableViaWWAN:
+                // ������������
+            case PPNetworkStatusReachableViaWiFi:
+                [self getData:[[NSUserDefaults standardUserDefaults] boolForKey:@"isOn"] url:dataUrl];
+                PPLog(@"���������,������������������");
+                break;
+        }
+        
+    }];
+
+}
+
+#pragma mark - ���������������������������������������
+- (void)getCurrentNetworkStatus
+{
+    if (kIsNetwork) {
+        PPLog(@"���������");
+        if (kIsWWANNetwork) {
+            PPLog(@"������������");
+        }else if (kIsWiFiNetwork){
+            PPLog(@"WiFi������");
+        }
+    } else {
+        PPLog(@"���������");
+    }
+    // ���
+//    if ([PPNetworkHelper isNetwork]) {
+//        PPLog(@"���������");
+//        if ([PPNetworkHelper isWWANNetwork]) {
+//            PPLog(@"������������");
+//        }else if ([PPNetworkHelper isWiFiNetwork]){
+//            PPLog(@"WiFi������");
+//        }
+//    } else {
+//        PPLog(@"���������");
+//    }
+}
+
+#pragma mark - ������
+
+- (IBAction)download:(UIButton *)sender {
+    
+    static NSURLSessionTask *task = nil;
+    //������������
+    if(!self.isDownload)
+    {
+        self.download = YES;
+        [self.downloadBtn setTitle:@"������������" forState:UIControlStateNormal];
+        
+        task = [PPNetworkHelper downloadWithURL:downloadUrl fileDir:@"Download" progress:^(NSProgress *progress) {
+            
+            CGFloat stauts = 100.f * progress.completedUnitCount/progress.totalUnitCount;
+            self.progress.progress = stauts/100.f;
+            
+            PPLog(@"������������ :%.2f%%,,%@",stauts,[NSThread currentThread]);
+        } success:^(NSString *filePath) {
+            
+            UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"������������!"
+                                                                message:[NSString stringWithFormat:@"������������:%@",filePath]
+                                                               delegate:nil
+                                                      cancelButtonTitle:@"������"
+                                                      otherButtonTitles:nil];
+            [alertView show];
+            [self.downloadBtn setTitle:@"������������" forState:UIControlStateNormal];
+            PPLog(@"filePath = %@",filePath);
+            
+        } failure:^(NSError *error) {
+            UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"������������"
+                                                                message:[NSString stringWithFormat:@"%@",error]
+                                                               delegate:nil
+                                                      cancelButtonTitle:@"������"
+                                                      otherButtonTitles:nil];
+            [alertView show];
+            PPLog(@"error = %@",error);
+        }];
+
+    }
+    //������������
+    else
+    {
+        self.download = NO;
+        [task suspend];
+        self.progress.progress = 0;
+        [self.downloadBtn setTitle:@"������������" forState:UIControlStateNormal];
+    }
+    
+    
+    
+}
+
+#pragma mark - ������������
+- (IBAction)isCache:(UISwitch *)sender {
+    [[NSUserDefaults standardUserDefaults] setBool:sender.isOn forKey:@"isOn"];
+
+    [self getData:sender.isOn url:dataUrl];
+}
+
+/**
+ *  json������������
+ */
+- (NSString *)jsonToString:(NSDictionary *)dic
+{
+    if(!dic){
+        return nil;
+    }
+    NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:nil];
+    return [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
+}
+
+- (void)didReceiveMemoryWarning {
+    [super didReceiveMemoryWarning];
+    // Dispose of any resources that can be recreated.
+}
+@end

--
Gitblit v1.8.0