From 9c3cb299d08649b43ccbb93a94163ebe9505c064 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期一, 19 八月 2024 09:49:04 +0800
Subject: [PATCH] 优化代码

---
 qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/net/ApiManager.java |   76 +++++++++++++++++++++++---------------
 1 files changed, 46 insertions(+), 30 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..89194be 100644
--- a/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/net/ApiManager.java
+++ b/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/net/ApiManager.java
@@ -1,8 +1,12 @@
 package com.dayu.qiheonlinelibrary.net;
 
 import android.content.Context;
+import android.content.Intent;
+import android.text.TextUtils;
 
 
+import com.dayu.baselibrary.business.BusinessProvider;
+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;
@@ -99,7 +103,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 +118,49 @@
                         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 +171,6 @@
                 .subscribe(mySubscriber);
 
     }
-
-
-
-
-
 
 
 }
\ No newline at end of file

--
Gitblit v1.8.0