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 类型,改为字符串处理
---
generallibrary/src/main/java/com/dayu/general/net/ApiManager.kt | 30 +++++++++++++++++++++++++-----
1 files changed, 25 insertions(+), 5 deletions(-)
diff --git a/generallibrary/src/main/java/com/dayu/general/net/ApiManager.kt b/generallibrary/src/main/java/com/dayu/general/net/ApiManager.kt
index 79e1dae..4e4827c 100644
--- a/generallibrary/src/main/java/com/dayu/general/net/ApiManager.kt
+++ b/generallibrary/src/main/java/com/dayu/general/net/ApiManager.kt
@@ -159,13 +159,33 @@
}
is List<*> -> {
try {
- @Suppress("UNCHECKED_CAST")
- response.content = MyJsonParser.getListByJson(
- MyJsonParser.getJsonbyList(content),
- tClass
- ) as T
+ // 鐩存帴澶勭悊List绫诲瀷鐨刢ontent锛屼笉闇�瑕侀噸鏂拌В鏋�
+ when {
+ // 濡傛灉鐩爣绫诲瀷鏄疞ist鐨勫瓙绫伙紙濡侾aymentMethodListResponse锛夛紝鐩存帴杞崲
+ List::class.java.isAssignableFrom(tClass) -> {
+ @Suppress("UNCHECKED_CAST")
+ response.content = content as T
+ }
+ // 濡傛灉content鏄疢ap鍒楄〃锛屽皾璇曡浆鎹负鐩爣瀵硅薄鍒楄〃
+ content.isNotEmpty() && content[0] is Map<*, *> -> {
+ val jsonData = MyJsonParser.getJsonbyList(content)
+ @Suppress("UNCHECKED_CAST")
+ response.content = MyJsonParser.getListByJson(jsonData, tClass) as T
+ }
+ else -> {
+ @Suppress("UNCHECKED_CAST")
+ response.content = content as T
+ }
+ }
} catch (e: Exception) {
Log.e(TAG, "Error parsing list content", e)
+ // 濡傛灉瑙f瀽澶辫触锛屽皾璇曠洿鎺ヨ浆鎹�
+ try {
+ @Suppress("UNCHECKED_CAST")
+ response.content = content as T
+ } catch (e2: Exception) {
+ Log.e(TAG, "Failed to cast content directly", e2)
+ }
}
}
is Int, is String, is Boolean -> {
--
Gitblit v1.8.0