杨锴
2024-08-14 909e20941e45f8712c012db602034b47da0bfdb0
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
//
//  RegisterVC.swift
//  XQMuse
//
//  Created by 无故事王国 on 2024/8/13.
//
 
import UIKit
import JQTools
import QMUIKit
import RxRelay
import RxSwift
import RxCocoa
 
class RegisterViewModel{
                var phone = BehaviorRelay<String>(value: "")
                var code = BehaviorRelay<String>(value: "")
                var pwd = BehaviorRelay<String>(value: "")
                var pwdAgain = BehaviorRelay<String>(value: "")
                var isRead = BehaviorRelay<Bool>(value: false)
 
                func checkSafe()->Bool{
                                if phone.value.isEmpty{
                                                alertError(msg: "请输入您的手机号");return false
                                }
 
                                if !phone.value.jq_isPhone{
                                                alertError(msg: "请输入正确手机号");return false
                                }
 
                                if code.value.isEmpty{
                                                alertError(msg: "请输入验证码");return false
                                }
 
                                if pwd.value.isEmpty{
                                                alertError(msg: "请输入密码");return false
                                }
 
                                if pwdAgain.value.isEmpty{
                                                alertError(msg: "请输入确认密码");return false
                                }
 
                                if pwd.value != pwdAgain.value{
                                                alertError(msg: "两次密码不一致");return false
                                }
 
 
                                return true
                }
}
 
class RegisterVC: BaseVC {
 
                @IBOutlet weak var tf_phone: QMUITextField!
                @IBOutlet weak var tf_code: QMUITextField!
                @IBOutlet weak var tf_pwd: QMUITextField!
                @IBOutlet weak var tf_pwdAgain: QMUITextField!
                @IBOutlet weak var btn_register: UIButton!
 
                private var viewModel = RegisterViewModel()
 
                let shadowView = UIView()
 
    override func viewDidLoad() {
        super.viewDidLoad()
                                title = "注册账户"
    }
 
                override func setUI() {
                                view.addSubview(shadowView)
                                shadowView.backgroundColor = .white
                                shadowView.snp.makeConstraints { make in
                                                make.top.equalTo(self.view.safeAreaLayoutGuide.snp.top).offset(0)
                                                make.left.right.equalToSuperview()
                                                make.height.equalTo(30)
                                }
                }
 
                override func setRx() {
                                tf_phone.rx.text.orEmpty.bind(to: viewModel.phone).disposed(by: disposeBag)
                                tf_code.rx.text.orEmpty.bind(to: viewModel.code).disposed(by: disposeBag)
                                tf_pwd.rx.text.orEmpty.bind(to: viewModel.pwd).disposed(by: disposeBag)
                                tf_pwdAgain.rx.text.orEmpty.bind(to: viewModel.pwdAgain).disposed(by: disposeBag)
                }
 
                @IBAction func getCodeAction(_ sender: UIButton) {
 
                                guard !viewModel.phone.value.isEmpty else {alertError(msg: "请输入手机号");return}
                                guard viewModel.phone.value.jq_isPhone else {alertError(msg: "请输入正确手机号");return}
 
                                sender.jq_openCountDown(60, defultTitle: "发送验证码") {
                                                sender.titleLabel?.font = UIFont.systemFont(ofSize: 12)
                                                sender.setTitleColor(.black.withAlphaComponent(0.3), for: .normal)
                                } completeClouse: {
                                                sender.titleLabel?.font = UIFont.systemFont(ofSize: 14, weight: .medium)
                                                sender.setTitleColor(UIColor(hexStr: "#96AD81"), for: .normal)
                                }
                }
 
                @IBAction func registerAction(_ sender: UIButton) {
 
                                guard viewModel.checkSafe() else {return}
                                view.endEditing(true)
 
                }
 
                @IBAction func userResigerAgreementAction(_ sender: Any) {
                                let vc = WebVC()
                                vc.title = "用户注册协议"
                                push(vc: vc)
                }
 
 
                @IBAction func userPrivateAgreementAction(_ sender: Any) {
                                let vc = WebVC()
                                vc.title = "用户隐私协议"
                                push(vc: vc)
                }
 
 
                override func viewDidLayoutSubviews() {
                                super.viewDidLayoutSubviews()
 
                                btn_register.jq_gradientNibColor(colorArr: [UIColor(hexStr: "#8EA47A").cgColor,UIColor(hexStr: "#AFCA98").cgColor], cornerRadius: 20)
 
                                shadowView.jq_gradientColor(colorArr: [UIColor(hexStr: "#F5F5F5").withAlphaComponent(0.15).cgColor,UIColor.white.cgColor], cornerRadius: 0, startPoint: CGPoint(x: 0, y: 0), endPoint: CGPoint(x: 0, y: 1), bounds: CGRect(x: 0, y: 0, width: JQ_ScreenW, height: 30),locations: [0.1,0.9])
 
                }
}