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