From 7db6ba57b17fb7c0c364219750b14ee3d5cc351b Mon Sep 17 00:00:00 2001 From: 单军华 <WindShan@danjunhuas-MacBook-Pro.local> Date: Fri, 04 May 2018 08:34:16 +0800 Subject: [PATCH] 报警声音和历史数据提交 --- pregnancy_guard/BaseProject/Controller/Home/RadiaDetectionPage.m | 337 +++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 319 insertions(+), 18 deletions(-) diff --git a/pregnancy_guard/BaseProject/Controller/Home/RadiaDetectionPage.m b/pregnancy_guard/BaseProject/Controller/Home/RadiaDetectionPage.m index 6f3aebc..ee93f57 100644 --- a/pregnancy_guard/BaseProject/Controller/Home/RadiaDetectionPage.m +++ b/pregnancy_guard/BaseProject/Controller/Home/RadiaDetectionPage.m @@ -29,6 +29,10 @@ #import "DataModel.h" #import "UIImage+animatedGIF.h" #import "UploadData.h" +#import "AdNoticeView.h" +#import "NoticeModel.h" +#import "MusicModel.h" +#import "CSAudioManager.h" @interface RadiaDetectionPage ()<ASValueTrackingSliderDelegate,ASValueTrackingSliderDataSource,cbCharacteristicManagerDelegate,BMKMapViewDelegate,BMKLocationServiceDelegate> { @@ -85,7 +89,16 @@ UIImageView * ic_zhishu_bk; UIImageView * ic_weixin_tips; UIImageView * ic_dianyuan; + BOOL bOpenConnectBLE; + MusicModel * model1; + MusicModel * model2; + MusicModel * model3; } + +@property (nonatomic, strong) AdNoticeView * adNoticeView; // ������������ +@property (nonatomic,strong) CSAudioManager *csManager; +@property (nonatomic,strong) NSData *mp3Data; +@property (nonatomic, strong) NSMutableArray *modelArray; @end @@ -179,11 +192,14 @@ deviceStstaus = 2; deviceStatusLabel.text = @"���������"; - if (myTimer == nil) - myTimer = [NSTimer scheduledTimerWithTimeInterval:[myTimeInterval doubleValue] target:self selector:@selector(data_upload) userInfo:nil repeats:YES]; - else - //��������������� - [myTimer setFireDate:[NSDate distantPast]]; + if ([is_open_upload intValue] == 1) + { + if (myTimer == nil) + myTimer = [NSTimer scheduledTimerWithTimeInterval:[myTimeInterval doubleValue] target:self selector:@selector(data_upload) userInfo:nil repeats:YES]; + else + //��������������� + [myTimer setFireDate:[NSDate distantPast]]; + } //���myTimeInterval���������������data_upload��������� } } @@ -282,6 +298,7 @@ if([model.value floatValue] < 0.16) { + [self.csManager stopAllMusic]; // 100 circle3.progress = [model.value floatValue]*100; _currentShuziTipsLabel.text = @"������������������"; @@ -299,6 +316,7 @@ } else if([model.value floatValue] >= 0.16 && [model.value floatValue] < 0.8) { + [self.csManager stopAllMusic]; // 100 float tempValue = [model.value floatValue]; if(tempValue > 0.50) @@ -317,9 +335,24 @@ ic_weixin_tips.image = [UIImage imageNamed:@"icon_qingwei"]; ic_zhishu_bk.image = [UIImage imageNamed:@"ic_zhishu_bk"]; _currentTipsLabel.textColor = kUIColorFromRGB(0x848787); + + MusicModel * model = [self.modelArray objectAtIndex:0]; + + if( model.musicStatus == 0 ) + { + [self.csManager playingMusicWithURL:[NSURL URLWithString:model.musicUrl] playID:model.user_id]; + } + else + { + self.mp3Data = [NSData dataWithContentsOfURL:[NSURL fileURLWithPath:model.musicUrl]]; + //������������ + [self.csManager playingMusicWithData:self.mp3Data playID:model.user_id]; + } } else if([model.value floatValue] >= 0.8 && [model.value floatValue] < 2) { + [self.csManager stopAllMusic]; + // 264 float tempValue = ([model.value floatValue]*100)/266; if(tempValue <= 0.50) @@ -338,11 +371,24 @@ ic_weixin_tips.image = [UIImage imageNamed:@"icon_zhongdu"]; ic_zhishu_bk.image = [UIImage imageNamed:@"bt_zise"]; _currentTipsLabel.textColor = kUIColorFromRGB(0x848787); + + MusicModel * model = [self.modelArray objectAtIndex:1]; + + if( model.musicStatus == 0 ) + { + [self.csManager playingMusicWithURL:[NSURL URLWithString:model.musicUrl] playID:model.user_id]; + } + else + { + self.mp3Data = [NSData dataWithContentsOfURL:[NSURL fileURLWithPath:model.musicUrl]]; + //������������ + [self.csManager playingMusicWithData:self.mp3Data playID:model.user_id]; + } } else if([model.value floatValue] >2) { + [self.csManager stopAllMusic]; // 400 - float tempValue = ([model.value floatValue]*100)/400; if(tempValue <= 0.75) tempValue = 0.76; @@ -361,6 +407,19 @@ ic_weixin_tips.image = [UIImage imageNamed:@"icon_yanzhong"]; ic_zhishu_bk.image = [UIImage imageNamed:@"ic_yanzhong_tips"]; _currentTipsLabel.textColor = kUIColorFromRGB(0x848787); + + MusicModel * model = [self.modelArray objectAtIndex:2]; + + if( model.musicStatus == 0 ) + { + [self.csManager playingMusicWithURL:[NSURL URLWithString:model.musicUrl] playID:model.user_id]; + } + else + { + self.mp3Data = [NSData dataWithContentsOfURL:[NSURL fileURLWithPath:model.musicUrl]]; + //������������ + [self.csManager playingMusicWithData:self.mp3Data playID:model.user_id]; + } } [_trackingSlider setValue:circle3.progress]; @@ -369,7 +428,7 @@ [dataModelArr addObject:model]; } } - else if(receiveHexValue.length == 16 ) + else if(receiveHexValue.length == 8 ) { // ������������������ NSString * baoTouStr = [receiveHexValue substringWithRange:NSMakeRange(0,2)]; @@ -386,6 +445,39 @@ [dataModelArr addObject:model]; } } + else if(receiveHexValue.length == 16 ) + { + // ������������������ + NSString * baoTouStr = [receiveHexValue substringWithRange:NSMakeRange(0,2)]; + if( [baoTouStr isEqualToString: @"3A"]) + { + NSString * yearValueStr = [receiveHexValue substringWithRange:NSMakeRange(2,2)]; + NSString * mounthValueStr = [receiveHexValue substringWithRange:NSMakeRange(4,2)]; + NSString * dayValueStr = [receiveHexValue substringWithRange:NSMakeRange(6,2)]; + NSString * hourValueStr = [receiveHexValue substringWithRange:NSMakeRange(8,2)]; + NSString * dataValueStr = [receiveHexValue substringWithRange:NSMakeRange(10,4)]; + + NSString * yearValue = [NSString stringWithFormat:@"%lu",strtoul([yearValueStr UTF8String],0,16)]; + NSString * mounthValue = [NSString stringWithFormat:@"%lu",strtoul([mounthValueStr UTF8String],0,16)]; + NSString * dayValue = [NSString stringWithFormat:@"%lu",strtoul([dayValueStr UTF8String],0,16)]; + NSString * hourValue = [NSString stringWithFormat:@"%lu",strtoul([hourValueStr UTF8String],0,16)]; + + NSString * timeFormatValue = [NSString stringWithFormat:@"20%@-%02d-%02d %02d:00",yearValue,[mounthValue intValue],[dayValue intValue],[hourValue intValue]]; + + NSString * dataValue = [NSString stringWithFormat:@"%lu",strtoul([dataValueStr UTF8String],0,16)]; + + //dataModelArr + DataModel * model = [[DataModel alloc]init]; + model.value = [NSString stringWithFormat:@"%.1f",[dataValue floatValue]*0.01];; + model.time = timeFormatValue; + model.type = @"1"; + model.is_warn = @"0"; + + [dataModelArr addObject:model]; + + [self data_upload]; + } + } else { //NSString * shishiStr = [receiveHexValue substringWithRange:NSMakeRange(0,4)]; @@ -522,6 +614,52 @@ } } +-(void)GetNoticeInfo +{ + //[UserDefault stringForKey:@"user_id"] + NSString *path = [[NSString alloc] initWithFormat:GET_NOTICE]; + + NSMutableDictionary * params = [[NSMutableDictionary alloc] init]; + + MPWeakSelf(self); + [NetworkSingleton networkingGetMethod:params urlName:path success:^(id responseBody) + { + MPStrongSelf(self); + BaseResModel * resModel = [Global toBaseModel:responseBody]; + + if(resModel.code == 0) + { + //[UserDefault setObject:self.is_open_upload forKey:@"is_open_upload"]; + [UserDefault synchronize]; + + + NoticeModel * model = [NoticeModel mj_objectWithKeyValues:resModel.content]; + + if (self.adNoticeView == nil) + { + self.adNoticeView = [[AdNoticeView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT) dataModel:model]; + //self.adNoticeView.delegate = self; + [self.view addSubview:self.adNoticeView]; + } + else + { + [self.adNoticeView setUIView:model]; + } + + [UserDefault setObject:[DateUtil stringFromDateYMD:[NSDate date]] forKey:@"NoticeTime"]; + } + 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]; + }]; +} + /*! * @method UUIDArray: * @@ -560,7 +698,7 @@ { bleCurrentUUID = [UserDefault objectForKey:@"bleUUID"]; - NSString *bleName = [UserDefault objectForKey:@"bleName"]; + //NSString *bleName = [UserDefault objectForKey:@"bleName"]; //_mapView.delegate = self; // ������������������������������������nil������������������������������ _locService.delegate = self; @@ -615,6 +753,104 @@ } } + + [self setMusicConfig]; +} + +-(void)setMusicConfig +{ + // 0 ������ 1 ��������� + NSInteger musicStatus1 = [UserDefault integerForKey:@"musicStatus1"]; + NSInteger musicStatus2 = [UserDefault integerForKey:@"musicStatus2"]; + NSInteger musicStatus3 = [UserDefault integerForKey:@"musicStatus3"]; + + if( musicStatus1 == 0 ) + { + if(model1 == nil) + { + model1 = [[MusicModel alloc] init]; + } + + model1.username = [NSString stringWithFormat:@"%@",@"������������"]; + model1.user_id = [NSString stringWithFormat:@"%@",@"ID0001"]; + model1.musicName = [NSString stringWithFormat:@"%@",@"������"]; + model1.musicStatus = 0; + model1.musicUrl = [NSString stringWithFormat:@"%@",@"http://yfsapi.7drlb.com/video/music.mp3"]; + [self.modelArray addObject:model1]; + } + else + { + if(model1 == nil) + { + model1 = [[MusicModel alloc] init]; + } + + model1.username = [NSString stringWithFormat:@"%@",@"������������"]; + model1.user_id = [NSString stringWithFormat:@"%@",@"ID0001"]; + model1.musicName = [UserDefault stringForKey:@"ID0001Name"]; + model1.musicStatus = 1; + model1.musicUrl = [UserDefault stringForKey:@"ID0001PATH"]; + [self.modelArray addObject:model1]; + } + + + if( musicStatus2 == 0 ) + { + if(model2 == nil) + { + model2 = [[MusicModel alloc] init]; + } + + model2.username = [NSString stringWithFormat:@"%@",@"������������"]; + model2.user_id = [NSString stringWithFormat:@"%@",@"ID0002"]; + model2.musicName = [NSString stringWithFormat:@"%@",@"������"]; + model2.musicStatus = 0; + model2.musicUrl = [NSString stringWithFormat:@"%@",@"http://yfsapi.7drlb.com/video/music1.mp3"]; + [self.modelArray addObject:model2]; + } + else + { + if(model2 == nil) + { + model2 = [[MusicModel alloc] init]; + } + + model2.username = [NSString stringWithFormat:@"%@",@"������������"]; + model2.user_id = [NSString stringWithFormat:@"%@",@"ID0002"]; + model2.musicName = [UserDefault stringForKey:@"ID0002Name"]; + model2.musicStatus = 1; + model2.musicUrl = [UserDefault stringForKey:@"ID0002PATH"]; + [self.modelArray addObject:model2]; + } + + if( musicStatus3 == 0 ) + { + if(model3 == nil) + { + model3 = [[MusicModel alloc] init]; + } + + model3.username = [NSString stringWithFormat:@"%@",@"������������"]; + model3.user_id = [NSString stringWithFormat:@"%@",@"ID0003"]; + model3.musicName = [NSString stringWithFormat:@"%@",@"������"]; + model3.musicStatus = 0; + model3.musicUrl = [NSString stringWithFormat:@"%@",@"http://yfsapi.7drlb.com/video/music2.mp3"]; + [self.modelArray addObject:model3]; + } + else + { + if(model3 == nil) + { + model3 = [[MusicModel alloc] init]; + } + + model3.username = [NSString stringWithFormat:@"%@",@"������������"]; + model3.user_id = [NSString stringWithFormat:@"%@",@"ID0003"]; + model3.musicName = [UserDefault stringForKey:@"ID0003Name"]; + model3.musicStatus = 1; + model3.musicUrl = [UserDefault stringForKey:@"ID0003PATH"]; + [self.modelArray addObject:model3]; + } } -(void)stopScanning2 @@ -624,11 +860,16 @@ // ������������������������������ if(_bConnectSuccess == NO) { - if (myScanTimer == nil) - myScanTimer = [NSTimer scheduledTimerWithTimeInterval:10.0 target:self selector:@selector(continueScanning) userInfo:nil repeats:YES]; - else - //��������������� - [myScanTimer setFireDate:[NSDate distantPast]]; + if(bOpenConnectBLE == NO) + { + bOpenConnectBLE = YES; + + if (myScanTimer == nil) + myScanTimer = [NSTimer scheduledTimerWithTimeInterval:10.0 target:self selector:@selector(continueScanning) userInfo:nil repeats:YES]; + else + //��������������� + [myScanTimer setFireDate:[NSDate distantPast]]; + } } } @@ -677,11 +918,16 @@ // ������������������������������ if(_bConnectSuccess == NO) { - if (myScanTimer == nil) - myScanTimer = [NSTimer scheduledTimerWithTimeInterval:10.0 target:self selector:@selector(continueScanning) userInfo:nil repeats:YES]; - else - //��������������� - [myScanTimer setFireDate:[NSDate distantPast]]; + if(bOpenConnectBLE == NO) + { + bOpenConnectBLE = YES; + + if (myScanTimer == nil) + myScanTimer = [NSTimer scheduledTimerWithTimeInterval:10.0 target:self selector:@selector(continueScanning) userInfo:nil repeats:YES]; + else + //��������������� + [myScanTimer setFireDate:[NSDate distantPast]]; + } } } } @@ -821,6 +1067,12 @@ #define MAXOFFSETANGLE 152.0f #define MAXVALUE 100.0f +//������������ +-(void)viewWillDisappear:(BOOL)animated +{ + [super viewWillDisappear:animated]; + [self.csManager stopAllMusic]; +} - (void)viewDidLoad { [super viewDidLoad]; @@ -1038,7 +1290,48 @@ myTimeInterval = [UserDefault stringForKey:@"refresh_frequency"]; is_open_upload = [UserDefault stringForKey:@"is_open_upload"]; + bOpenConnectBLE = false; + [self offLineSet]; + + // ������������������������ + NSString* NoticeTime = [UserDefault stringForKey:@"NoticeTime"]; + BOOL bGetNotice = NO; + if (NoticeTime == nil) + { + bGetNotice = YES; + } + else + { + bGetNotice = YES; + if([DateUtil isToday:NoticeTime]) + bGetNotice = NO; + } + + //[UserDefault setObject:[DateUtil stringFromDateYMD:[NSDate date]] forKey:@"NoticeTime"]; + if(bGetNotice == YES) + { + [self GetNoticeInfo]; + } + + self.csManager = [CSAudioManager defaultManager]; + self.mp3Data = nil; + + self.modelArray = [[NSMutableArray alloc] init]; + + MPWeakSelf(self); + [self.csManager setBlockPlayerStartPlay:^{ + NSLog(@"���������-������������������"); + }]; + + [self.csManager setBlockPlayerStopPlay:^{ + NSLog(@"���������-������������������"); + }]; + + [self.csManager setBlockPlayerDidFinishPlaying:^{ + NSLog(@"���������-���������������������"); + }]; + [self setMusicConfig]; //myTimer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(function:) userInfo:nil repeats:YES]; //���1���������������function��������� @@ -1080,6 +1373,14 @@ -(void)storyAticon { + //��������������� + if(myTimer) + [myTimer setFireDate:[NSDate distantFuture]]; + + //��������������� + if(myScanTimer) + [myScanTimer setFireDate:[NSDate distantFuture]]; + HistoryRecordPage* page = [[HistoryRecordPage alloc] initIsFirstPage:NO]; BaseNaviController *baseNav = [[BaseNaviController alloc] initWithRootViewController:page]; -- Gitblit v1.8.0