ChangePasswordViewController.m 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. //
  2. // ChangePasswordViewController.m
  3. // NIMDemo
  4. //
  5. // Created by Fenix Wang on 2017/7/24.
  6. // Copyright © 2017年 Netease. All rights reserved.
  7. //
  8. #import "ChangePasswordViewController.h"
  9. #import "HttpRequest.h"
  10. #import "SVProgressHUD.h"
  11. #import "UIView+Toast.h"
  12. #import "User.h"
  13. @interface ChangePasswordViewController ()<UITextFieldDelegate>
  14. @property (weak, nonatomic) IBOutlet UITextField *originLabel;
  15. @property (weak, nonatomic) IBOutlet UITextField *changeLabel;
  16. @property (weak, nonatomic) IBOutlet UITextField *confirmLabel;
  17. @end
  18. @implementation ChangePasswordViewController
  19. - (void)viewDidLoad {
  20. [super viewDidLoad];
  21. _originLabel.delegate = self;
  22. _changeLabel.delegate = self;
  23. _confirmLabel.delegate = self;
  24. _originLabel.borderStyle = UITextBorderStyleNone;
  25. _changeLabel.borderStyle = UITextBorderStyleNone;
  26. _confirmLabel.borderStyle = UITextBorderStyleNone;
  27. }
  28. - (void)didReceiveMemoryWarning {
  29. [super didReceiveMemoryWarning];
  30. // Dispose of any resources that can be recreated.
  31. }
  32. - (void)viewWillAppear:(BOOL)animated{
  33. [super viewWillAppear:animated];
  34. UIButton *doneBtn = [UIButton buttonWithType:UIButtonTypeCustom];
  35. [doneBtn setTitle:@"完成" forState:UIControlStateNormal];
  36. [doneBtn setTitleColor:UIColor.whiteColor forState:UIControlStateNormal];
  37. [doneBtn addTarget:self action:@selector(onTouchDone:) forControlEvents:UIControlEventTouchUpInside];
  38. [doneBtn sizeToFit];
  39. UIBarButtonItem *rightItem = [[UIBarButtonItem alloc] initWithCustomView:doneBtn];
  40. [self.navigationItem setRightBarButtonItems:@[rightItem]];
  41. }
  42. - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
  43. if ([string isEqualToString:@"\n"]) {
  44. [textField resignFirstResponder];
  45. return NO;
  46. }
  47. return YES;
  48. }
  49. - (void)reset{
  50. _originLabel.text = @"";
  51. _changeLabel.text = @"";
  52. _confirmLabel.text = @"";
  53. }
  54. - (void)onTouchDone:(id)sender{
  55. NSString *origin = _originLabel.text;
  56. NSString *change = _changeLabel.text;
  57. NSString *confirm = _confirmLabel.text;
  58. int max = 12;
  59. if(change.length < Password_Min_Length || change.length > max)
  60. {
  61. UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"密码长度不正确" message:nil delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];
  62. [alert show];
  63. return;
  64. }
  65. if(![change isEqualToString:confirm])
  66. {
  67. UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"确认密码与修改密码不一样" message:nil delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];
  68. [alert show];
  69. return;
  70. }
  71. if([change length] < Password_Min_Length)
  72. {
  73. NSString *title = [NSString stringWithFormat:@"密码长度至少需要%d个字符", Password_Min_Length];
  74. UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title message:nil delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];
  75. [alert show];
  76. return;
  77. }
  78. [SVProgressHUD show];
  79. __weak typeof(self) wself = self;
  80. [[HttpRequest shared] changePassword:origin changePwd:change success:^{
  81. [SVProgressHUD dismiss];
  82. [wself.view makeToast:@"修改密码成功" duration:2 position:CSToastPositionCenter];
  83. [wself reset];
  84. } failure:^{
  85. [SVProgressHUD dismiss];
  86. [wself.view makeToast:@"修改密码失败,原始密码不正确或网络存在问题,请重试。" duration:2 position:CSToastPositionCenter];
  87. }];
  88. }
  89. @end