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