From 718f31c92e2029d05260810435a2c70cef6e6ce5 Mon Sep 17 00:00:00 2001
From: lmw <125975490@qq.com>
Date: 星期四, 24 四月 2025 10:45:55 +0800
Subject: [PATCH] save

---
 app/src/main/java/com/sinata/xqmuse/ui/mine/BindCardActivity.kt |   81 +++++++++++++++++++---------------------
 1 files changed, 39 insertions(+), 42 deletions(-)

diff --git a/app/src/main/java/com/sinata/xqmuse/ui/mine/BindCardActivity.kt b/app/src/main/java/com/sinata/xqmuse/ui/mine/BindCardActivity.kt
index 04dab7a..829389c 100644
--- a/app/src/main/java/com/sinata/xqmuse/ui/mine/BindCardActivity.kt
+++ b/app/src/main/java/com/sinata/xqmuse/ui/mine/BindCardActivity.kt
@@ -1,33 +1,39 @@
 package com.sinata.xqmuse.ui.mine
 
-import android.app.Activity
-import android.content.Intent
-import cn.sinata.xldutils.activity.SelectPhotoDialog
+import android.os.CountDownTimer
+import cn.sinata.xldutils.utils.isValidIdCard
 import cn.sinata.xldutils.utils.isValidPhone
 import cn.sinata.xldutils.utils.myToast
 import com.sinata.xqmuse.R
 import com.sinata.xqmuse.network.HttpManager
 import com.sinata.xqmuse.network.request
 import com.sinata.xqmuse.ui.TransparentStatusBarActivity
-import com.sinata.xqmuse.utils.extention.uploadWithCompress
-import com.sinata.xqmuse.utils.interfaces.StringCallback
 import kotlinx.android.synthetic.main.activity_bind_card.*
-import org.jetbrains.anko.startActivityForResult
 
 class BindCardActivity : TransparentStatusBarActivity() {
     override fun setContentView() = R.layout.activity_bind_card
 
-    private var cardImg = ""
+    private lateinit var timer: CountDownTimer
 
     override fun initClick() {
-        iv_photo.setOnClickListener {
-            startActivityForResult<SelectPhotoDialog>(1)
+        tv_code.setOnClickListener {
+            val phone = et_phone.text.toString()
+            if (!phone.isValidPhone())
+                myToast("请输入正确的手机号")
+            else {
+                tv_code.isEnabled = false
+                HttpManager.getCode(phone, 6).request(this@BindCardActivity, success = { _, _ ->
+                    timer.start()
+                }) { _, _ ->
+                    tv_code.isEnabled = true
+                }
+            }
         }
 
         tv_action.setOnClickListener {
-            val name = et_name.text.toString()
-            if (name.isNullOrEmpty()){
-                myToast("请输入开户名")
+            val bank = et_bank.text.toString()
+            if (bank.isNullOrEmpty()){
+                myToast("请输入开户行")
                 return@setOnClickListener
             }
             val num = et_num.text.toString()
@@ -35,9 +41,14 @@
                 myToast("请输入卡号")
                 return@setOnClickListener
             }
-            val bank = et_bank.text.toString()
-            if (bank.isNullOrEmpty()){
-                myToast("请输入开户行")
+            val name = et_name.text.toString()
+            if (name.isNullOrEmpty()){
+                myToast("请输入持卡人姓名")
+                return@setOnClickListener
+            }
+            val idCard = et_id_card.text.toString()
+            if (!idCard.isValidIdCard()){
+                myToast("请输入正确的身份证号")
                 return@setOnClickListener
             }
             val phone = et_phone.text.toString()
@@ -45,13 +56,15 @@
                 myToast("请输入正确的手机号")
                 return@setOnClickListener
             }
-            if (cardImg.isEmpty()){
-                myToast("请上传银行卡正面照")
+            val code = et_code.text.toString()
+            if (code.length!=6){
+                myToast("请输入正确的验证码")
                 return@setOnClickListener
             }
             tv_action.isEnabled = false
-            HttpManager.updateBankCard(name,phone,num,bank,cardImg).request(this,success = {_,_->
-                myToast("绑定成功")
+            HttpManager.addBank(bank, name, phone, idCard, num,code).request(this,success = {_,_->
+                setResult(RESULT_OK)
+                myToast("添加成功")
                 finish()
             }){_,_->
                 tv_action.isEnabled = true
@@ -60,31 +73,15 @@
     }
 
     override fun initView() {
-        getData()
-    }
-
-    private fun getData() {
-        HttpManager.getBankInfo().request(this){_,data->
-            if (!data?.bankCard.isNullOrEmpty()){
-                et_name.setText(data!!.accountName)
-                et_num.setText(data.bankCard)
-                et_bank.setText(data.bankName)
-                et_phone.setText(data.bankPhone)
-                cardImg = data.bankCardImg
-                iv_photo.setImageURI(cardImg)
+        timer = object : CountDownTimer(60000, 1000) {
+            override fun onFinish() {
+                tv_code.isEnabled = true
+                tv_code.text = "重新获取"
             }
-        }
-    }
 
-    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
-        super.onActivityResult(requestCode, resultCode, data)
-        if (resultCode == Activity.RESULT_OK&&data!=null){
-            data.getStringExtra("path")!!.uploadWithCompress(this, object : StringCallback {
-                override fun onResult(rst: String) {
-                    cardImg = rst
-                    iv_photo.setImageURI(rst)
-                }
-            })
+            override fun onTick(millisUntilFinished: Long) {
+                tv_code.text = "${millisUntilFinished / 1000}s后可重新获取"
+            }
         }
     }
 }

--
Gitblit v1.7.1