//
|
// BindPhoneVC.swift
|
// OKProject
|
//
|
// Created by alvin_y on 2020/5/27.
|
// Copyright © 2020 yangwang. All rights reserved.
|
//
|
|
import UIKit
|
|
/// 绑定手机号
|
class BindPhoneVC: YYViewController {
|
|
/// 获取验证码
|
@IBOutlet weak var button_getCode: YYButton!
|
|
/// 确定
|
@IBOutlet weak var button_submit: YYButton!
|
|
/// 验证码
|
@IBOutlet weak var textField_code: YYTextField!
|
|
/// 手机号
|
@IBOutlet weak var textField_phone: YYTextField!
|
|
/// viewModel
|
let viewModel = BindPhoneViewModel()
|
let userInfoViewModel = MineInfoViewModel()
|
|
/// 验证按钮倒计时
|
var codeTimeTick: CodeTimeTick = CodeTimeTick()
|
|
override func viewDidLoad() {
|
super.viewDidLoad()
|
|
// Do any additional setup after loading the view.
|
yy_popBlock = {
|
for item in (self.navigationController?.viewControllers)! {
|
if item.isKind(of: LoginVC.classForCoder()){
|
let owr = item
|
self.navigationController?.popToViewController(owr, animated: true)
|
return
|
}
|
}
|
self.dismiss(animated: true, completion: nil)
|
}
|
}
|
|
override func viewWillAppear(_ animated: Bool) {
|
super.viewWillAppear(animated)
|
yy_isHiddenNavBarLine = true
|
}
|
|
override func viewDidDisappear(_ animated: Bool) {
|
super.viewDidDisappear(animated)
|
codeTimeTick.close()
|
}
|
|
//MARK: - UI
|
override func setupViews() {
|
super.setupViews()
|
navigationItem.title = "完善手机号"
|
// navigationItem.rightBarButtonItem = UIBarButtonItem.yy_creat(title: "跳过", UIFont.systemFont(ofSize: 14), UIColor.color(hexString: "#666666"), target: self, action: #selector(skip)).item
|
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: 3)
|
}).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)
|
|
textField_phone.rx.text.orEmpty
|
.bind(to: viewModel.phoneNumber)
|
.disposed(by: disposeBag)
|
|
textField_code.rx.text.orEmpty
|
.bind(to: viewModel.code)
|
.disposed(by: disposeBag)
|
|
viewModel.requestSubject
|
.subscribe(onNext: {[unowned self] (status) in
|
switch status{
|
case .loading:
|
self.show()
|
break
|
case .success(let data):
|
self.hide()
|
if let model = data as? LoginModel{
|
alert(text: "绑定成功")
|
app.userInfo.phone = self.viewModel.phoneNumber.value
|
app.userInfo.save()
|
|
if !model.token.isEmpty{
|
app.loginInfo.save(model: model)
|
}
|
|
self.userInfoViewModel.queryUserInfo()
|
self.dismiss(animated: true, completion: nil)
|
}
|
break
|
case .error(let error):
|
self.hide()
|
alert(text: error.localizedDescription)
|
break
|
}
|
}).disposed(by: disposeBag)
|
|
button_submit.rx.tap.subscribe(onNext: {[unowned self] (_) in
|
self.viewModel.bindPhone()
|
}).disposed(by: disposeBag)
|
|
}
|
|
/// 跳过
|
@objc func skip(){
|
self.dismiss(animated: true, completion: nil)
|
}
|
|
}
|