ifish/Ifish/Utinitys/IfishHttpRequest/IfishDataUnity.m

363 lines
16 KiB
Objective-C

//
// 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"
#import "IfishHotBarVc.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:^{
// [[UIApplication sharedApplication].delegate.window.rootViewController.view hideToastActivity];
[self setrootWith:devicemodel];
}];
return;
}
[self setrootWith:devicemodel];
}
-(void)setrootWith:(DeviceModel*)devicemodel{
// NSString *tost=[NSString stringWithFormat:@"type%@",devicemodel.type];
// [[UIApplication sharedApplication].keyWindow makeToast:tost];
// 先判断是否授权
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 if ([devicemodel.type isEqualToString:DECICE_TYPE_RUIMEI]) {
RuiMeiViewController *ruimeiCenter=[[RuiMeiViewController alloc] init];
ruimeiCenter.currentDevice = devicemodel;
UIApplication*app=[UIApplication sharedApplication];
AppDelegate*app1=(AppDelegate*)app.delegate;
UINavigationController*nav=[[UINavigationController alloc]initWithRootViewController:ruimeiCenter];
[nav.navigationBar setBackgroundImage:[UIImage imageNamed:@"blackbar.png"] forBarMetrics:UIBarMetricsDefault];
app1.window.rootViewController=nav;
}else if ([devicemodel.type isEqualToString:DECICE_TYPE_hotBar]) {
IfishHotBarVc*barVc=[[IfishHotBarVc alloc]initWithNibName:@"IfishHotBarVc" bundle:nil];
barVc.devicemodel = devicemodel;
barVc.hidesBottomBarWhenPushed=YES;
UIApplication*app=[UIApplication sharedApplication];
AppDelegate*app1=(AppDelegate*)app.delegate;
// UINavigationController*nav=[[UINavigationController alloc]initWithRootViewController:barVc];
// [nav.navigationBar setBackgroundImage:[UIImage imageNamed:@"blackbar.png"] forBarMetrics:UIBarMetricsDefault];
// app1.window.rootViewController=nav;
// [((UINavigationController*)app1.window.rootViewController) pushViewController:barVc animated:YES];
UITabBarController*tabVc= (UITabBarController*)app1.window.rootViewController;
tabVc.selectedIndex=0;
UINavigationController*navVc=(UINavigationController*)tabVc.childViewControllers[tabVc.selectedIndex];
[navVc pushViewController:barVc animated:YES];
}
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