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(); // 遍历请求中的参数 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 26dfb5c4..eb5585f0 100644 --- a/nginx/logs/nginx.pid +++ b/nginx/logs/nginx.pid @@ -1 +1,5 @@ +<<<<<<< HEAD 30772 +======= +32728 +>>>>>>> 34d4ee5cc4e42d310e2f63abecc3a24461cfdcec