From 59237ecbcb9828b1dc762da07f83fa598bd9d6b2 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期二, 03 六月 2025 18:07:01 +0800
Subject: [PATCH] fix(NewCard2Activity): 优化读卡逻辑

---
 qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/net/ApiManager.java |   97 +++++++++++++++++++++++-------------------------
 1 files changed, 46 insertions(+), 51 deletions(-)

diff --git a/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/net/ApiManager.java b/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/net/ApiManager.java
index 846b7b0..65c682d 100644
--- a/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/net/ApiManager.java
+++ b/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/net/ApiManager.java
@@ -1,36 +1,23 @@
 package com.dayu.qiheonlinelibrary.net;
 
 import android.content.Context;
+import android.text.TextUtils;
 
+import com.dayu.baselibrary.business.BusinessProvider;
+import com.dayu.baselibrary.net.subscribers.BaseProgressSubscriber;
+import com.dayu.baselibrary.net.subscribers.ProgressSubscriber;
+import com.dayu.baselibrary.net.subscribers.SubscriberListener;
+import com.dayu.qiheonlinelibrary.bean.BaseResult;
 
-import com.dayu.qiheonlinelibrary.net.subscribers.BaseProgressSubscriber;
-import com.dayu.qiheonlinelibrary.net.subscribers.ProgressSubscriber;
-import com.dayu.qiheonlinelibrary.net.subscribers.SubscriberListener;
 import com.dayu.qiheonlinelibrary.utils.MyJsonParser;
 
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
 import java.util.List;
 import java.util.Map;
-import java.util.Objects;
 
 import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
-import io.reactivex.rxjava3.annotations.NonNull;
 import io.reactivex.rxjava3.core.Observable;
-import io.reactivex.rxjava3.core.Observer;
-import io.reactivex.rxjava3.disposables.Disposable;
 import io.reactivex.rxjava3.functions.Function;
 import io.reactivex.rxjava3.schedulers.Schedulers;
-import okhttp3.MediaType;
-import okhttp3.MultipartBody;
-import okhttp3.RequestBody;
-import okhttp3.ResponseBody;
-import retrofit2.Call;
-import retrofit2.Callback;
-import retrofit2.Response;
 
 
 /**
@@ -42,8 +29,6 @@
 public class ApiManager {
 
     static ApiManager apiManager;
-    //鏂囦欢涓婁紶澶辫触閲嶅娆℃暟
-    int uplodFilerepeatSize = 3;
 
     ApiService apiService;
 
@@ -99,7 +84,11 @@
                 observable = apiService.requestGet(path, params);
             }
         } else {
-            observable = apiService.requestPost(path, params);
+            if (params != null) {
+                observable = apiService.requestPost(path, params);
+            } else {
+                observable = apiService.requestPost(path);
+            }
         }
 
         mySubscriber = new ProgressSubscriber(context, hideLoading, listener);
@@ -110,36 +99,47 @@
                         if (o instanceof BaseResponse) {
                             BaseResponse tem = (BaseResponse) o;
                             BaseResponse<T> response = new BaseResponse<>();
+                            //鏈櫥褰曟垨鐧诲綍瓒呮椂锛岃閲嶆柊鐧诲綍
+                            if (tem.getCode() == 100401) {
+                                if (BusinessProvider.getBusinessProvider() != null) {
+                                    BusinessProvider.getBusinessProvider().startLoginNavigotor.navigateToLogin(context);
+                                }
+                            }
                             response.setCode(tem.getCode());
                             response.setMsg(tem.getMsg());
-
-                            if (tClass != null && tem.getData() instanceof Map) {
-                                try {
+                            if (tClass != null) {
+                                if (TextUtils.isEmpty(tem.getData().toString()) && BaseResult.class.isAssignableFrom(tClass)) {
+                                    response.setData(null);
+                                    return response;
+                                }
+                                if (tem.getData() instanceof Map) {
+                                    try {
 //                                    response.setData(MyJsonParser.getBeanFromMap((Map<String, Object>) tem.getData(), tClass));
-                                    String jsonData = MyJsonParser.getJsontoMap((Map) tem.getData());
-                                    response.setData(MyJsonParser.getBeanFromJson(jsonData, tClass));
-                                } catch (Exception e) {
-                                    e.printStackTrace();
-                                }
-                            } else if (tClass != null && tem.getData() instanceof List) {
-                                try {
-                                    response.setData((T) MyJsonParser.getListByJson(MyJsonParser.getJsonbyList((List) tem.getData()), tClass));
-                                } catch (Exception e) {
-                                    e.printStackTrace();
-                                }
-                            } else if (tClass != null && tem.getData() instanceof Integer) {
-                                response.setData((T) tem.getData());
-                            }
-                            if (tClass != null && tClass.getName() instanceof String && tem.getData() instanceof String) {
-                                try {
+                                        String jsonData = MyJsonParser.getJsontoMap((Map) tem.getData());
+                                        response.setData(MyJsonParser.getBeanFromJson(jsonData, tClass));
+                                    } catch (Exception e) {
+                                        e.printStackTrace();
+                                    }
+                                } else if (tem.getData() instanceof List) {
+                                    try {
+                                        response.setData((T) MyJsonParser.getListByJson(MyJsonParser.getJsonbyList((List) tem.getData()), tClass));
+                                    } catch (Exception e) {
+                                        e.printStackTrace();
+                                    }
+                                } else if (tem.getData() instanceof Integer) {
                                     response.setData((T) tem.getData());
-                                } catch (Exception e) {
-                                    e.printStackTrace();
+                                } else if (tem.getData() instanceof Boolean) {
+                                    response.setData((T) tem.getData());
                                 }
+                                if (tClass.getName() instanceof String && tem.getData() instanceof String) {
+                                    try {
+                                        response.setData((T) tem.getData());
+                                    } catch (Exception e) {
+                                        e.printStackTrace();
+                                    }
+                                }
+                                return response;
                             }
-                            return response;
-
-
                         }
 
                         return null;
@@ -150,11 +150,6 @@
                 .subscribe(mySubscriber);
 
     }
-
-
-
-
-
 
 
 }
\ No newline at end of file

--
Gitblit v1.8.0