Commit 8673609002236409a5ffd6357334fe565f388940
1 parent
e030152b
直播图文详情接口更改
Showing
2 changed files
with
72 additions
and
96 deletions
CNLiveScioLive/AppDelegate.m
| @@ -101,10 +101,10 @@ | @@ -101,10 +101,10 @@ | ||
| 101 | NSDictionary *dic = [NSDictionary dictionaryWithDictionary:json]; | 101 | NSDictionary *dic = [NSDictionary dictionaryWithDictionary:json]; |
| 102 | NSURL *url = [NSURL URLWithString:dic[@"data"][@"image"]]; | 102 | NSURL *url = [NSURL URLWithString:dic[@"data"][@"image"]]; |
| 103 | NSString * mode = dic[@"grayMode"]; | 103 | NSString * mode = dic[@"grayMode"]; |
| 104 | - if (mode.intValue == 1) { | 104 | + if (mode&&mode.intValue == 1) { |
| 105 | [[NSUserDefaults standardUserDefaults] setBool:YES forKey:ISGRAYMODE]; | 105 | [[NSUserDefaults standardUserDefaults] setBool:YES forKey:ISGRAYMODE]; |
| 106 | }else{ | 106 | }else{ |
| 107 | - [[NSUserDefaults standardUserDefaults] setBool:YES forKey:ISGRAYMODE]; | 107 | + [[NSUserDefaults standardUserDefaults] setBool:NO forKey:ISGRAYMODE]; |
| 108 | } | 108 | } |
| 109 | if (dic[@"homeTitleColor"]&&![dic[@"homeTitleColor"] isEqualToString:@""]) { | 109 | if (dic[@"homeTitleColor"]&&![dic[@"homeTitleColor"] isEqualToString:@""]) { |
| 110 | [[NSUserDefaults standardUserDefaults] setValue:dic[@"homeTitleColor"] forKey:HOMETITLECOLOR]; | 110 | [[NSUserDefaults standardUserDefaults] setValue:dic[@"homeTitleColor"] forKey:HOMETITLECOLOR]; |
CNLiveScioLive/Pages/Live/Controller/GraphicLiveViewController.m
| @@ -55,14 +55,42 @@ | @@ -55,14 +55,42 @@ | ||
| 55 | 55 | ||
| 56 | - (void)loadData { | 56 | - (void)loadData { |
| 57 | if (![[Reachability reachabilityForInternetConnection] currentReachabilityStatus]) { | 57 | if (![[Reachability reachabilityForInternetConnection] currentReachabilityStatus]) { |
| 58 | + [self setUpUIWithTag:1000 Height:0]; | ||
| 59 | + return; | ||
| 60 | + } | ||
| 61 | + | ||
| 62 | + AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; | ||
| 63 | + manager.responseSerializer = [AFHTTPResponseSerializer serializer]; | ||
| 64 | + [manager POST:@"http://s.scio.gov.cn/ocms/.content/function_provider/arswitch1.json" parameters:nil headers:nil progress:NULL success:^(NSURLSessionDataTask *task, id responseObject) { | ||
| 65 | + NSLog(@"%@",responseObject); | ||
| 66 | + NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil]; | ||
| 67 | + NSString *errorCode = dic[@"errorCode"]; | ||
| 68 | + | ||
| 69 | + if ([errorCode isEqualToString:@"1"]) { | ||
| 70 | + [self requestJsonData:dic[@"docId"]]; | ||
| 71 | + } | ||
| 72 | + | ||
| 73 | + | ||
| 74 | + } failure:^(NSURLSessionDataTask *task, NSError *error) { | ||
| 75 | + NSLog(@"%@",error); | ||
| 76 | + [self setUpUIWithTag:1000 Height:0]; | ||
| 77 | + | ||
| 78 | + }]; | ||
| 79 | + | ||
| 80 | + | ||
| 81 | +} | ||
| 82 | +-(void)requestJsonData:(NSString *)docId | ||
| 83 | +{ | ||
| 84 | + if (![[Reachability reachabilityForInternetConnection] currentReachabilityStatus]) { | ||
| 58 | [AlertViewTool showHUDViewText:CustomStr(@"NetworkiInterruption")]; | 85 | [AlertViewTool showHUDViewText:CustomStr(@"NetworkiInterruption")]; |
| 59 | return; | 86 | return; |
| 60 | } | 87 | } |
| 61 | [AlertViewTool showHUDView]; | 88 | [AlertViewTool showHUDView]; |
| 62 | AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; | 89 | AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; |
| 63 | manager.responseSerializer = [AFHTTPResponseSerializer serializer]; | 90 | manager.responseSerializer = [AFHTTPResponseSerializer serializer]; |
| 64 | - [manager POST:tuwenzhibo parameters:nil headers:nil progress:^(NSProgress * _Nonnull uploadProgress) {} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { | 91 | + [manager POST:tuwen(docId.intValue) parameters:nil headers:nil progress:^(NSProgress * _Nonnull uploadProgress) {} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { |
| 65 | [AlertViewTool hideHUDView]; | 92 | [AlertViewTool hideHUDView]; |
| 93 | + [self setUpUIWithTag:1000 Height:40.0]; | ||
| 66 | // 请求成功,解析数据 | 94 | // 请求成功,解析数据 |
| 67 | NSString * jsonString = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding]; | 95 | NSString * jsonString = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding]; |
| 68 | NSArray *arr = [jsonString objectFromJSONString]; | 96 | NSArray *arr = [jsonString objectFromJSONString]; |
| @@ -72,7 +100,7 @@ | @@ -72,7 +100,7 @@ | ||
| 72 | } else { | 100 | } else { |
| 73 | [self->_webView loadHTMLString:@"<html><body> </body></html>" baseURL:nil]; | 101 | [self->_webView loadHTMLString:@"<html><body> </body></html>" baseURL:nil]; |
| 74 | } | 102 | } |
| 75 | - | 103 | + |
| 76 | 104 | ||
| 77 | } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { | 105 | } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { |
| 78 | // 请求失败 | 106 | // 请求失败 |
| @@ -82,7 +110,6 @@ | @@ -82,7 +110,6 @@ | ||
| 82 | 110 | ||
| 83 | }]; | 111 | }]; |
| 84 | } | 112 | } |
| 85 | - | ||
| 86 | - (void)viewWillAppear:(BOOL)animated { | 113 | - (void)viewWillAppear:(BOOL)animated { |
| 87 | [super viewWillAppear:animated]; | 114 | [super viewWillAppear:animated]; |
| 88 | [[JGMusicManager shareMusicManager] playStop]; | 115 | [[JGMusicManager shareMusicManager] playStop]; |
| @@ -96,7 +123,6 @@ | @@ -96,7 +123,6 @@ | ||
| 96 | - (void)viewWillDisappear:(BOOL)animated { | 123 | - (void)viewWillDisappear:(BOOL)animated { |
| 97 | [super viewWillDisappear:animated]; | 124 | [super viewWillDisappear:animated]; |
| 98 | [self.liveController stopShow]; | 125 | [self.liveController stopShow]; |
| 99 | -// self.liveController = nil; | ||
| 100 | [self.navigationController setNavigationBarHidden:NO]; | 126 | [self.navigationController setNavigationBarHidden:NO]; |
| 101 | } | 127 | } |
| 102 | 128 | ||
| @@ -117,15 +143,6 @@ | @@ -117,15 +143,6 @@ | ||
| 117 | backgroundView.bounces = NO; | 143 | backgroundView.bounces = NO; |
| 118 | [self.view addSubview:backgroundView]; | 144 | [self.view addSubview:backgroundView]; |
| 119 | 145 | ||
| 120 | - relatedWebView = [[WKWebView alloc] initWithFrame:CGRectZero]; | ||
| 121 | - relatedWebView.scrollView.backgroundColor = [UIColor whiteColor]; | ||
| 122 | -// relatedWebView.dataDetectorTypes = UIDataDetectorTypeNone; | ||
| 123 | - relatedWebView.backgroundColor = [UIColor whiteColor]; | ||
| 124 | - relatedWebView.scrollView.bounces = NO; | ||
| 125 | - relatedWebView.navigationDelegate = self; | ||
| 126 | - relatedWebView.opaque = NO; | ||
| 127 | - relatedWebView.tag = 1000; | ||
| 128 | - [backgroundView addSubview:relatedWebView]; | ||
| 129 | 146 | ||
| 130 | // NSString* htmlHeader = [[NSString alloc] initWithFormat:@"<html><font style=\"font-size:20px;\"><strong>%@</strong></font><br><p>%@</p><p>来源 : 国新网</p><body>",[_dictionary objectForKey:@"title"],[_dictionary objectForKey:@"liveStartDateTime"]]; | 147 | // NSString* htmlHeader = [[NSString alloc] initWithFormat:@"<html><font style=\"font-size:20px;\"><strong>%@</strong></font><br><p>%@</p><p>来源 : 国新网</p><body>",[_dictionary objectForKey:@"title"],[_dictionary objectForKey:@"liveStartDateTime"]]; |
| 131 | // NSString* htmlFooter = [[NSString alloc] initWithFormat:@"<div class=\"logo\" style=\"text-indent:2em\">%@</div></body></html>",[_dictionary objectForKey:@"Description"]]; | 148 | // NSString* htmlFooter = [[NSString alloc] initWithFormat:@"<div class=\"logo\" style=\"text-indent:2em\">%@</div></body></html>",[_dictionary objectForKey:@"Description"]]; |
| @@ -156,16 +173,6 @@ | @@ -156,16 +173,6 @@ | ||
| 156 | NSString* strHtml = [[NSString alloc] initWithFormat:@"%@%@",htmlHeader,htmlFooter]; | 173 | NSString* strHtml = [[NSString alloc] initWithFormat:@"%@%@",htmlHeader,htmlFooter]; |
| 157 | [relatedWebView loadHTMLString:strHtml baseURL:nil]; | 174 | [relatedWebView loadHTMLString:strHtml baseURL:nil]; |
| 158 | 175 | ||
| 159 | - _webView = [[WKWebView alloc] initWithFrame:CGRectZero]; | ||
| 160 | - _webView.scrollView.backgroundColor = [UIColor whiteColor]; | ||
| 161 | -// _webView.dataDetectorTypes = UIDataDetectorTypeNone; | ||
| 162 | - _webView.backgroundColor = [UIColor whiteColor]; | ||
| 163 | - _webView.navigationDelegate = self; | ||
| 164 | - _webView.opaque = NO; | ||
| 165 | - _webView.tag = 2000; | ||
| 166 | - _webView.hidden = YES; | ||
| 167 | - [backgroundView addSubview:_webView]; | ||
| 168 | - | ||
| 169 | if (!isPlay) { | 176 | if (!isPlay) { |
| 170 | [self loadMovieView]; | 177 | [self loadMovieView]; |
| 171 | } else { | 178 | } else { |
| @@ -329,26 +336,47 @@ | @@ -329,26 +336,47 @@ | ||
| 329 | [relatedWebView setFrame:CGRectMake(0, 0, MainScreenWidth, descriptionHeight)]; | 336 | [relatedWebView setFrame:CGRectMake(0, 0, MainScreenWidth, descriptionHeight)]; |
| 330 | }]; | 337 | }]; |
| 331 | } | 338 | } |
| 332 | - | ||
| 333 | - if (![[Reachability reachabilityForInternetConnection] currentReachabilityStatus]) { | ||
| 334 | - [self setUpUIWithTag:webView.tag Height:0]; | ||
| 335 | - return; | ||
| 336 | - } | ||
| 337 | - | ||
| 338 | - AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; | ||
| 339 | - manager.responseSerializer = [AFHTTPResponseSerializer serializer]; | ||
| 340 | - [manager POST:@"http://s.scio.gov.cn/ocms/.content/function_provider/arswitch.json" parameters:nil headers:nil progress:NULL success:^(NSURLSessionDataTask *task, id responseObject) { | ||
| 341 | - NSLog(@"%@",responseObject); | ||
| 342 | - NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil]; | ||
| 343 | - NSString *errorCode = dic[@"errorCode"]; | ||
| 344 | - [self setUpUIWithTag:webView.tag Height:[errorCode isEqualToString:@"1"]?40.0:0.0]; | ||
| 345 | - | ||
| 346 | - } failure:^(NSURLSessionDataTask *task, NSError *error) { | ||
| 347 | - NSLog(@"%@",error); | ||
| 348 | - [self setUpUIWithTag:webView.tag Height:0]; | 339 | + if (webView.tag==2000) { |
| 340 | + CGFloat width = MainScreenWidth - 20; | ||
| 341 | + NSString *string = [NSString stringWithFormat: | ||
| 342 | + @"var script = document.createElement('script');" | ||
| 343 | + "script.type = 'text/javascript';" | ||
| 344 | + "script.text = \"function ResizeImages() { " | ||
| 345 | + "var myimg,oldwidth;" | ||
| 346 | + "var maxwidth=%f;" //缩放系数 | ||
| 347 | + "for(i=0;i <document.images.length;i++){" | ||
| 348 | + "myimg = document.images[i];" | ||
| 349 | + "if(myimg.width > maxwidth){" | ||
| 350 | + "oldwidth = myimg.width;" | ||
| 351 | + "myimg.width = maxwidth;" | ||
| 352 | + "myimg.height = myimg.height * (maxwidth/oldwidth);" | ||
| 353 | + "}" | ||
| 354 | + "}" | ||
| 355 | + "}\";" | ||
| 356 | + "document.getElementsByTagName('head')[0].appendChild(script);",width]; | ||
| 349 | 357 | ||
| 350 | - }]; | ||
| 351 | - | 358 | + [webView evaluateJavaScript:string completionHandler:nil]; |
| 359 | + [webView evaluateJavaScript:@"ResizeImages();" completionHandler:nil]; | ||
| 360 | + | ||
| 361 | + CGRect frame = webView.frame; | ||
| 362 | + frame.size.width = MainScreenWidth; | ||
| 363 | + frame.size.height = 1; | ||
| 364 | + webView.frame = frame; | ||
| 365 | + [webView evaluateJavaScript:@"document.body.scrollHeight"completionHandler:^(id _Nullable result,NSError * _Nullable error){ | ||
| 366 | + self->graphicLiveHeight = [result floatValue]; | ||
| 367 | + if (0 == [self->heightArr[self->fontIndex] floatValue]) { | ||
| 368 | + [self->heightArr replaceObjectAtIndex:self->fontIndex withObject:[NSString stringWithFormat:@"%f",self->graphicLiveHeight]]; | ||
| 369 | + } | ||
| 370 | + | ||
| 371 | + if (self->isShow) { | ||
| 372 | + NSLog(@"fontIndex = %d",self->fontIndex); | ||
| 373 | + [self->backgroundView setContentSize:CGSizeMake(MainScreenWidth, 40 + self->descriptionHeight + [self->heightArr[self->fontIndex] floatValue] + 221)]; | ||
| 374 | + [webView setFrame:CGRectMake(0, 40 + self->descriptionHeight, MainScreenWidth, [self->heightArr[self->fontIndex] floatValue])]; | ||
| 375 | + [self showRelatedInformation:40 + self->descriptionHeight + [self->heightArr[self->fontIndex] floatValue]]; | ||
| 376 | + } | ||
| 377 | + }]; | ||
| 378 | + } | ||
| 379 | + | ||
| 352 | } | 380 | } |
| 353 | - (void)setUpUIWithTag:(NSInteger)tag Height:(NSInteger)height{ | 381 | - (void)setUpUIWithTag:(NSInteger)tag Height:(NSInteger)height{ |
| 354 | 382 | ||
| @@ -418,58 +446,6 @@ | @@ -418,58 +446,6 @@ | ||
| 418 | 446 | ||
| 419 | [self showRelatedInformation:height + descriptionHeight]; | 447 | [self showRelatedInformation:height + descriptionHeight]; |
| 420 | 448 | ||
| 421 | - } else if (2000 == tag) { | ||
| 422 | - CGFloat width = MainScreenWidth - 20; | ||
| 423 | - NSString *string = [NSString stringWithFormat: | ||
| 424 | - @"var script = document.createElement('script');" | ||
| 425 | - "script.type = 'text/javascript';" | ||
| 426 | - "script.text = \"function ResizeImages() { " | ||
| 427 | - "var myimg,oldwidth;" | ||
| 428 | - "var maxwidth=%f;" //缩放系数 | ||
| 429 | - "for(i=0;i <document.images.length;i++){" | ||
| 430 | - "myimg = document.images[i];" | ||
| 431 | - "if(myimg.width > maxwidth){" | ||
| 432 | - "oldwidth = myimg.width;" | ||
| 433 | - "myimg.width = maxwidth;" | ||
| 434 | - "myimg.height = myimg.height * (maxwidth/oldwidth);" | ||
| 435 | - "}" | ||
| 436 | - "}" | ||
| 437 | - "}\";" | ||
| 438 | - "document.getElementsByTagName('head')[0].appendChild(script);",width]; | ||
| 439 | - | ||
| 440 | - [_webView evaluateJavaScript:string completionHandler:nil]; | ||
| 441 | - [_webView evaluateJavaScript:@"ResizeImages();" completionHandler:nil]; | ||
| 442 | - | ||
| 443 | - CGRect frame = _webView.frame; | ||
| 444 | - frame.size.width = MainScreenWidth; | ||
| 445 | - frame.size.height = 1; | ||
| 446 | - _webView.frame = frame; | ||
| 447 | - [_webView evaluateJavaScript:@"document.body.scrollHeight"completionHandler:^(id _Nullable result,NSError * _Nullable error){ | ||
| 448 | - graphicLiveHeight = [result floatValue]; | ||
| 449 | - if (0 == [heightArr[fontIndex] floatValue]) { | ||
| 450 | - [heightArr replaceObjectAtIndex:fontIndex withObject:[NSString stringWithFormat:@"%f",graphicLiveHeight]]; | ||
| 451 | - } | ||
| 452 | - | ||
| 453 | - if (isShow) { | ||
| 454 | - NSLog(@"fontIndex = %d",fontIndex); | ||
| 455 | - [backgroundView setContentSize:CGSizeMake(MainScreenWidth, 40 + descriptionHeight + [heightArr[fontIndex] floatValue] + 221)]; | ||
| 456 | - [_webView setFrame:CGRectMake(0, 40 + descriptionHeight, MainScreenWidth, [heightArr[fontIndex] floatValue])]; | ||
| 457 | - [self showRelatedInformation:40 + descriptionHeight + [heightArr[fontIndex] floatValue]]; | ||
| 458 | - } | ||
| 459 | - }]; | ||
| 460 | - | ||
| 461 | - NSLog(@"%@",NSStringFromCGRect(_webView.frame)); | ||
| 462 | - NSLog(@"%@",NSStringFromCGSize(_webView.scrollView.contentSize)); | ||
| 463 | -// if (0 == [heightArr[fontIndex] floatValue]) { | ||
| 464 | -// [heightArr replaceObjectAtIndex:fontIndex withObject:[NSString stringWithFormat:@"%f",graphicLiveHeight]]; | ||
| 465 | -// } | ||
| 466 | -// | ||
| 467 | -// if (isShow) { | ||
| 468 | -// NSLog(@"fontIndex = %d",fontIndex); | ||
| 469 | -// [backgroundView setContentSize:CGSizeMake(MainScreenWidth, 40 + descriptionHeight + [heightArr[fontIndex] floatValue] + 221)]; | ||
| 470 | -// [_webView setFrame:CGRectMake(0, 40 + descriptionHeight, MainScreenWidth, [heightArr[fontIndex] floatValue])]; | ||
| 471 | -// [self showRelatedInformation:40 + descriptionHeight + [heightArr[fontIndex] floatValue]]; | ||
| 472 | -// } | ||
| 473 | } | 449 | } |
| 474 | } | 450 | } |
| 475 | 451 |