|
@@ -7,9 +7,13 @@
|
|
|
|
|
|
#import "NewPwdModifyViewController.h"
|
|
|
#import "PasswordModifyBodyView.h"
|
|
|
+#import "VeriCheckView.h"
|
|
|
|
|
|
@interface NewPwdModifyViewController ()
|
|
|
-
|
|
|
+{
|
|
|
+ NSTimer *_time;
|
|
|
+ int _count;
|
|
|
+}
|
|
|
@property (nonatomic, strong) PasswordModifyBodyView *bodyView;
|
|
|
|
|
|
@end
|
|
@@ -26,21 +30,38 @@
|
|
|
- (void)configUI {
|
|
|
self.bodyView = [PasswordModifyBodyView shareInstance];
|
|
|
[self.view addSubview:self.bodyView];
|
|
|
+ self.bodyView.needVefiCode = self.needCode;
|
|
|
[self.bodyView mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
|
make.left.right.top.bottom.mas_equalTo(self.view);
|
|
|
}];
|
|
|
|
|
|
MJWeakSelf;
|
|
|
- [self.bodyView modifyPasswordCallback:^(NSString *password) {
|
|
|
- [weakSelf updatePassword:password];
|
|
|
-
|
|
|
+ [self.bodyView modifyPasswordCallback:^(MODIFYTYPE type, NSString * _Nullable password, NSString * _Nullable code) {
|
|
|
+ [weakSelf modifyAction:type password:password code:code];
|
|
|
}];
|
|
|
}
|
|
|
|
|
|
+- (void)modifyAction:(MODIFYTYPE)type password:(NSString *)password code:(NSString *)code {
|
|
|
+ switch (type) {
|
|
|
+ case MODIFYTYPE_CODE: // 发送验证码
|
|
|
+ {
|
|
|
+ // 图形化验证
|
|
|
+ [self veriCodeSendCheck];
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case MODIFYTYPE_SURE:
|
|
|
+ {
|
|
|
+ [self updatePassword:password code:code];
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+}
|
|
|
|
|
|
-- (void)updatePassword:(NSString *)password {
|
|
|
+- (void)updatePassword:(NSString *)password code:(NSString *)code {
|
|
|
[LOADING_MANAGER showHUD];
|
|
|
- [KSNetworkingManager setPasswordRequest:KS_POST password:password success:^(NSDictionary * _Nonnull dic) {
|
|
|
+ [KSNetworkingManager setPasswordRequest:KS_POST password:password code:code success:^(NSDictionary * _Nonnull dic) {
|
|
|
[LOADING_MANAGER removeHUD];
|
|
|
if ([dic ks_integerValueForKey:@"code"] == 200 && [dic ks_boolValueForKey:@"status"]) {
|
|
|
[LOADING_MANAGER KSShowMsg:@"修改成功" promptCompletion:^{
|
|
@@ -59,6 +80,87 @@
|
|
|
- (void)toLoginView {
|
|
|
[APPLOGIN_MANAGER logoutAction];
|
|
|
}
|
|
|
+
|
|
|
+#pragma mark --- 验证码
|
|
|
+- (void)veriCodeSendCheck {
|
|
|
+ NSString *phoneNo = UserDefault(PHONEKEY);
|
|
|
+ // 图形化验证
|
|
|
+ VeriCheckView *view = [VeriCheckView shareInstanceShowInView:self.view];
|
|
|
+ __weak typeof(view) weakView = view;
|
|
|
+ [view showViewCallback:^(NSDictionary * _Nonnull parm) {
|
|
|
+ [self veriImageCodeWithParm:parm checkView:weakView];
|
|
|
+ }];
|
|
|
+ [view disPlayImageWithPhone:phoneNo];
|
|
|
+}
|
|
|
+
|
|
|
+- (void)veriImageCodeWithParm:(NSDictionary *)parm checkView:(VeriCheckView *)checkView {
|
|
|
+ [LOADING_MANAGER showHUD];
|
|
|
+ [KSNetworkingManager verifyLoginImageRequest:KS_POST phone:[parm ks_stringValueForKey:@"phone"] code:[parm ks_stringValueForKey:@"code"] success:^(NSDictionary * _Nonnull dic) {
|
|
|
+ if ([dic ks_integerValueForKey:@"code"] == 200 && [dic ks_boolValueForKey:@"status"]) {
|
|
|
+ [checkView hiddView];
|
|
|
+ [self sendSMSRequestWithParm:parm];
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ [LOADING_MANAGER removeHUD];
|
|
|
+ [LOADING_MANAGER MBShowAUTOHidingInWindow:MESSAGEKEY];
|
|
|
+ }
|
|
|
+ } faliure:^(NSError * _Nonnull error) {
|
|
|
+ [LOADING_MANAGER removeHUD];
|
|
|
+ }];
|
|
|
+}
|
|
|
+
|
|
|
+// 发送短信
|
|
|
+- (void)sendSMSRequestWithParm:(NSDictionary *)parm {
|
|
|
+ [KSNetworkingManager sendSmsRequest:KS_POST mobile:[parm ks_stringValueForKey:@"phone"] type:@"PASSWD" success:^(NSDictionary * _Nonnull dic) {
|
|
|
+ [LOADING_MANAGER removeHUD];
|
|
|
+ if ([dic ks_integerValueForKey:@"code"] == 200 && [dic ks_boolValueForKey:@"status"]) {
|
|
|
+ [LOADING_MANAGER MBShowAUTOHidingInWindow:@"验证码已发送"];
|
|
|
+ [self codeButtonCountDown];
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ [LOADING_MANAGER MBShowAUTOHidingInWindow:MESSAGEKEY];
|
|
|
+ }
|
|
|
+ } faliure:^(NSError * _Nonnull error) {
|
|
|
+ [LOADING_MANAGER removeHUD];
|
|
|
+ }];
|
|
|
+}
|
|
|
+
|
|
|
+- (void)codeButtonCountDown {
|
|
|
+ _bodyView.codeButton.userInteractionEnabled = NO;
|
|
|
+ [_bodyView.codeButton setTitleColor:HexRGB(0xe5e5e5) forState:UIControlStateNormal];
|
|
|
+ __weak typeof(self) weakSelf = self;
|
|
|
+ _time = [NSTimer scheduledTimerWithTimeInterval:1 target:weakSelf selector:@selector(buttonChangeAction) userInfo:nil repeats:YES];
|
|
|
+ _count = 59;
|
|
|
+}
|
|
|
+
|
|
|
+- (void)clearButtonState {
|
|
|
+ [_time invalidate];
|
|
|
+ _time = nil;
|
|
|
+ _count = 0;
|
|
|
+ [_bodyView.codeButton setTitle:@"获取验证码" forState:UIControlStateNormal];
|
|
|
+ [_bodyView.codeButton setTitleColor:CLIENT_THEMECOLOR forState:UIControlStateNormal];
|
|
|
+ _bodyView.codeButton.userInteractionEnabled = YES;
|
|
|
+}
|
|
|
+
|
|
|
+#pragma mark ---- 验证码按钮状态
|
|
|
+- (void)buttonChangeAction {
|
|
|
+ _bodyView.codeButton.userInteractionEnabled = NO;
|
|
|
+ NSString *title = [NSString stringWithFormat:@"%ds",_count];
|
|
|
+ [_bodyView.codeButton setTitle:title forState:UIControlStateNormal];
|
|
|
+ _count--;
|
|
|
+ if(_count == -1){
|
|
|
+ [_time invalidate];
|
|
|
+ _time = nil;
|
|
|
+ [_bodyView.codeButton setTitle:@"获取验证码" forState:UIControlStateNormal];
|
|
|
+ [_bodyView.codeButton setTitleColor:CLIENT_THEMECOLOR forState:UIControlStateNormal];
|
|
|
+ _bodyView.codeButton.userInteractionEnabled = YES;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+- (void)dealloc {
|
|
|
+ [_time invalidate];
|
|
|
+ _time = nil;
|
|
|
+}
|
|
|
/*
|
|
|
#pragma mark - Navigation
|
|
|
|