From ee4f83fd6c214f67d6abcaf47e6bf5f913825e52 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期三, 04 三月 2026 13:24:31 +0800
Subject: [PATCH] 2026年03月04日13:24:24
---
app/src/main/java/com/hdl/photovoltaic/internet/HttpClient.java | 77 +++++++++++++++++++++++++++++++++++++-
1 files changed, 74 insertions(+), 3 deletions(-)
diff --git a/app/src/main/java/com/hdl/photovoltaic/internet/HttpClient.java b/app/src/main/java/com/hdl/photovoltaic/internet/HttpClient.java
index 0d3cd85..f2a01db 100644
--- a/app/src/main/java/com/hdl/photovoltaic/internet/HttpClient.java
+++ b/app/src/main/java/com/hdl/photovoltaic/internet/HttpClient.java
@@ -29,6 +29,8 @@
import com.hdl.photovoltaic.utils.LocalManageUtil;
import com.hdl.photovoltaic.utils.Md5Utils;
+import org.jetbrains.annotations.NotNull;
+
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
@@ -36,11 +38,13 @@
import java.util.List;
import java.util.Map;
import java.util.Objects;
+import java.util.concurrent.TimeUnit;
import io.reactivex.rxjava3.disposables.Disposable;
import io.reactivex.rxjava3.functions.Consumer;
import okhttp3.Call;
import okhttp3.Callback;
+import okhttp3.ConnectionPool;
import okhttp3.FormBody;
import okhttp3.MediaType;
import okhttp3.OkHttpClient;
@@ -99,20 +103,24 @@
return "";
}
-
+ private final OkHttpClient client = new OkHttpClient.Builder()
+ .connectTimeout(30, TimeUnit.SECONDS)
+ .readTimeout(30, TimeUnit.SECONDS)
+ .writeTimeout(30, TimeUnit.SECONDS)
+// .connectionPool(new ConnectionPool(10, 5, TimeUnit.MINUTES)) // 杩炴帴姹犲鐢�
+ .build();
/**
* 鑾峰彇json璧勬簮鐢ㄧ殑
*
* @param url 鍦板潃
* @param callBack 鍥炶皟
*/
- public void requestJsonHttpGet(String url, CloudCallBeak<String> callBack) {
+ public void requestJsonHttpGetSync(String url, CloudCallBeak<String> callBack) {
if (TextUtils.isEmpty(url)) {
if (callBack != null) {
callBack.onSuccess("");
}
}
-
HdlThreadLogic.runSubThread(new Runnable() {
@Override
public void run() {
@@ -149,7 +157,70 @@
});
}
+ public void requestJsonHttpGet(String url, CloudCallBeak<String> callBack) {
+ if (TextUtils.isEmpty(url)) {
+ if (callBack != null) {
+ callBack.onSuccess("");
+ }
+ return;
+ }
+ Request request = new Request.Builder()
+ .url(url)
+ .addHeader("Accept-Language", UserConfigManage.getInstance().getCurrentAppLanguage())
+ .build();
+
+ //浣跨敤寮傛璇锋眰 enqueue()
+ client.newCall(request).enqueue(new Callback() {
+ @Override
+ public void onFailure(@NotNull Call call, @NotNull IOException e) {
+ if (callBack != null) {
+ // 鍒囧洖涓荤嚎绋嬪洖璋冿紙鍥犱负 callBack 鍙兘娑夊強 UI 鎿嶄綔锛�
+ HdlThreadLogic.runMainThread(new Runnable() {
+ @Override
+ public void run() {
+ callBack.onFailure(new HDLException(-20002, e.getMessage()));
+
+ }
+ });
+
+ }
+ }
+
+ @Override
+ public void onResponse(@NotNull Call call, @NotNull Response response) {
+ try { // 鑷姩鍏抽棴
+ if (response.isSuccessful() && response.body() != null) {
+ String str = response.body().string();
+ if (callBack != null) {
+ // 猸� 鍒囧洖涓荤嚎绋�
+ HdlThreadLogic.runMainThread(() ->
+ callBack.onSuccess(str)
+ );
+ }
+ } else {
+ if (callBack != null) {
+ HdlThreadLogic.runMainThread(() ->
+ callBack.onSuccess("")
+ );
+ }
+ }
+ } catch (IOException e) {
+ if (callBack != null) {
+ HdlThreadLogic.runMainThread(new Runnable() {
+ @Override
+ public void run() {
+ callBack.onFailure(new HDLException(-20002, e.getMessage()));
+
+ }
+ });
+ }
+ }finally {
+ response.close();
+ }
+ }
+ });
+ }
/**
* 璇锋眰鏈嶅姟鍣�(get)
--
Gitblit v1.8.0