From 22494af577e21a930abef309f2f60c03c9615bd1 Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期五, 07 七月 2023 18:16:55 +0800 Subject: [PATCH] 2023年07月07日18:16:52 --- app/src/main/java/com/hdl/photovoltaic/internet/HttpClient.java | 61 ++++++++++++++++++++++++++++-- 1 files changed, 57 insertions(+), 4 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 d8fce79..850f6cb 100644 --- a/app/src/main/java/com/hdl/photovoltaic/internet/HttpClient.java +++ b/app/src/main/java/com/hdl/photovoltaic/internet/HttpClient.java @@ -8,7 +8,14 @@ import com.google.gson.Gson; import com.google.gson.JsonObject; import com.google.gson.reflect.TypeToken; +import com.hdl.hdlhttp.HxHttp; import com.hdl.hdlhttp.utils.GsonConvert; +import com.hdl.linkpm.sdk.core.api.HDLCloudUserApi; +import com.hdl.linkpm.sdk.core.exception.HDLException; +import com.hdl.linkpm.sdk.core.response.HDLResponse; +import com.hdl.linkpm.sdk.user.bean.HDLLoginBean; +import com.hdl.linkpm.sdk.user.callback.ILoginCallBack; +import com.hdl.linkpm.sdk.utils.HDLExceptionSubmitUtils; import com.hdl.photovoltaic.bean.HttpResponsePack; import com.hdl.photovoltaic.config.AppConfigManage; import com.hdl.photovoltaic.config.UserConfigManage; @@ -23,6 +30,7 @@ import java.util.Map; import java.util.Objects; +import io.reactivex.rxjava3.disposables.Disposable; import okhttp3.Call; import okhttp3.Callback; import okhttp3.FormBody; @@ -46,6 +54,52 @@ } return sHttpClient; + } + + /** + * 璇锋眰鏈嶅姟鍣� + * 搴曞眰鏂规硶,寮曠敤搴撶殑鏂规硶 + * + * @param api 璇锋眰鎺ュ彛 + * @param body 璇锋眰鍙傛暟 + * @param callBack 鍥炶皟 + * @return - + */ + private Disposable request(String api, String body, BaseSuccessFailureCallBeak callBack) { + String requestUrl = HDLCloudUserApi.getRequestUrl(api); + return HxHttp.builder() + .url(requestUrl) + .raw(body) + .build() + .post() + .subscribeWith(new HDLResponse<HttpResponsePack>() { + @Override + public void onResponse(HttpResponsePack response) { + if (callBack != null) { + callBack.onSuccess(response); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, body, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + + } + + /** + * 璇锋眰鏈嶅姟鍣� + * + * @param api 璇锋眰鎺ュ彛 + * @param body 璇锋眰鍙傛暟(json) + * @param callBack 鍥炶皟 + */ + public Disposable requestHttp(String api, String body, BaseSuccessFailureCallBeak callBack) { + return request(api, body, callBack); } /** @@ -86,12 +140,11 @@ @Override public void run() { try { - HdlLogLogic.print("http->鍙戦��->", fullUrl + "\r\n" + json); OkHttpClient okHttpClient = new OkHttpClient(); RequestBody requestBody = FormBody.create(MediaType.parse("application/json; charset=utf-8"), getJson(json)); final Request request = new Request.Builder() - .url(fullUrl)//璇锋眰鐨剈rl// + .url(fullUrl)//璇锋眰鐨剈rl .addHeader("Authorization", UserConfigManage.getInstance().getHeaderPrefix() + UserConfigManage.getInstance().getToken()) .post(requestBody) .build(); @@ -100,8 +153,9 @@ if (response.isSuccessful()) { String s = Objects.requireNonNull(response.body()).string(); HttpResponsePack httpResponsePack = new Gson().fromJson(s, HttpResponsePack.class); - baseSuccessCallBeak.onSuccess(httpResponsePack); HdlLogLogic.print("http->鍥炲->", response.request().url() + "\r\n" + s); + baseSuccessCallBeak.onSuccess(httpResponsePack); + } else { //throw new IOException("Unexpected code " + response); baseSuccessCallBeak.onFailure(new Exception()); @@ -112,7 +166,6 @@ call.enqueue(new Callback() {//寮傛 @Override public void onFailure(@NonNull Call call, @NonNull IOException e) { - System.out.println("澶辫触" + e.toString()); HdlLogLogic.print("http->鍥炲->", "\r\n" + e.getMessage()); } -- Gitblit v1.8.0