From dd2562d8dc2b01bcdfca3152f82f09efbbd09259 Mon Sep 17 00:00:00 2001
From: zuoxiao <lf_zuo@163.com>
Date: 星期三, 25 六月 2025 19:49:48 +0800
Subject: [PATCH] fix(generallibrary): 优化卡片处理和支付方式获取逻辑- 修复地区卡处理逻辑,增加对"00"类型卡的特殊处理 - 优化用户卡数据解析和显示逻辑,提高容错性 - 改进支付方式获取方法,增加错误处理和日志记录 -调整充值接口调用参数,确保正确传递当前余额等信息- 修复 AreaCard 中 areaNumber 类型,改为字符串处理

---
 baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcReadAdapter.java |   46 ++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 42 insertions(+), 4 deletions(-)

diff --git a/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcReadAdapter.java b/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcReadAdapter.java
index f8d4288..e3d8fbd 100644
--- a/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcReadAdapter.java
+++ b/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcReadAdapter.java
@@ -3,9 +3,13 @@
 import android.app.Activity;
 import android.content.Intent;
 
+import androidx.annotation.NonNull;
+
 import com.dayu.baselibrary.activity.BaseNfcActivity;
 import com.dayu.baselibrary.bean.BaseUserCardCard;
 import com.dayu.baselibrary.utils.ModelUtils;
+
+import org.jetbrains.annotations.NotNull;
 
 import java.util.List;
 
@@ -19,10 +23,15 @@
 
     NativeNfcReadHelper nativeNfcReadHelper;
 
+    @Override
+    public void setIntent(Intent intent) {
+        nativeNfcReadHelper.setIntent(intent);
+    }
+
     public NfcReadAdapter(Intent intent, Activity activity) {
         switch (BaseNfcActivity.adapterType) {
             case ModelUtils.defaultType:
-                nativeNfcReadHelper = new NativeNfcReadHelper(intent, activity);
+                nativeNfcReadHelper = NativeNfcReadHelper.getInstence(intent, activity);
                 break;
         }
 
@@ -60,22 +69,42 @@
 
     @Override
     public String getCardNumber() {
+        return getCardNumber(false);
+    }
+
+
+    public String getCardNumber(boolean isChangePS) {
         switch (BaseNfcActivity.adapterType) {
             case ModelUtils.defaultType:
                 return nativeNfcReadHelper.getCardNumber();
-
-
         }
         return "";
     }
+
+
+    public String getCardNumberNoClose() {
+        switch (BaseNfcActivity.adapterType) {
+            case ModelUtils.defaultType:
+                return nativeNfcReadHelper.getCardNumberNoClose();
+        }
+        return "";
+    }
+
 
     @Override
     public String getCradTypeAndCardNumber() {
         switch (BaseNfcActivity.adapterType) {
             case ModelUtils.defaultType:
                 return nativeNfcReadHelper.getCradTypeAndCardNumber();
+        }
+        return "";
+    }
 
-
+    @Override
+    public String getCradTypeAndCardNumber(int sectorIndex, int blockIndex, int cardTypeIndex) {
+        switch (BaseNfcActivity.adapterType) {
+            case ModelUtils.defaultType:
+                return nativeNfcReadHelper.getCradTypeAndCardNumber(sectorIndex, blockIndex, cardTypeIndex);
         }
         return "";
     }
@@ -108,4 +137,13 @@
         }
         return null;
     }
+
+    @Override
+    public BaseUserCardCard getUserCardData(int sectorIndex, BaseUserCardCard userCardCard) {
+        switch (BaseNfcActivity.adapterType) {
+            case ModelUtils.defaultType:
+                return nativeNfcReadHelper.getUserCardData(sectorIndex, userCardCard);
+        }
+        return null;
+    }
 }

--
Gitblit v1.8.0