lijunda
2018-08-16 64b0493e4bd40c46e341fd5de9f1862998c431b0
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];
@@ -872,6 +1124,15 @@
        scale = 0.8;
        pointerOffset = 5;
    }
//    else if(IsiPhoneX)
//    {
//        unitFontSize = 12;
//        jiliangFontSize = 12;
//        numFontSize = 14;
//        tipsFontSize = 13;
//        scale = 0.8;
//        pointerOffset = 5;
//    }
    
    UIImageView * ic_head_bg = [[UIImageView alloc] initWithFrame:CGRectMake(10, 0, SCREEN_WIDTH-20, 66*scale)];
    ic_head_bg.image = [UIImage imageNamed:@"ic_head_bg"];
@@ -955,7 +1216,7 @@
    _currentShuziTipsLabel.text = @"未开始检测";
    [ic_zhishu_bk addSubview:_currentShuziTipsLabel];
    
    UIImageView * ic_bottom_bg = [[UIImageView alloc] initWithFrame:CGRectMake(0, SCREEN_HEIGHT-64-88*scale-44, SCREEN_WIDTH, 88*scale)];
    UIImageView * ic_bottom_bg = [[UIImageView alloc] initWithFrame:CGRectMake(0, SCREEN_HEIGHT-NavBar_Height-88*scale-TabbarHeight, SCREEN_WIDTH, 88*scale)];
    ic_bottom_bg.image = [UIImage imageNamed:@"ic_radia_bottom_bg"];
    [self.view addSubview:ic_bottom_bg];
    
@@ -1038,7 +1299,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 +1382,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];