ifish/Ifish/controllers/IfishTabControllers/我的/mineControllers/pushSetControllrs/ChangeMobleController.m

261 lines
8.9 KiB
Objective-C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// 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<UITouch *> *)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