123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- //
- // UpdatePasswordViewController.swift
- // JiaPeiManage
- //
- // Created by Ning.ge on 2023/6/15.
- //
- import UIKit
- import RxSwift
- import RxCocoa
- final class UpdatePasswordViewController: BaseViewController {
-
- // MARK: 服务属性
- private let loginService: LoginServiceType = LoginService(networking: LoginNetworking())
-
- // MARK: UI属性
- @IBOutlet weak var old_password_textfield: QMUITextField!
- @IBOutlet weak var one_password_textfield: QMUITextField!
- @IBOutlet weak var two_password_textfield: QMUITextField!
-
- @IBOutlet weak var old_pwdshow_button: QMUIButton!
- @IBOutlet weak var one_pwdshow_button: QMUIButton!
- @IBOutlet weak var two_pwdshow_button: QMUIButton!
-
- @IBOutlet weak var confirm_button: UIButton!
-
- override func viewDidLoad() {
- super.viewDidLoad()
- setupUI()
- biandView()
- }
-
- // MARK: 私有方法
- func setupUI(){
- self.view.backgroundColor = .db_theme
- self.old_password_textfield.placeholderColor = .db_place
- self.one_password_textfield.placeholderColor = .db_place
- self.two_password_textfield.placeholderColor = .db_place
- }
- //绑定-rx
- func biandView(){
-
- //显示密码
- old_pwdshow_button.rx.tap.subscribe ({ [unowned self] (_) in
- self.old_pwdshow_button.isSelected = !self.old_pwdshow_button.isSelected;
- self.old_password_textfield.isSecureTextEntry = !self.old_pwdshow_button.isSelected
- }).disposed(by: disposeBag)
- one_pwdshow_button.rx.tap.subscribe ({ [unowned self] (_) in
- self.one_pwdshow_button.isSelected = !self.one_pwdshow_button.isSelected;
- self.one_password_textfield.isSecureTextEntry = !self.one_pwdshow_button.isSelected
- }).disposed(by: disposeBag)
- two_pwdshow_button.rx.tap.subscribe ({ [unowned self] (_) in
- self.two_pwdshow_button.isSelected = !self.two_pwdshow_button.isSelected;
- self.two_password_textfield.isSecureTextEntry = !self.two_pwdshow_button.isSelected
- }).disposed(by: disposeBag)
-
- //判断密码的输入是否可用
- let old_passwordValid = old_password_textfield.rx.text.orEmpty.map{ value in
- return value.count >= 6
- }
- let one_passwordValid = one_password_textfield.rx.text.orEmpty.map{ value in
- return value.count >= 6
- }
- let two_passwordValid = two_password_textfield.rx.text.orEmpty.map{ value in
- return value.count >= 6
- }
-
- //确定按钮的可用与否
- let confirmObserver = Observable.combineLatest(old_passwordValid,one_passwordValid,two_passwordValid){(old,one,two) in
- old && one && two
- }
- //绑定按钮
- confirmObserver.bind(to: confirm_button.rx.isEnabled).disposed(by: disposeBag)
- confirmObserver.subscribe(onNext: { [unowned self] valid in
- self.confirm_button.alpha = valid ? 1 : 0.5
- }).disposed(by: disposeBag)
-
- confirm_button.rx.tap
- .asObservable()
- .withLatestFrom(confirmObserver)
- .do(onNext: {
- [unowned self]_ in
- self.confirm_button.isEnabled = false
- self.view.endEditing(true)
- })
- .subscribe(onNext: {[unowned self]isLogin in
-
- self.confirm_button.isEnabled = true
- let user_name = LocalManager.userInfo.userAccount
- let old_pwd = old_password_textfield.text
- let one_pwd = one_password_textfield.text
- let two_pwd = two_password_textfield.text
- if old_pwd != LocalManager.userInfo.password {
- NYTips.showMsg(txt: "原密码不正确!")
- return
- }
- if one_pwd != two_pwd {
- NYTips.showMsg(txt: "两次密码不相同")
- return
- }
- NYTips.show()
- self.loginService.updateRequest(user_name: user_name!, user_password: old_pwd!, new_password: two_pwd!, city: LocalManager.userInfo.city!)
- .subscribe(onSuccess: { updateDataModel in
- NYTips.hide()
- if updateDataModel.data as! Int == 1{
- LocalManager.userInfo.password = two_pwd
- LocalManager.userInfo.isLogin = true //设置已经登录
- print("修改成功:%@", updateDataModel)
- self.navigationController?.popViewController(animated: true)
- }else {
- NYTips.showErr(txt: updateDataModel.msg!)
- }
- }, onError: { error in
- NYTips.hide()
- NYTips.showErr(txt: error.localizedDescription)
- print("%@",error)
- })
- .disposed(by: disposeBag)
-
- })
- .disposed(by: disposeBag)
-
- //添加手势
- let tapBackground = UITapGestureRecognizer()
- tapBackground.rx.event
- .subscribe(onNext: { [weak self] _ in
- self?.view.endEditing(true)
- })
- .disposed(by: disposeBag)
- view.addGestureRecognizer(tapBackground)
- }
-
- }
|