//
|
// MineModifyPasswordVC.swift
|
// OKProject
|
//
|
// Created by alvin_y on 2020/6/17.
|
// Copyright © 2020 yangwang. All rights reserved.
|
//
|
|
import UIKit
|
|
/// 修改密码
|
class MineModifyPasswordVC: YYViewController {
|
|
/// 下一步
|
@IBOutlet weak var button_next: YYButton!
|
|
/// 获取验证码
|
@IBOutlet weak var button_getCode: UIButton!
|
|
/// 验证码
|
@IBOutlet weak var textField_code: YYTextField!
|
|
/// 手机号
|
@IBOutlet weak var label_phone: UILabel!
|
|
let viewModel = MineModifyPasswordViewModel()
|
|
/// 验证按钮倒计时
|
var codeTimeTick: CodeTimeTick = CodeTimeTick()
|
|
override func viewDidLoad() {
|
super.viewDidLoad()
|
|
// Do any additional setup after loading the view.
|
}
|
|
override func viewWillAppear(_ animated: Bool) {
|
super.viewWillAppear(animated)
|
|
label_phone.text = "设置密码需先验证您的手机号\(app.userInfo.phone.safePhone())"
|
}
|
|
override func viewDidDisappear(_ animated: Bool) {
|
super.viewDidDisappear(animated)
|
codeTimeTick.close()
|
}
|
|
//MARK: - UI
|
override func setupViews() {
|
super.setupViews()
|
navigationItem.title = "设置密码"
|
codeTimeTick.config(button: button_getCode, grayColor: UIColor.color(light: UIColor.color(hexString: "#333333",0.39), dark: UIColor.color(hexString: "#333333",0.39)))
|
}
|
|
|
//MARK: - Rx
|
override func bindRx() {
|
super.bindRx()
|
/// 获取验证码
|
button_getCode.rx.tap.subscribe(onNext: {[unowned self] (_) in
|
self.viewModel.sendSMSCode(type: 4)
|
}).disposed(by: disposeBag)
|
|
|
textField_code.rx.text.orEmpty.bind(to: viewModel.code).disposed(by: disposeBag)
|
|
button_next.rx.tap.subscribe(onNext: {[unowned self] (_) in
|
// 验证验证码
|
self.viewModel.checkCaptcha()
|
}).disposed(by: disposeBag)
|
|
/// 发送验证码处理
|
viewModel.sendSMSCodeSubject
|
.subscribe(onNext: {[unowned self] (status) in
|
switch status{
|
case .loading:
|
self.show()
|
break
|
case .success(_ ):
|
self.hide()
|
// 倒计时
|
self.codeTimeTick.start()
|
break
|
case .error(let error):
|
self.hide()
|
alert(text: error.localizedDescription)
|
break
|
}
|
}).disposed(by: disposeBag)
|
|
/// 验证验证码
|
viewModel.requestSubject
|
.subscribe(onNext: {[unowned self] (status) in
|
switch status{
|
case .loading:
|
self.show()
|
break
|
case .success(let model):
|
self.hide()
|
guard let data: CheckSMSCodeModel = model as? CheckSMSCodeModel else{return}
|
if data.ok == 1{ // 正确
|
let vc = MineSetUpPasswordVC()
|
self.yy_push(vc: vc)
|
}else{
|
alert(text: "验证码不正确")
|
}
|
break
|
case .error(let error):
|
self.hide()
|
alert(text: error.localizedDescription)
|
break
|
}
|
}).disposed(by: disposeBag)
|
}
|
}
|