杨锴
2025-05-11 7453d2d0cef415b34323d1b91e6cfa4a6ba31178
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
//
//  LoginRegOrForgotVC.swift
//  WanPai
//
//  Created by 杨锴 on 2023/6/8.
//
 
import UIKit
import QMUIKit
import JQTools
 
class LoginRegOrForgotVC: BaseVC {
 
 
                private var type:GetSMSCodeType!
 
                @IBOutlet weak var tf_phone: QMUITextField!
                @IBOutlet weak var tf_code: QMUITextField!
                @IBOutlet weak var tf_pwd: QMUITextField!
                @IBOutlet weak var tf_invitePhone: QMUITextField!
                @IBOutlet weak var view_invite: UIView!
                @IBOutlet weak var view_placeholder: UIView!
 
                private var force:String = ""
 
                required init(type:GetSMSCodeType,force:String = "") {
                                super.init(nibName: nil, bundle: nil)
                                self.type = type
                                self.force = force
                }
 
                required init?(coder: NSCoder) {
                                fatalError("init(coder:) has not been implemented")
                }
 
                override func viewDidLoad() {
                                super.viewDidLoad()
                                title = type.titleStr
                                tf_pwd.maximumTextLength = 18
 
                                tf_phone.text = force
                                if !force.isEmpty{alert(msg: "请修改密码")}
                                view_invite.isHidden = type != .register
                                view_placeholder.isHidden = type != .register
                }
 
                @IBAction func eyeAction(_ sender: UIButton) {
                                sender.isSelected = !sender.isSelected
                                tf_pwd.isSecureTextEntry = !sender.isSelected
                }
 
                @IBAction func completeAction(_ sender: UIButton) {
                                guard !tf_phone.text!.isEmpty else {alertError(msg: tf_phone.placeholder!);return}
                                guard tf_phone.text!.jq_isPhone else {alertError(msg: "请输入正确的手机号");return}
                                guard !tf_code.text!.isEmpty else {alertError(msg: tf_code.placeholder!);return}
                                guard !tf_pwd.text!.isEmpty else {alertError(msg: tf_pwd.placeholder!);return}
                                guard tf_pwd.text!.jq_isComplexPassword else {alertError(msg: "请输入6-18位包含数字和字母的密码");return}
 
                                let phone = tf_phone.text!
                                let pwd = tf_pwd.text!
                                let code = tf_code.text!
 
                                switch type{
                                                case .register:
 
                                                                var invitePhone:String?
                                                                if !tf_invitePhone.isEmpty{invitePhone = tf_invitePhone.text!}
                                                                if invitePhone != nil{
                                                                                guard tf_phone.text!.jq_isPhone else {
                                                                                                alert(msg: "请输入正确的推广手机号码");return
                                                                                }
                                                                }
 
                                                                Services.register(phone: phone, password: pwd, code: code,invitePhone: invitePhone).subscribe(onNext: { result in
                                                                                alertSuccess(msg: "注册成功")
                                                                                DispatchQueue.main.asyncAfter(wallDeadline: .now()+1) {
                                                                                                app.registerAndLoginSuccess()
                                                                                }
                                                                }).disposed(by: disposeBag)
                                                case .forgotPwd:
                                                                Services.forgetPwd(phone: phone, password: pwd, code: code).subscribe(onNext: { result in
                                                                                alertSuccess(msg: "修改成功")
                                                                                DispatchQueue.main.asyncAfter(wallDeadline: .now()+1) {
                                                                                                self.navigationController?.popViewController()
                                                                                }
                                                                }).disposed(by: disposeBag)
                                                case .updatePwd:
                                                                Services.updatePwd(phone: phone, password: pwd, code: code).subscribe(onNext: { result in
                                                                                alertSuccess(msg: "修改成功")
                                                                                DispatchQueue.main.asyncAfter(wallDeadline: .now()+1) {
                                                                                                self.navigationController?.popViewController()
                                                                                }
                                                                }).disposed(by: disposeBag)
                                                default:break
                                }
                }
 
                @IBAction func getCodeAction(_ sender: UIButton) {
                                guard !tf_phone.text!.isEmpty else {alertError(msg: tf_phone.placeholder!);return}
                                guard tf_phone.text!.jq_isPhone else {alertError(msg: "请输入正确的手机号");return}
                                Services.getSMSCode(phone: tf_phone.text!, type: type).subscribe(onNext: {result in
                                                sender.openCountDown()
                                }).disposed(by: disposeBag)
                }
 
                override var preferredStatusBarStyle: UIStatusBarStyle{
                                return .default
                }
 
}