zjf
2023-03-06 392b76515f40376b6d36f40a114850ef63650384
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
//
//  PBChangePWController.m
//  IphoneBIMe
//
//  Created by zjf on 2018/9/21.
//  Copyright © 2018年 ProBIM. All rights reserved.
//
 
#import "PBChangePWController.h"
#import "PGGCryptoDES.h"
#import <JPUSHService.h>
@interface PBChangePWController ()<UITextFieldDelegate>
@property (nonatomic, weak) UITextField *originalPwTF;
@property (nonatomic, weak) UITextField *setPwTF;
@property (nonatomic, weak) UITextField *confirmPwTF;
@end
 
@implementation PBChangePWController
 
- (void)viewDidLoad {
    [super viewDidLoad];
    if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.f) {
        self.edgesForExtendedLayout = UIRectEdgeNone;
    }
    [self setupNav];
    [self setupUI];
}
 
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
    [self.view endEditing:NO];
}
- (void)setupNav {
    self.title = @"修改密码";
    UIBarButtonItem *backItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"Project_nav_back"] style:UIBarButtonItemStylePlain target:self action:@selector(backItemAction)];
    self.navigationItem.leftBarButtonItem = backItem;
    UIBarButtonItem *saveItem = [[UIBarButtonItem alloc] initWithTitle:@"确认" style:UIBarButtonItemStylePlain target:self action:@selector(saveAction)];
    self.navigationItem.rightBarButtonItem = saveItem;
    
}
- (void)backItemAction {
    [self.navigationController popViewControllerAnimated:YES];
}
- (void)saveAction {
    NSString *oldpass = self.originalPwTF.text;
    NSString *newpass = self.setPwTF.text;
    NSString *againpass = self.confirmPwTF.text;
    if ([oldpass isEqualToString:@""] || [newpass isEqualToString:@""] || [againpass isEqualToString:@""]) {
        [YJProgressHUD showMessage:@"请填写完整" inView:self.view];
        return;
    }
    if ([oldpass isEqualToString:newpass]) {
        [YJProgressHUD showMessage:@"新密码不能和当前密码相同" inView:self.view];
        return;
    }
    if (![newpass isEqualToString:againpass]) {
        [YJProgressHUD showMessage:@"两次输入的新密码不同" inView:self.view];
        return;
    }
    [YJProgressHUD showProgress:@"" inView:self.view];
    NSString *oldAES = [PGGCryptoDES encryptUseDES:oldpass];
    NSString *newAES = [PGGCryptoDES encryptUseDES:newpass];
    [[PBNetworkTools sharedTools] RequestSubmitResetPasswordWithOldPassword:oldAES NewPassword:newAES andCallBack:^(NSURLResponse *response, id responseObject, NSError *error) {
        if (error) {
            NSLog(@"%@",error);
            [YJProgressHUD showMessage:@"修改失败" inView:self.view];
            return;
        }
        NSString *str = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
        NSLog(@"%@",str);
        NSDictionary *dict = [NSString convertTodictionaryOrArr:str];
        int type = [[dict valueForKey:@"Type"] intValue];
        if (type == 1) {
            [YJProgressHUD showMessage:@"修改成功" inView:self.view];
            dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, 2 * NSEC_PER_SEC);
            dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
                [self.navigationController popViewControllerAnimated:NO];
                NSFileManager *manager=[NSFileManager defaultManager];
                NSString *filepath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0]stringByAppendingPathComponent:@"login.plist"];//这里就是你将要删除的沙盒路径(.plist文件,名字
                [manager removeItemAtPath:filepath error:nil];
                [JPUSHService deleteAlias:^(NSInteger iResCode, NSString *iAlias, NSInteger seq) {
                    NSLog(@"%zd--%@--%zd",iResCode,iAlias,seq);
                } seq:10];
                [self.navigationController popViewControllerAnimated:NO];
                if (self.ChangePWCompleteBlock){
                    self.ChangePWCompleteBlock();
                }  
            });
        }else {
            [YJProgressHUD showMessage:[dict valueForKey:@"Message"] inView:self.view];
        }
    }];
}
- (void)setupUI {
    self.view.backgroundColor = [UIColor whiteColor];
    UITextField *originalPwTF = [[UITextField alloc] init];
    originalPwTF.placeholder = @"请输入原密码";
    originalPwTF.keyboardType = UIKeyboardTypeASCIICapable;
    originalPwTF.secureTextEntry = YES;
    originalPwTF.clearButtonMode = UITextFieldViewModeAlways;
    originalPwTF.returnKeyType = UIReturnKeyNext;
    originalPwTF.delegate = self;
    [originalPwTF becomeFirstResponder];
    [self.view addSubview:originalPwTF];
    [originalPwTF mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.equalTo(self.view).offset(25);
        make.left.equalTo(self.view).offset(10);
        make.right.equalTo(self.view).offset(-10);
        make.height.equalTo(@40);
    }];
    
    UITextField *setPwTF = [[UITextField alloc] init];
    setPwTF.placeholder = @"请输入新密码";
    setPwTF.keyboardType = UIKeyboardTypeASCIICapable;
    setPwTF.secureTextEntry = YES;
    setPwTF.clearButtonMode = UITextFieldViewModeAlways;
    setPwTF.returnKeyType = UIReturnKeyNext;
    setPwTF.delegate = self;
    [self.view addSubview:setPwTF];
    [setPwTF mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.equalTo(originalPwTF.mas_bottom).offset(10);
        make.left.right.height.equalTo(originalPwTF);
    }];
    UITextField *confirmPwTF = [[UITextField alloc] init];
    confirmPwTF.placeholder = @"再次输入新密码";
    
    confirmPwTF.keyboardType = UIKeyboardTypeASCIICapable;
    confirmPwTF.secureTextEntry = YES;
    confirmPwTF.clearButtonMode = UITextFieldViewModeAlways;
    confirmPwTF.returnKeyType = UIReturnKeyDone;
    confirmPwTF.delegate = self;
    [self.view addSubview:confirmPwTF];
    [confirmPwTF mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.equalTo(setPwTF.mas_bottom).offset(10);
        make.left.right.height.equalTo(originalPwTF);
    }];
    self.originalPwTF = originalPwTF;
    self.setPwTF = setPwTF;
    self.confirmPwTF = confirmPwTF;
}
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
    if (textField == self.originalPwTF) {
        [self.setPwTF becomeFirstResponder];
    }else if (textField == self.setPwTF) {
        [self.confirmPwTF becomeFirstResponder];
    }else {
        [self.view endEditing:NO];
    }
    return YES;
}
/*
#pragma mark - Navigation
 
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.
}
*/
 
@end