From 2231f7cebd5adee39f2bb983c812e7b6a1d19659 Mon Sep 17 00:00:00 2001 From: HuangHai <10402852@qq.com> Date: Tue, 29 Apr 2025 11:49:37 +0800 Subject: [PATCH 1/2] 'commit' --- dsGw/src/main/resources/application_dev.yaml | 3 ++- dsGw/src/main/resources/application_pro.yaml | 4 ++++ nginx/logs/nginx.pid | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/dsGw/src/main/resources/application_dev.yaml b/dsGw/src/main/resources/application_dev.yaml index 72e990ab..1da7bd04 100644 --- a/dsGw/src/main/resources/application_dev.yaml +++ b/dsGw/src/main/resources/application_dev.yaml @@ -22,8 +22,9 @@ redis: whitelist: # 全局变量获取 - /dsBase/global/getGlobalValueByKey + - /dsBase/global/getGlobalByCodes + - /dsBase/loginPerson/getCaptcha # 登录 - /dsBase/loginPerson/doLogin - - /dsBase/loginPerson/doLoginV2 # 登录首页 - /dsBase/ diff --git a/dsGw/src/main/resources/application_pro.yaml b/dsGw/src/main/resources/application_pro.yaml index 9e484338..d942f392 100644 --- a/dsGw/src/main/resources/application_pro.yaml +++ b/dsGw/src/main/resources/application_pro.yaml @@ -21,6 +21,10 @@ redis: whitelist: # 全局变量获取 - /dsBase/global/getGlobalValueByKey + - /dsBase/global/getGlobalByCodes + - /dsBase/loginPerson/getCaptcha # 登录 - /dsBase/loginPerson/doLogin + # 登录首页 + - /dsBase/ diff --git a/nginx/logs/nginx.pid b/nginx/logs/nginx.pid index 27b54373..d3b87d11 100644 --- a/nginx/logs/nginx.pid +++ b/nginx/logs/nginx.pid @@ -1 +1 @@ -33376 +32728 From 34d4ee5cc4e42d310e2f63abecc3a24461cfdcec Mon Sep 17 00:00:00 2001 From: HuangHai <10402852@qq.com> Date: Tue, 29 Apr 2025 11:53:48 +0800 Subject: [PATCH 2/2] 'commit' --- .../com/dsideal/gw/Handler/RouterHandler.java | 39 +++++++++++++++++-- 1 file changed, 35 insertions(+), 4 deletions(-) diff --git a/dsGw/src/main/java/com/dsideal/gw/Handler/RouterHandler.java b/dsGw/src/main/java/com/dsideal/gw/Handler/RouterHandler.java index 82fbfc70..37600119 100644 --- a/dsGw/src/main/java/com/dsideal/gw/Handler/RouterHandler.java +++ b/dsGw/src/main/java/com/dsideal/gw/Handler/RouterHandler.java @@ -10,6 +10,7 @@ import com.jfinal.upload.MultipartRequest; import com.jfinal.upload.UploadFile; import io.jsonwebtoken.Claims; import okhttp3.*; +import org.apache.commons.io.IOUtils; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -55,16 +56,46 @@ public class RouterHandler extends Handler { private void executeRequest(Request request, HttpServletResponse res) throws IOException { Response response = OK_HTTP_CLIENT.newCall(request).execute(); if (response.isSuccessful()) { - String responseBody = null; - if (response.body() != null) { - responseBody = response.body().string(); + ResponseBody body = response.body(); + if (body != null) { + // 获取Content-Type + String contentType = response.header("Content-Type"); + + if (contentType != null && contentType.startsWith("image/")) { + // 处理图片响应 + handleImageResponse(res, body, contentType); + } else { + // 处理文本响应 + handleTextResponse(res, body); + } + } else { + renderJson(res, new RetBean(RetBean.ERROR, "响应体为空").toString()); } - renderJson(res, responseBody); } else { renderJson(res, new RetBean(RetBean.ERROR, "请求失败!").toString()); } } + // 处理图片响应 + private void handleImageResponse(HttpServletResponse res, ResponseBody body, String contentType) throws IOException { + // 设置响应头 + res.setContentType(contentType); + res.setHeader("Cache-Control", "no-store"); + res.setHeader("Pragma", "no-cache"); + res.setDateHeader("Expires", 0); + + // 将图片数据写入响应 + try (InputStream inputStream = body.byteStream()) { + IOUtils.copy(inputStream, res.getOutputStream()); + } + } + + // 处理文本响应 + private void handleTextResponse(HttpServletResponse res, ResponseBody body) throws IOException { + String responseBody = body.string(); + renderJson(res, responseBody); + } + public static RequestBody createRequestBody(HttpServletRequest req) { FormBody.Builder formBodyBuilder = new FormBody.Builder(); // 遍历请求中的参数