From 14b15539a8fbbce1145197993e0c062400174ef1 Mon Sep 17 00:00:00 2001
From: zuoxiao <lf_zuo@163.com>
Date: 星期四, 26 六月 2025 16:51:12 +0800
Subject: [PATCH] docs(baselibrary): 更新 NativeNfcReadHelper 类文档
---
generallibrary/src/main/java/com/dayu/general/bean/card/AreaCard.kt | 38 ++++++++++++++++++--------------------
1 files changed, 18 insertions(+), 20 deletions(-)
diff --git a/generallibrary/src/main/java/com/dayu/general/bean/card/AreaCard.kt b/generallibrary/src/main/java/com/dayu/general/bean/card/AreaCard.kt
index 4684ee3..5da0906 100644
--- a/generallibrary/src/main/java/com/dayu/general/bean/card/AreaCard.kt
+++ b/generallibrary/src/main/java/com/dayu/general/bean/card/AreaCard.kt
@@ -2,6 +2,7 @@
import com.dayu.baselibrary.tools.BcdUtil
import com.dayu.baselibrary.tools.HexUtil
+import com.dayu.general.tool.CardCommon
import java.io.Serializable
/**
@@ -10,14 +11,10 @@
*/
class AreaCard : BaseCard(), Serializable {
companion object {
- const val CARD_TYPE = "B0" // 鍗$被鍨嬪浐瀹氫负0xB0
- const val IDENTIFY_CODE_A0 = 0xA0.toByte() // 璇嗗埆鐮丄0
- const val IDENTIFY_CODE_B1 = 0xB1.toByte() // 璇嗗埆鐮丅1
- const val IDENTIFY_CODE_C2 = 0xC2.toByte() // 璇嗗埆鐮丆2
- const val IDENTIFY_CODE_89 = 0x89.toByte() // 璇嗗埆鐮�89
+ const val CARD_TYPE = CardCommon.REGION_CARD // 鍗$被鍨嬪浐瀹氫负0xB0
}
- var areaNumber: Int = 0 // 鍥藉琛屾斂鍖哄煙鍙�(12浣岯CD,绮剧‘鍒版潙)
+ var areaNumber: String = "" // 鍥藉琛屾斂鍖哄煙鍙�(12浣岯CD,绮剧‘鍒版潙)
var projectCode: Int = 0 // 椤圭洰缂栫爜(HEX 1-255)
/**
@@ -38,20 +35,21 @@
val areaCard = AreaCard()
// 瑙f瀽绗�0鍧�
val zero = data[0]
-
+
// 瑙f瀽鍥藉琛屾斂鍖哄煙鍙�(0-5浣�)
val areaCodeBytes = zero.copyOfRange(0, 6)
- areaCard.areaNumber = BcdUtil.bcdToStr(areaCodeBytes).toInt()
-
+ areaCard.areaNumber = BcdUtil.bcdToStr(areaCodeBytes)
+
// 瑙f瀽椤圭洰缂栫爜(6浣�)
- areaCard.projectCode = HexUtil.get16To10LowHightByBytes(byteArrayOf(zero[6]))
-
+ areaCard.projectCode = HexUtil.get16to10(HexUtil.byteToHex(zero[6]))
+
// 楠岃瘉鍗$被鍨嬪拰璇嗗埆鐮�
if (HexUtil.byteToHex(zero[8]) != CARD_TYPE ||
zero[9] != IDENTIFY_CODE_A0 ||
zero[10] != IDENTIFY_CODE_B1 ||
zero[11] != IDENTIFY_CODE_C2 ||
- zero[12] != IDENTIFY_CODE_89) {
+ zero[12] != IDENTIFY_CODE_89
+ ) {
return null
}
@@ -70,28 +68,28 @@
val data = ByteArray(16)
try {
// 璁剧疆鍥藉琛屾斂鍖哄煙鍙�(BCD鏍煎紡锛�6瀛楄妭锛�0-5浣�)
- val areaCodeBytes = BcdUtil.strToBcd(String.format("%012d", areaNumber))
+ val areaCodeBytes = BcdUtil.strToBcd(areaNumber)
System.arraycopy(areaCodeBytes, 0, data, 0, 6)
-
+
// 璁剧疆椤圭洰缂栫爜(6浣�)
- data[6] = projectCode.toByte()
-
+ data[6] = HexUtil.hexToByte(HexUtil.get10to16(projectCode))
+
// 璁剧疆澶囩敤浣�(7浣�)
data[7] = 0x00
-
+
// 璁剧疆鍗$被鍨�(8浣�)
data[8] = HexUtil.hexToByte(CARD_TYPE)
-
+
// 璁剧疆璇嗗埆鐮�(9-12浣�)
data[9] = IDENTIFY_CODE_A0
data[10] = IDENTIFY_CODE_B1
data[11] = IDENTIFY_CODE_C2
data[12] = IDENTIFY_CODE_89
-
+
// 璁剧疆澶囩敤浣�(13-14浣�)
data[13] = 0x00
data[14] = 0x00
-
+
// 璁剧疆鏍¢獙鍜�(15浣�)
data[15] = getByteSum(data)
} catch (e: Exception) {
--
Gitblit v1.8.0