From 7b02207537d35bfa1714bf8beafc921f717d100a Mon Sep 17 00:00:00 2001
From: 单军华
Date: Wed, 11 Jul 2018 10:47:42 +0800
Subject: [PATCH] 首次上传
---
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