From 642175113bf6f2c90894e689dacda50278cad570 Mon Sep 17 00:00:00 2001 From: 杨锴 <841720330@qq.com> Date: 星期四, 19 九月 2024 15:50:11 +0800 Subject: [PATCH] complete most UI & Mock API --- XQMuse/Root/Me/VC/AddBankInfoVC.swift | 101 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 101 insertions(+), 0 deletions(-) diff --git a/XQMuse/Root/Me/VC/AddBankInfoVC.swift b/XQMuse/Root/Me/VC/AddBankInfoVC.swift index d3e7421..772b321 100644 --- a/XQMuse/Root/Me/VC/AddBankInfoVC.swift +++ b/XQMuse/Root/Me/VC/AddBankInfoVC.swift @@ -7,11 +7,73 @@ import UIKit import QMUIKit +import RxRelay +import RxSwift +import JQTools + +let AddBank_Noti = Notification.Name.init("AddBank_Noti") class AddBankInfoVC: BaseVC { + struct AddBankRequestModel{ + var bankName = BehaviorRelay<String>(value:"") + var bankNo = BehaviorRelay<String>(value:"") + var holderName = BehaviorRelay<String>(value:"") + var idCard = BehaviorRelay<String>(value:"") + var phone = BehaviorRelay<String>(value:"") + var code = BehaviorRelay<String>(value:"") + + func isAuth()->Bool{ + guard !bankName.value.isEmpty else{ + alertError(msg: "请输入开户行");return false + } + guard !bankNo.value.isEmpty else{ + alertError(msg: "请输入卡号");return false + } + guard !holderName.value.isEmpty else{ + alertError(msg: "请输入持卡人");return false + } + guard !idCard.value.isEmpty else{ + alertError(msg: "请输入身份证号");return false + } + guard idCard.value.jq_idCard() else { + alertError(msg: "请输入正确的身份证号");return false + } + guard !phone.value.isEmpty else{ + alertError(msg: "请输入手机号");return false + } + guard phone.value.jq_isPhone else { + alertError(msg: "请输入正确的手机号");return false + } + guard !code.value.isEmpty else{ + alertError(msg: "请输入验证码");return false + } + guard code.value.count == 6 else { + alertError(msg: "请输入正确的验证码");return false + } + return true + } + + func toRequest()->Dictionary<String,Any>{ + return ["bankName":bankName.value, + "cardNo":bankNo.value, + "cardholder":holderName.value, + "identityCard":idCard.value, + "cellPhone":phone.value, + "code":code.value] + } + } + + @IBOutlet weak var tf_bankName: UITextField! + @IBOutlet weak var tf_cardNo: QMUITextField! + @IBOutlet weak var tf_holderName: QMUITextField! @IBOutlet weak var tf_idcard: QMUITextField! + @IBOutlet weak var tf_phone: QMUITextField! @IBOutlet weak var btn_add: UIButton! + @IBOutlet weak var tf_code: QMUITextField! + + private var requestModel = AddBankRequestModel() + override func viewDidLoad() { super.viewDidLoad() title = "添加银行卡" @@ -23,9 +85,48 @@ tf_idcard.inputView = idCardView } + override func setRx() { + tf_bankName.rx.text.orEmpty.bind(to: requestModel.bankName).disposed(by: disposeBag) + tf_cardNo.rx.text.orEmpty.bind(to: requestModel.bankNo).disposed(by: disposeBag) + tf_holderName.rx.text.orEmpty.bind(to: requestModel.holderName).disposed(by: disposeBag) + tf_idcard.rx.text.orEmpty.bind(to: requestModel.idCard).disposed(by: disposeBag) + tf_phone.rx.text.orEmpty.bind(to: requestModel.phone).disposed(by: disposeBag) + tf_code.rx.text.orEmpty.bind(to: requestModel.code).disposed(by: disposeBag) + } + override func setUI() { view.backgroundColor = UIColor(hexString: "f6f6f6") btn_add.localGradientColor(cornerRadius: 20) } + + @IBAction func addhandleAction(_ sender: UIButton) { + view.endEditing(true) + if requestModel.isAuth(){ + Services.addBank(requestModel).subscribe(onNext: {data in + alertSuccess(msg: "添加成功") + NotificationCenter.default.post(name: AddBank_Noti, object: nil) + DispatchQueue.main.asyncAfter(delay: 1.0) { + self.navigationController?.popViewController() + } + }).disposed(by: disposeBag) + } + } + + + @IBAction func sendCodeAction(_ sender: UIButton) { + guard !requestModel.phone.value.isEmpty else { + alertError(msg: "请输入手机号");return + } + + Services.sendCode(type: .addBank).subscribe(onNext: {_ in + 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) + } + }).disposed(by: disposeBag) + } } -- Gitblit v1.7.1