// // IfishDataUnity.m // Ifish // // Created by imac on 16/5/26. // Copyright © 2016年 imac. All rights reserved. // #import "IfishDataUnity.h" //#import "JPUSHService.h" #import "IfishCameraModel.h" #import "IfishNewsModel.h" @implementation IfishDataUnity +(IfishDataUnity*)shareDataInstance { static IfishDataUnity*instance=nil; static dispatch_once_t predicate; dispatch_once(&predicate, ^{ instance=[[[self class]alloc]init]; }); return instance; } #pragma mark -二维码添加 -(void)addDeviceByQRCodeWithDic:(NSDictionary *)resultDic addWith:(NSMutableArray *)deviceArry dismiss:(ScanViewController*) scanVC{ // 保存设备信息 单个设备 更改 dic NSDictionary*dataDic=resultDic[@"data"]; [self saveDeviceDataWith:deviceArry Withdic:dataDic dissmissScanVC:(ScanViewController *)scanVC]; } //保存 单个设备信息 -(void)saveDeviceDataWith:(NSMutableArray *)deviceArry Withdic:(NSDictionary *)dataDic dissmissScanVC:(ScanViewController *)scanVC { DeviceModel*devicemodel=[[DeviceModel alloc]initWithDict:dataDic]; //设备 [deviceArry insertObject:devicemodel atIndex:0]; [[DataCenter defaultDtacenter]setValue:deviceArry forKey:@"deviceInfo"]; [self initAppCenterVcWith:devicemodel addWithdissMisVc:scanVC]; } #pragma mark -设置根视图 -(void)initAppCenterVcWith:(DeviceModel*)devicemodel addWithdissMisVc:(ScanViewController *)scanVC{ if (scanVC) { [[UIApplication sharedApplication].delegate.window.rootViewController.view makeToastActivityBlackBack]; [scanVC dismissViewControllerAnimated:YES completion:^{ [self setrootWith:devicemodel]; [[UIApplication sharedApplication].delegate.window.rootViewController.view hideToastActivity]; }]; return; } [self setrootWith:devicemodel]; } -(void)setrootWith:(DeviceModel*)devicemodel{ // 先判断是否授权 if ([devicemodel.type isEqual:[NSNull null]]||!devicemodel.type) { //未知类型 跳转未授权 显示未知类型 devicemodel.isBlacklist = @"1"; } if ([devicemodel.isBlacklist isEqual:[NSNull null]]) { devicemodel.isBlacklist = @"1"; } if ([devicemodel.isBlacklist isEqualToString:@"1"]) { //黑名单 未授权 跳转到 未授权界面 [self setBlackViewWithDevice:devicemodel]; }else{ if ([devicemodel.controlAmount isEqual:[NSNull null]]) { // 服务器返回此字段 为NSUll 时默认到0控 devicemodel.controlAmount = 0; } //v3.5后新加硬件类型字段 判断硬件类型 //新增硬件类型 原来的设备用 controlAmount 和timerAmount 判断 新加设备按类型区分 //硬件型号: 1c 三控(温控),硬件型号:cc 四川聚能 松诺新bd 睿芯独立2a if ([devicemodel.type isEqualToString:DECICE_TYPE_THREETMP]) { RuSunHaveHeateViewController *ruSuncenter=[[RuSunHaveHeateViewController alloc] init]; ruSuncenter.currentDevice = devicemodel; UIApplication*app=[UIApplication sharedApplication]; AppDelegate*app1=(AppDelegate*)app.delegate; UINavigationController*nav=[[UINavigationController alloc]initWithRootViewController:ruSuncenter]; [nav.navigationBar setBackgroundImage:[UIImage imageNamed:@"blackbar.png"] forBarMetrics:UIBarMetricsDefault]; app1.window.rootViewController=nav; }else if ([devicemodel.type isEqualToString:DECICE_TYPE_JUNENGCC]){ [self setBlackViewWithDevice:devicemodel]; }else if ([devicemodel.type isEqualToString:DECICE_TYPE_SONGNEWBD]){ SongNuoDBCenterViewController *SongNuoBDcenter=[[SongNuoDBCenterViewController alloc] init]; SongNuoBDcenter.currentDevice = devicemodel; UIApplication*app=[UIApplication sharedApplication]; AppDelegate*app1=(AppDelegate*)app.delegate; UINavigationController*nav=[[UINavigationController alloc]initWithRootViewController:SongNuoBDcenter]; [nav.navigationBar setBackgroundImage:[UIImage imageNamed:@"blackbar.png"] forBarMetrics:UIBarMetricsDefault]; app1.window.rootViewController=nav; }else if ([devicemodel.type isEqualToString:DECICE_TYPE_RUSUN2A]){ RunSun84biteCenterViewController *RunSun84center=[[RunSun84biteCenterViewController alloc] init]; RunSun84center.currentDevice = devicemodel; UIApplication*app=[UIApplication sharedApplication]; AppDelegate*app1=(AppDelegate*)app.delegate; UINavigationController*nav=[[UINavigationController alloc]initWithRootViewController:RunSun84center]; [nav.navigationBar setBackgroundImage:[UIImage imageNamed:@"blackbar.png"] forBarMetrics:UIBarMetricsDefault]; app1.window.rootViewController=nav; }else{ int controlAmount=[devicemodel.controlAmount intValue]; switch (controlAmount) { case IFISH_DEVICE_CONTROLAMOUNT0: { //零控 NoneControlCenterViewController *none=[[NoneControlCenterViewController alloc] init]; none.currentDevice = devicemodel; UIApplication*app=[UIApplication sharedApplication]; AppDelegate*app1=(AppDelegate*)app.delegate; UINavigationController*nav=[[UINavigationController alloc]initWithRootViewController:none]; [nav.navigationBar setBackgroundImage:[UIImage imageNamed:@"blackbar.png"] forBarMetrics:UIBarMetricsDefault]; app1.window.rootViewController=nav; } break; case IFISH_DEVICE_CONTROLAMOUNT2: { // 两控 TwoControlCenterController *twocontrolCenter=[[TwoControlCenterController alloc] init]; twocontrolCenter.currentDevice = devicemodel; UIApplication*app=[UIApplication sharedApplication]; AppDelegate*app1=(AppDelegate*)app.delegate; UINavigationController*nav=[[UINavigationController alloc]initWithRootViewController:twocontrolCenter]; [nav.navigationBar setBackgroundImage:[UIImage imageNamed:@"blackbar.png"] forBarMetrics:UIBarMetricsDefault]; app1.window.rootViewController=nav; } break; case IFISH_DEVICE_CONTROLAMOUNT3: { // 三控YooseeCenterViewController ThreeControlCenterViewController *threeControlCenter=[[ThreeControlCenterViewController alloc] init]; threeControlCenter.currentDevice = devicemodel; //ICSDrawerController*ics=[[ICSDrawerController alloc]initWithLeftViewController:left centerViewController:threeControlCenter rightViewController:rightVC]; UIApplication*app=[UIApplication sharedApplication]; AppDelegate*app1=(AppDelegate*)app.delegate; UINavigationController*nav=[[UINavigationController alloc]initWithRootViewController:threeControlCenter]; [nav.navigationBar setBackgroundImage:[UIImage imageNamed:@"blackbar.png"] forBarMetrics:UIBarMetricsDefault]; app1.window.rootViewController=nav; } break; case IFISH_DEVICE_CONTROLAMOUNT4: { int timerAmount =[devicemodel.timerAmount intValue]; if (timerAmount == 8) { // 四控 8定时器 // FourControlViewController *fourControlCenter=[[FourControlViewController alloc] init]; FourControlNormalCenterController *fourControlCenter=[[FourControlNormalCenterController alloc] init]; fourControlCenter.currentDevice = devicemodel; UIApplication*app=[UIApplication sharedApplication]; AppDelegate*app1=(AppDelegate*)app.delegate; UINavigationController*nav=[[UINavigationController alloc]initWithRootViewController:fourControlCenter]; [nav.navigationBar setBackgroundImage:[UIImage imageNamed:@"blackbar.png"] forBarMetrics:UIBarMetricsDefault]; app1.window.rootViewController=nav; }else if (timerAmount == 6){ //可丽爱 4控制 6定时器 KeLiAiCenterViewController *keliaicenterVC=[[KeLiAiCenterViewController alloc] init]; keliaicenterVC.currentDevice = devicemodel; UIApplication*app=[UIApplication sharedApplication]; AppDelegate*app2=(AppDelegate*)app.delegate; UINavigationController*nav=[[UINavigationController alloc]initWithRootViewController:keliaicenterVC]; [nav.navigationBar setBackgroundImage:[UIImage imageNamed:@"blackbar.png"] forBarMetrics:UIBarMetricsDefault]; app2.window.rootViewController=nav; }else{ NSString *tost=[NSString stringWithFormat:@"未知错误4控%d定时器",timerAmount]; [[UIApplication sharedApplication].keyWindow makeToast:tost]; } } break; case IFISH_DEVICE_CONTROLAMOUNT5: { // 绚 多 XuToCenterViewController *XuToCenter=[[XuToCenterViewController alloc] init]; XuToCenter.currentDevice = devicemodel; //ICSDrawerController*ics=[[ICSDrawerController alloc]initWithLeftViewController:left centerViewController:XuToCenter rightViewController:rightVC]; UIApplication*app=[UIApplication sharedApplication]; AppDelegate*app1=(AppDelegate*)app.delegate; UINavigationController*nav=[[UINavigationController alloc]initWithRootViewController:XuToCenter]; [nav.navigationBar setBackgroundImage:[UIImage imageNamed:@"blackbar.png"] forBarMetrics:UIBarMetricsDefault]; app1.window.rootViewController=nav; } break; case IFISH_DEVICE_CONTROLAMOUNT8 : { //松诺 SonNuoCenterViewController *songNu=[[SonNuoCenterViewController alloc] init]; //ICSDrawerController*ics=[[ICSDrawerController alloc]initWithLeftViewController:left centerViewController:songNu rightViewController:rightVC]; songNu.currentDevice = devicemodel; UIApplication*app=[UIApplication sharedApplication]; AppDelegate*app1=(AppDelegate*)app.delegate; UINavigationController*nav=[[UINavigationController alloc]initWithRootViewController:songNu]; [nav.navigationBar setBackgroundImage:[UIImage imageNamed:@"blackbar.png"] forBarMetrics:UIBarMetricsDefault]; app1.window.rootViewController=nav; } default: break; } } } } -(void)setBlackViewWithDevice:(DeviceModel *)devicemodel { IfishBlackListCenterViewController *blackVC=[[IfishBlackListCenterViewController alloc] init]; blackVC.currentDevice = devicemodel; if ([devicemodel.type isEqual:[NSNull null]]||!devicemodel.type) { //未知类型 跳转未授权 显示位置类型 blackVC.stateText = @"未知类型"; }else{ if ([devicemodel.type isEqualToString:DECICE_TYPE_JUNENGCC]) { blackVC.stateText = @"未知类型"; } if ([devicemodel.type isEqualToString:DECICE_TYPE_SONGNEWBD]) { blackVC.stateText = @"未知类型"; } } UIApplication*app=[UIApplication sharedApplication]; AppDelegate*app1=(AppDelegate*)app.delegate; UINavigationController*nav=[[UINavigationController alloc]initWithRootViewController:blackVC]; [nav.navigationBar setBackgroundImage:[UIImage imageNamed:@"blackbar.png"] forBarMetrics:UIBarMetricsDefault]; app1.window.rootViewController=nav; } //设置根视图 -(void)setAppTabRoot{ IfishMianTabViewController *mianVC=[[IfishMianTabViewController alloc] init]; [UIApplication sharedApplication].delegate.window.rootViewController=mianVC; } @end