ForgetViewController.m 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. //
  2. // ForgetViewController.m
  3. // 千模
  4. //
  5. // Created by MUMEI on 2018/8/17.
  6. // Copyright © 2018年 MUMEI. All rights reserved.
  7. //
  8. #import "ForgetViewController.h"
  9. #import "LoginViewController.h"
  10. #import "NewPwdViewController.h"
  11. #define SET_WIFI_TIMES 60
  12. @interface ForgetViewController ()<UITextFieldDelegate>
  13. {
  14. UILabel * _dcLab; //倒计时lab
  15. NSTimer * _timer; //倒计时定时器
  16. NSString *phoneNum;
  17. NSString *password;
  18. NSString * randomCode;
  19. NSString *code;
  20. BOOL isGetCode;
  21. BOOL isRight;
  22. int dbTimes;
  23. }
  24. @property (weak, nonatomic) IBOutlet UITextField *phoneText;
  25. @property (weak, nonatomic) IBOutlet UITextField *codeText;
  26. @property (weak, nonatomic) IBOutlet UILabel *getCodeLabel;
  27. @property (weak, nonatomic) IBOutlet UIImageView *nextImage;
  28. @end
  29. @implementation ForgetViewController
  30. - (void)viewDidLoad {
  31. [super viewDidLoad];
  32. UIButton * btn = [UIButton buttonWithType:UIButtonTypeCustom];
  33. btn.frame = CGRectMake(0, 0, 40, 40);
  34. [btn setImage:[UIImage imageNamed:@"fanhui2"] forState:UIControlStateNormal];
  35. btn.imageEdgeInsets = UIEdgeInsetsMake(0, -20, 0, 0);
  36. [btn addTarget:self action:@selector(backClick) forControlEvents:UIControlEventTouchUpInside];
  37. UIBarButtonItem *leftItem = [[UIBarButtonItem alloc] initWithCustomView:btn];
  38. UIBarButtonItem *nagetiveSpacer = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
  39. nagetiveSpacer.width = -12;//这个值可以根据自己需要自己调整
  40. self.navigationItem.leftBarButtonItems = @[nagetiveSpacer, leftItem];
  41. self.navigationItem.title = @"忘记密码";
  42. UITapGestureRecognizer *toCode = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(toGetCode:)];
  43. [_getCodeLabel addGestureRecognizer:toCode];
  44. _getCodeLabel.userInteractionEnabled = YES;
  45. UITapGestureRecognizer *toNext = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(toNextVc:)];
  46. [_nextImage addGestureRecognizer:toNext];
  47. _nextImage.userInteractionEnabled = YES;
  48. self.phoneText.keyboardType = UIKeyboardTypeNumberPad;
  49. self.codeText.keyboardType = UIKeyboardTypeNumberPad;
  50. // Do any additional setup after loading the view from its nib.
  51. }
  52. - (void)viewWillAppear:(BOOL)animated{
  53. dbTimes = SET_WIFI_TIMES;
  54. self.codeText.text = @"";
  55. }
  56. - (void)toGetCode:(UITapGestureRecognizer*)recognizer{
  57. if ([Helper valiMobile:self.phoneText.text]) {
  58. if ([_getCodeLabel.text isEqualToString:@"获取验证码"]) {
  59. _timer = [NSTimer scheduledTimerWithTimeInterval:1.0
  60. target:self
  61. selector:@selector(downTimes:)
  62. userInfo:nil
  63. repeats:YES];
  64. [_timer fire];
  65. [self getNum];
  66. }else if ([_getCodeLabel.text isEqualToString:@"重新获取"]){
  67. _timer = [NSTimer scheduledTimerWithTimeInterval:1.0
  68. target:self
  69. selector:@selector(downTimes:)
  70. userInfo:nil
  71. repeats:YES];
  72. [_timer fire];
  73. [self getNum];
  74. }
  75. }else{
  76. [MBProgressHUD showTextHUD:@"请填写正确手机号" inView:self.view hideAfterDelay:1];
  77. }
  78. }
  79. - (void)toNextVc:(UITapGestureRecognizer*)recognizer{
  80. if (self.phoneText.text.length!=0&&self.codeText.text.length!=0&&[self.codeText.text isEqualToString:randomCode]) {
  81. NewPwdViewController * newVc = [[NewPwdViewController alloc]init];
  82. newVc.phone = self.phoneText.text;
  83. [self.navigationController pushViewController:newVc animated:YES];
  84. }else{
  85. [MBProgressHUD showTextHUD:@"请填写正确资料" inView:self.view hideAfterDelay:1];
  86. }
  87. }
  88. -(void)backClick{
  89. LoginViewController *lVc = [[LoginViewController alloc]init];
  90. [self.navigationController pushViewController:lVc animated:NO];
  91. }
  92. -(void) getNum {
  93. int a = arc4random() % 100000;
  94. randomCode = [NSString stringWithFormat:@"%06d", a];
  95. NSString *str = [NSString stringWithFormat:@"%@/model?action=sendsms&phone=%@&code=%@", PublicUrl, self.phoneText.text, randomCode];
  96. AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
  97. manager.responseSerializer = [AFHTTPResponseSerializer serializer];
  98. [manager GET:str
  99. parameters:nil
  100. success:^(NSURLSessionDataTask *task, id responseObject) {
  101. NSString *result = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
  102. isRight = [result containsString:@"success"];
  103. NSLog(@"%@", result);
  104. }
  105. failure:^(NSURLSessionDataTask *task, NSError *error) {
  106. NSLog(@"%@", error);
  107. }];
  108. }
  109. - (void)timeInvalidates
  110. {
  111. dbTimes = SET_WIFI_TIMES;
  112. [_timer invalidate];
  113. _timer = nil;
  114. }
  115. - (void)downTimes:(NSTimer*)time
  116. {
  117. if (dbTimes > 0) {
  118. _getCodeLabel.text = [NSString stringWithFormat:@"%ds", dbTimes];
  119. dbTimes--;
  120. } else {
  121. _getCodeLabel.text = @"重新获取";
  122. dbTimes = SET_WIFI_TIMES;
  123. //调用取消搜索
  124. [self timeInvalidates];
  125. [_timer fire];
  126. //[self stopSearch];
  127. }
  128. }
  129. - (void)didReceiveMemoryWarning {
  130. [super didReceiveMemoryWarning];
  131. // Dispose of any resources that can be recreated.
  132. }
  133. @end