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/tool/NfcWreatHelper.kt |   42 ++++++++++++++++++++++++++++--------------
 1 files changed, 28 insertions(+), 14 deletions(-)

diff --git a/generallibrary/src/main/java/com/dayu/general/tool/NfcWreatHelper.kt b/generallibrary/src/main/java/com/dayu/general/tool/NfcWreatHelper.kt
index 65fd920..c4ad095 100644
--- a/generallibrary/src/main/java/com/dayu/general/tool/NfcWreatHelper.kt
+++ b/generallibrary/src/main/java/com/dayu/general/tool/NfcWreatHelper.kt
@@ -78,24 +78,20 @@
      * @param b   涔﹀啓鐨勫潡(浠�0寮�濮嬫暟)
      * @param callback 鎿嶄綔缁撴灉鍥炶皟
      */
-    fun writeDataAsync(str: ByteArray?, a: Int, b: Int, callback: (Boolean) -> Unit): Disposable {
+    fun writeDataAsync(str: ByteArray?, a: Int, b: Int, callback: NFCCallBack): Disposable {
         showLoading()
         val disposable = Observable.fromCallable {
-            writeData(str, a, b, object : NFCCallBack {
-                override fun isSusses(flag: Boolean, msg: String?) {
-                    // 杩欎釜鍥炶皟鍦↖O绾跨▼涓紝涓嶅鐞哢I鐩稿叧鎿嶄綔
-                }
-            })
+            writeData(str, a, b, callback)
         }
         .subscribeOn(Schedulers.io())
         .observeOn(AndroidSchedulers.mainThread())
         .subscribe({ result ->
             hideLoading()
-            callback(result)
+            callback.isSusses(result, if (result) "鍐欏崱鎴愬姛" else "鍐欏崱澶辫触")
         }, { error ->
             hideLoading()
             error.printStackTrace()
-            callback(false)
+            callback.isSusses(false, "鍐欏崱寮傚父: ${error.message}")
         })
         
         compositeDisposable.add(disposable)
@@ -112,33 +108,35 @@
      */
     fun writeData(str: ByteArray?, a: Int, b: Int, callBack: NFCCallBack): Boolean {
         try {
-            return adapter.writeData(str, a, b, false, callBack)
+            return adapter.writeData(str, a, b, true, callBack)
         } catch (e: Exception) {
             e.printStackTrace()
         }
         return false
     }
 
+
+
     /**
      * 鍐欏崱(寮傛)
      *
      * @param userCard 鐢ㄦ埛鍗″唴瀹�
-     * @param callback 鎿嶄綔缁撴灉鍥炶皟
+     * @param callBack 鎿嶄綔缁撴灉鍜屾秷鎭洖璋�
      */
-    fun writeUserDataAsync(userCard: UserCard, callback: (Boolean) -> Unit): Disposable {
+    fun writeUserDataAsync(userCard: UserCard, callBack: NFCCallBack): Disposable {
         showLoading()
         val disposable = Observable.fromCallable {
-            writeUserData(userCard)
+            writeUserData(userCard, callBack)
         }
         .subscribeOn(Schedulers.io())
         .observeOn(AndroidSchedulers.mainThread())
         .subscribe({ result ->
             hideLoading()
-            callback(result)
+            // 缁撴灉宸茬粡鍦╳riteUserData涓�氳繃callBack鍥炶皟浜�
         }, { error ->
             hideLoading()
             error.printStackTrace()
-            callback(false)
+            callBack.isSusses(false, "寮傛鍐欏崱寮傚父: ${error.message}")
         })
         
         compositeDisposable.add(disposable)
@@ -161,6 +159,22 @@
     }
 
     /**
+     * 鍐欏崱
+     *
+     * @param userCard 鐢ㄦ埛鍗″唴瀹�
+     * @param callBack 鍥炶皟鎺ュ彛
+     */
+    fun writeUserData(userCard: UserCard, callBack: NFCCallBack): Boolean {
+        try {
+            return adapter.writeUserData(userCard, 7, callBack)
+        } catch (e: java.lang.Exception) {
+            e.printStackTrace()
+            callBack.isSusses(false, "鍐欏崱寮傚父: ${e.message}")
+        }
+        return false
+    }
+
+    /**
      * 淇敼瀵嗙爜(寮傛)
      *
      * @param ps 瀵嗙爜鍒楄〃

--
Gitblit v1.8.0