From 32d1501e6fe6338eb6dc51c26df7fe0808caac0d Mon Sep 17 00:00:00 2001
From: zuoxiao <lf_zuo@163.com>
Date: 星期四, 26 六月 2025 15:05:28 +0800
Subject: [PATCH] feat(general): 优化写卡成功界面并添加开卡功能- 重新设计写卡成功界面布局,增加滚动视图以支持长文本显示 - 添加开卡功能相关的UI和逻辑,包括工本费和充值金额的展示- 增加用户姓名和卡片信息的显示 - 优化打印凭证的内容和格式 -调整NFC连接逻辑,提高连接成功率

---
 generallibrary/src/main/java/com/dayu/general/activity/ManagerReadActivity.kt |   42 ++++++++++++++++++++++++++++++++----------
 1 files changed, 32 insertions(+), 10 deletions(-)

diff --git a/generallibrary/src/main/java/com/dayu/general/activity/ManagerReadActivity.kt b/generallibrary/src/main/java/com/dayu/general/activity/ManagerReadActivity.kt
index a58bf9a..b5a79ff 100644
--- a/generallibrary/src/main/java/com/dayu/general/activity/ManagerReadActivity.kt
+++ b/generallibrary/src/main/java/com/dayu/general/activity/ManagerReadActivity.kt
@@ -5,6 +5,7 @@
 import android.text.Editable
 import android.text.TextWatcher
 import android.view.View
+import android.widget.Toast
 import androidx.databinding.DataBindingUtil
 import com.dayu.baselibrary.net.subscribers.SubscriberListener
 import com.dayu.baselibrary.utils.BaseCommon
@@ -18,6 +19,7 @@
 import com.dayu.general.tool.BaseCommon.Companion.protocol
 import com.dayu.general.tool.CardCommon
 import com.dayu.general.tool.NfcReadHelper
+import com.dayu.general.tool.NfcWreatHelper
 
 class ManagerReadActivity : BaseNfcActivity() {
 
@@ -196,15 +198,35 @@
     fun getRemark(): String = viewModel.remark.get() ?: ""
 
     override fun onNfcBack(intent: Intent) {
-        // 澶勭悊NFC璇诲彇缁撴灉
-        NfcReadHelper.getInstance(intent, this).getCardNumber().let { cardNumber ->
-            if (cardNumber.isNotEmpty() && !cardNumber.contains(BaseCommon.CARD_TYPE_ERROR2)) {
-                binding.btnNext.visibility = View.VISIBLE
-                binding.dataLayout.visibility = View.VISIBLE
-                binding.scrollReadCard.visibility = View.GONE
-                setCardNumber(cardNumber)
-            } else if (cardNumber.contains(BaseCommon.CARD_TYPE_ERROR2)) {
-                ToastUtil.show("褰撳墠鍗″瘑鐮侀敊璇紝涓嶆槸鏈叕鍙稿崱")
+        val cardNumber = NfcReadHelper.getInstance(intent, this).getCardNumberNoClose()
+        if (cardNumber.isNotEmpty()) {
+            val keyList = ArrayList(NfcReadHelper.getInstance(intent, this).getKeyList())
+            val nfcHelper = NfcWreatHelper.getInstance(intent, this)
+            nfcHelper.setLoadingView(binding.loadingContainer, binding.nfcProgressWheel)
+            // 寮傛淇敼瀵嗙爜
+            nfcHelper.changePSAsync(
+                keyList,
+                false,  // 淇敼涓簍rue锛岀‘淇濆缓绔婲FC杩炴帴
+                true
+            ) { success: Boolean, msg: String? ->
+                if (success) {
+                    // 闅愯棌NFC璇诲崱鐣岄潰
+                    if (cardNumber.isNotEmpty() && !cardNumber.contains(BaseCommon.CARD_TYPE_ERROR2)) {
+                        binding.btnNext.visibility = View.VISIBLE
+                        binding.dataLayout.visibility = View.VISIBLE
+                        binding.scrollReadCard.visibility = View.GONE
+                        setCardNumber(cardNumber)
+                    } else if (cardNumber.contains(BaseCommon.CARD_TYPE_ERROR2)) {
+                        ToastUtil.show("褰撳墠鍗″瘑鐮侀敊璇紝涓嶆槸鏈叕鍙稿崱")
+                    }
+                } else {
+                    // 瀵嗙爜淇敼澶辫触锛屽鐞嗛敊璇儏鍐�
+                    Toast.makeText(
+                        this@ManagerReadActivity,
+                        "鍗$墖鍒濆鍖栧け璐ワ細$msg",
+                        Toast.LENGTH_LONG
+                    ).show()
+                }
             }
         }
     }
@@ -281,7 +303,7 @@
             map["projectNumber"] = projectNumber
         }
         map["protocol"] = protocol
-        map["securityCode"]="A0B1C289"
+        map["securityCode"] = "A0B1C289"
 
         // 浣跨敤姝g‘鐨勭被鍨嬪弬鏁�
         ApiManager.getInstance().requestPostLoading(

--
Gitblit v1.8.0