Initial commit
This commit is contained in:
@@ -0,0 +1,239 @@
|
||||
//
|
||||
// ForgetViewController.m
|
||||
// Ifish
|
||||
//
|
||||
// Created by imac on 15/9/27.
|
||||
// Copyright © 2015年 imac. All rights reserved.
|
||||
//
|
||||
|
||||
#import "ForgetViewController.h"
|
||||
#import "ResetViewController.h"
|
||||
#import "AFNetworking.h"
|
||||
#import "XWCountryCodeController.h"
|
||||
@interface ForgetViewController ()
|
||||
@property (weak, nonatomic) IBOutlet UIButton *timerButton;
|
||||
@property (weak, nonatomic) IBOutlet UIButton *nextTepBtn;
|
||||
@property(nonatomic,copy)NSString*verifyData;
|
||||
@property(nonatomic,copy) NSString *areaCode;
|
||||
|
||||
@end
|
||||
|
||||
@implementation ForgetViewController
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
|
||||
[self addTitleViewWithTitle:@"忘记密码"];
|
||||
self.view.backgroundColor= [UIColor colorWithPatternImage:[UIImage imageNamed:@"enter_background"]];
|
||||
[self setTextkeyboadType];
|
||||
// UIImage *backImage = [UIImage imageNamed:@"leftItem"];
|
||||
// [[UIBarButtonItem appearance] setBackButtonBackgroundImage:[backImage resizableImageWithCapInsets:UIEdgeInsetsMake(0,20,0, 0)] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
|
||||
// [[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0,-60) forBarMetrics:UIBarMetricsDefault];
|
||||
//
|
||||
//默认86
|
||||
self.areaCode = @"86";
|
||||
[_timerButton addTarget:self action:@selector(timeTap) forControlEvents:UIControlEventTouchUpInside];
|
||||
|
||||
[self.countryCodeBtn addTarget:self action:@selector(countryCodeBtnAction) forControlEvents:UIControlEventTouchUpInside];
|
||||
}
|
||||
|
||||
-(void)setTextkeyboadType{
|
||||
|
||||
self.phoneNumberFiled.layer.masksToBounds=YES;
|
||||
self.phoneNumberFiled.layer.cornerRadius=6;
|
||||
self.verifyTextFiled.layer.masksToBounds=YES;
|
||||
self.verifyTextFiled.layer.cornerRadius=6;
|
||||
_timerButton.layer.masksToBounds=YES;
|
||||
_timerButton.layer.cornerRadius=6;
|
||||
_timerButton.backgroundColor=COLOR_LABEL_TITLE;
|
||||
_nextTepBtn.layer.masksToBounds=YES;
|
||||
_nextTepBtn.layer.cornerRadius=6;
|
||||
_nextTepBtn.backgroundColor=COLOR_LABEL_TITLE;
|
||||
self.countryView.layer.masksToBounds = YES;
|
||||
self.countryView.layer.cornerRadius = 6;
|
||||
|
||||
|
||||
UIView*phoneView=[[UIView alloc]initWithFrame:CGRectMake(0,0, 10, 10)];
|
||||
self.phoneNumberFiled.leftView=phoneView;
|
||||
self.phoneNumberFiled.leftViewMode=UITextFieldViewModeAlways;
|
||||
UIView*phoneView1=[[UIView alloc]initWithFrame:CGRectMake(0,0, 10, 10)];
|
||||
self.verifyTextFiled.leftView=phoneView1;
|
||||
self.verifyTextFiled.leftViewMode=UITextFieldViewModeAlways;
|
||||
|
||||
|
||||
}
|
||||
|
||||
-(void)timeTap{
|
||||
|
||||
if (self.phoneNumberFiled.text.length==0) {
|
||||
|
||||
[self.view makeToast:@"请输入正确手机号"];
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
__block int timeout=60; //倒计时时间
|
||||
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
|
||||
dispatch_source_t _timer1 = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0,queue);
|
||||
dispatch_source_set_timer(_timer1,dispatch_walltime(NULL, 0),1.0*NSEC_PER_SEC, 0); //每秒执行
|
||||
dispatch_source_set_event_handler(_timer1, ^{
|
||||
if(timeout<=0){ //倒计时结束,关闭
|
||||
dispatch_source_cancel(_timer1);
|
||||
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(_timer1);
|
||||
|
||||
NSUserDefaults*userdefult=[NSUserDefaults standardUserDefaults];
|
||||
NSString*forgetPhoneNumber=self.phoneNumberFiled.text;
|
||||
[userdefult setObject:forgetPhoneNumber forKey:@"forgetPhoneNumber"];
|
||||
[userdefult synchronize];
|
||||
|
||||
|
||||
[self getVerifycode];
|
||||
|
||||
}
|
||||
|
||||
|
||||
#pragma mark - 获取验证码新(SMS)
|
||||
|
||||
-(void)getVerifycode{
|
||||
|
||||
|
||||
[IFISHHTTPTOOL getverifyWithTimerButton:_timerButton addphoneNumber:self.phoneNumberFiled.text zone:self.areaCode result:^(NSError *err) {
|
||||
|
||||
}];
|
||||
|
||||
|
||||
}
|
||||
|
||||
#define mark - 获取阿里验证码 已去
|
||||
|
||||
-(void)getAliVerify{
|
||||
|
||||
[AFHttpTool getSecurityCodeWithPhoneNumber:self.phoneNumberFiled.text sendType:@"2" success:^(id response) {
|
||||
|
||||
if (response) {
|
||||
NSDictionary *reDic=[NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableContainers error:nil];
|
||||
_verifyData=reDic[@"data"];
|
||||
if ([reDic[@"result"] isEqualToString:@"100"]) {
|
||||
|
||||
[self.view makeToast:@"验证码发送成功"];
|
||||
|
||||
}else if([reDic[@"result"] isEqualToString:@"101"]){
|
||||
|
||||
[self.view makeToast:@"获取验证失败"];
|
||||
// 获取验证失败
|
||||
}else if ([reDic[@"result"] isEqualToString:@"201"]){
|
||||
|
||||
[self.view makeToast:@"手机已经注册过"];
|
||||
}else if([reDic[@"result"] isEqualToString:@"202"]){
|
||||
|
||||
[self.view makeToast:@"手机未注册"];
|
||||
|
||||
}else if([reDic[@"result"] isEqualToString:@"203"]){
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
} failure:^(NSError *err) {
|
||||
|
||||
UIAlertView *alter =[[UIAlertView alloc]initWithTitle:@"温馨提示" message:@"请检查您的网络" delegate:self cancelButtonTitle:@"取消" otherButtonTitles: nil];
|
||||
[alter show];
|
||||
|
||||
|
||||
}];
|
||||
|
||||
}
|
||||
|
||||
- (void)didReceiveMemoryWarning {
|
||||
[super didReceiveMemoryWarning];
|
||||
// Dispose of any resources that can be recreated.
|
||||
}
|
||||
#pragma mark-处理收键盘
|
||||
-(BOOL)textFieldShouldReturn:(UITextField *)textField{
|
||||
[textField resignFirstResponder];
|
||||
return YES;
|
||||
}
|
||||
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
|
||||
[self hiddenKeybord];
|
||||
}
|
||||
-(void)hiddenKeybord{
|
||||
[self.phoneNumberFiled resignFirstResponder];
|
||||
[self.verifyTextFiled resignFirstResponder];
|
||||
}
|
||||
- (IBAction)nextStep:(id)sender {
|
||||
|
||||
|
||||
//BOOL isMacth=[dataContorl valiMobile:self.phoneNumberFiled.text];
|
||||
if (self.verifyTextFiled.text.length==0) {
|
||||
|
||||
[self.view makeToast:@"请输入正确验证码和手机号"];
|
||||
|
||||
return;
|
||||
}
|
||||
__weak typeof(self)weakSelf=self;
|
||||
[SMSSDK commitVerificationCode:weakSelf.verifyTextFiled.text phoneNumber:weakSelf.phoneNumberFiled.text zone:weakSelf.areaCode result:^(SMSSDKUserInfo *userInfo, NSError *error) {
|
||||
|
||||
{
|
||||
if (!error)
|
||||
{
|
||||
|
||||
NSLog(@"验证成功");
|
||||
ResetViewController*vc=[[ResetViewController alloc]init];
|
||||
[weakSelf.navigationController pushViewController:vc animated:YES];
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
NSLog(@"错误信息:%@",error);
|
||||
NSString *str =@"验证码验证失败";
|
||||
[self.view makeToast:str];
|
||||
}
|
||||
}
|
||||
}];
|
||||
|
||||
}
|
||||
|
||||
#pragma mark - 选择国家
|
||||
-(void)countryCodeBtnAction
|
||||
{
|
||||
XWCountryCodeController *CountryCodeVC = [[XWCountryCodeController alloc] init];
|
||||
|
||||
[CountryCodeVC toReturnCountryCode:^(NSString *countryCodeStr) {
|
||||
|
||||
[self.countryCodeBtn setTitle:countryCodeStr forState:UIControlStateNormal];
|
||||
|
||||
NSArray *array = [countryCodeStr componentsSeparatedByString:@"+"];
|
||||
self.areaCode = array[1];
|
||||
}];
|
||||
[self presentViewController:CountryCodeVC animated:YES completion:nil];
|
||||
|
||||
}
|
||||
|
||||
@end
|
||||
Reference in New Issue
Block a user