// // ChangeMobleController.m // Ifish // // Created by imac on 15/9/28. // Copyright © 2015年 imac. All rights reserved. // #import "ChangeMobleController.h" #import "UserModel.h" #import "AFNetworking.h" #import "ChangeModelDoneController.h" #import "XWCountryCodeController.h" @interface ChangeMobleController () @property (weak, nonatomic) IBOutlet UIButton *timerbutton; @property (weak, nonatomic) IBOutlet UIButton *nextTepBtn; @property(nonatomic,copy)NSString*verifyData; @property(nonatomic,copy) NSString *areaCode; @end @implementation ChangeMobleController - (void)viewDidLoad { [super viewDidLoad]; self.areaCode = @"86"; self.view.backgroundColor= [UIColor colorWithPatternImage:[UIImage imageNamed:@"enter_background"]]; [self addTitleViewWithTitle:@"更换手机号"]; //self.title = @"更换手机号"; UserModel*model=[[DataCenter defaultDtacenter]valueForKey:@"UserLogIn"]; NSMutableString*string=[[NSMutableString alloc]initWithString:model.phoneNumber]; [string replaceCharactersInRange:NSMakeRange(3, 4) withString:@"***"]; self.yuanTelPhone.text=string; [self.timerbutton addTarget:self action:@selector(startTime) forControlEvents:UIControlEventTouchUpInside]; [self textStyle]; [self.coutryBtn addTarget:self action:@selector(countryCodeAction) forControlEvents:UIControlEventTouchUpInside]; self.view.backgroundColor = [UIColor whiteColor]; } -(void)textStyle{ self.nextTepBtn.backgroundColor=COLOR_LABEL_TITLE; self.timerbutton.backgroundColor=COLOR_LABEL_TITLE; self.sureTextFiled.layer.masksToBounds=YES; self.sureTextFiled.layer.cornerRadius=5; self.timerbutton.layer.masksToBounds = YES; self.timerbutton.layer.cornerRadius = 5; self.nextTepBtn.layer.masksToBounds = YES; self.nextTepBtn.layer.cornerRadius = 5; self.yuanTelPhone.layer.masksToBounds = YES; self.yuanTelPhone.layer.cornerRadius = 5; self.countryView.layer.masksToBounds = YES; self.countryView.layer.cornerRadius = 5; UIView*phoneView=[[UIView alloc]initWithFrame:CGRectMake(0,0, 10, 10)]; self.yuanTelPhone.leftView=phoneView; self.yuanTelPhone.leftViewMode=UITextFieldViewModeAlways; UIView*phoneView1=[[UIView alloc]initWithFrame:CGRectMake(0,0, 10, 10)]; self.sureTextFiled.leftView=phoneView1; self.sureTextFiled.leftViewMode=UITextFieldViewModeAlways; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; } -(void)startTime{ __block int timeout=60; //倒计时时间 dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); dispatch_source_t _timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0,queue); dispatch_source_set_timer(_timer,dispatch_walltime(NULL, 0),1.0*NSEC_PER_SEC, 0); //每秒执行 dispatch_source_set_event_handler(_timer, ^{ if(timeout<=0){ //倒计时结束,关闭 dispatch_source_cancel(_timer); dispatch_async(dispatch_get_main_queue(), ^{ //设置界面的按钮显示 根据自己需求设置 [_timerbutton setTitle:@"发送验证码" forState:UIControlStateNormal]; _timerbutton.userInteractionEnabled = YES; }); }else{ // int minutes = timeout / 60; int seconds = timeout % 60; NSString *strTime=@""; if (seconds==0) { strTime=@"60"; }else{ strTime = [NSString stringWithFormat:@"%.2d", seconds]; } dispatch_async(dispatch_get_main_queue(), ^{ //设置界面的按钮显示 根据自己需求设置 NSLog(@"____%@",strTime); [_timerbutton setTitle:[NSString stringWithFormat:@"%@秒",strTime] forState:UIControlStateNormal]; _timerbutton.userInteractionEnabled = NO; _timerbutton.backgroundColor=[UIColor lightGrayColor]; }); timeout--; } }); dispatch_resume(_timer); [self getVerifycode]; } #pragma mark - 获取验证码新(SMS) -(void)getVerifycode{ UserModel*model=[[DataCenter defaultDtacenter]valueForKey:@"UserLogIn"]; // BOOL isMacth=[dataContorl valiMobile:model.phoneNumber]; // // if (!isMacth) { // // [self.view makeToast:@"请输入正确手机号"]; // // return; // } // // NSString *zone = [dataContorl areaCode:model.phoneNumber]; //self.areaCode = zone; [IFISHHTTPTOOL getverifyWithTimerButton:_timerbutton addphoneNumber:model.phoneNumber zone:self.areaCode result:^(NSError *err) { }]; } -(void)getAliVeriy{ UserModel*model=[[DataCenter defaultDtacenter]valueForKey:@"UserLogIn"]; [AFHttpTool getSecurityCodeWithPhoneNumber:model.phoneNumber sendType:@"2" success:^(id response) { if (response) { NSDictionary *reDic=[NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableContainers error:nil]; // self.sureTextFiled.text=reDic[@"data"]; _verifyData=reDic[@"data"]; // NSLog(@"_verifyData%@",_verifyData); if ([reDic[@"result"] isEqualToString:@"100"]) { [self showTitle:@"" messsage:@"发送成功"]; }else if([reDic[@"result"] isEqualToString:@"101"]){ [self showTitle:@"" messsage:@"获取验证失败"]; // 获取验证失败 }else if ([reDic[@"result"] isEqualToString:@"201"]){ [self showTitle:@"" messsage:@"手机已经注册过"]; }else{ } } } failure:^(NSError *err) { UIAlertView *alter =[[UIAlertView alloc]initWithTitle:@"温馨提示" message:@"请检查您的网络" delegate:self cancelButtonTitle:@"取消" otherButtonTitles: nil]; [alter show]; }]; } - (IBAction)netSteep:(id)sender { UserModel*model=[[DataCenter defaultDtacenter]valueForKey:@"UserLogIn"]; if (self.sureTextFiled.text.length==0) { [self.view makeToast:@"验证码不能为空"]; return; } [SMSSDK commitVerificationCode:self.sureTextFiled.text phoneNumber:model.phoneNumber zone:self.areaCode result:^(SMSSDKUserInfo *userInfo, NSError *error) { { if (!error) { NSLog(@"验证成功"); ChangeModelDoneController *done=[[ChangeModelDoneController alloc]init]; [self.navigationController pushViewController:done animated:YES]; } else { NSLog(@"错误信息:%@",error); NSString *str =@"验证码验证失败"; [self.view makeToast:str]; } } }]; } #pragma mark-处理收键盘 -(BOOL)textFieldShouldReturn:(UITextField *)textField{ [textField resignFirstResponder]; return YES; } -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ [self hiddenKeybord]; } -(void)hiddenKeybord{ [self.sureTextFiled resignFirstResponder]; } -(void)showTitle:(NSString*)title messsage:(NSString*)message{ UIAlertView *alert=[[UIAlertView alloc]initWithTitle:title message:message delegate:nil cancelButtonTitle:nil otherButtonTitles:nil, nil]; NSTimeInterval dismissSeconds=1.0; [alert show]; [self performSelector:@selector(dismissAlert:) withObject:alert afterDelay:dismissSeconds]; // UIAlertController *alertContorller=[UIAlertController alertControllerWithTitle:title message:message preferredStyle:UIAlertControllerStyleAlert]; // UIAlertAction*cancleAction=[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:nil]; // // UIAlertAction *sureAction=[UIAlertAction actionWithTitle:@"好的" style:UIAlertActionStyleDefault handler:nil]; // [alertContorller addAction:cancleAction]; // [alertContorller addAction:sureAction]; // [self presentViewController:alertContorller animated:YES completion:nil]; } -(void)dismissAlert:(UIAlertView*)alertView{ [alertView dismissWithClickedButtonIndex:[alertView cancelButtonIndex] animated:YES]; } -(void)countryCodeAction { XWCountryCodeController *CountryCodeVC = [[XWCountryCodeController alloc] init]; //CountryCodeVC.deleagete = self; [CountryCodeVC toReturnCountryCode:^(NSString *countryCodeStr) { [self.coutryBtn setTitle:countryCodeStr forState:UIControlStateNormal]; NSArray *array = [countryCodeStr componentsSeparatedByString:@"+"]; self.areaCode = array[1]; }]; [self presentViewController:CountryCodeVC animated:YES completion:nil]; } @end