From 7d0a978c4031c7f8ef7a75a8eb2b559fa9725e13 Mon Sep 17 00:00:00 2001 From: khalil <842328916@qq.com> Date: Mon, 15 Sep 2025 14:23:43 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B8=B8=E6=88=8F=E8=A7=92=E6=A0=87-=E7=99=BE?= =?UTF-8?q?=E9=A1=BA-=E6=9B=BF=E6=8D=A2=E5=9F=9F=E5=90=8D-youmi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../accompany/common/constant/AppEnum.java | 2 +- .../resource/ResourceController.java | 26 +++++++++++++++++-- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/accompany-base/accompany-core/src/main/java/com/accompany/common/constant/AppEnum.java b/accompany-base/accompany-core/src/main/java/com/accompany/common/constant/AppEnum.java index e0ec19b14..baa6b0e22 100644 --- a/accompany-base/accompany-core/src/main/java/com/accompany/common/constant/AppEnum.java +++ b/accompany-base/accompany-core/src/main/java/com/accompany/common/constant/AppEnum.java @@ -13,7 +13,7 @@ public enum AppEnum { other("other", "other", "api.pekolive.com", "image.pekolive.com", "api.pekolive.com", "pekolive", Map.of()), youmi("youmi", "molistar ios马甲包", "api.hfighting.com", "image.molistar.xyz", "api.hfighting.com", "molistar", - Map.of(Pattern.compile("baishun.minigame.*"), "baishun.minigame.molistar.xyz")), + Map.of(Pattern.compile("baishun.minigame.*"), "baishun.minigame.moliparty.com")), molistar("molistar", "molistar google马甲包", "api.molistar.xyz", "image.molistar.xyz", "api.molistar.xyz", "molistar", Map.of(Pattern.compile("baishun.minigame.*"), "baishun.minigame.molistar.xyz")), ; diff --git a/accompany-business/accompany-business-web/src/main/java/com/accompany/business/controller/resource/ResourceController.java b/accompany-business/accompany-business-web/src/main/java/com/accompany/business/controller/resource/ResourceController.java index 0849c6f9f..2e429bae4 100644 --- a/accompany-business/accompany-business-web/src/main/java/com/accompany/business/controller/resource/ResourceController.java +++ b/accompany-business/accompany-business-web/src/main/java/com/accompany/business/controller/resource/ResourceController.java @@ -33,10 +33,15 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; +import javax.servlet.http.HttpServletRequest; import java.net.URL; +import java.util.Arrays; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; @@ -128,14 +133,31 @@ public class ResourceController { URL url = new URL(v.getSkipContent()); String host = url.getHost(); - AppEnum appEnum = AppEnum.getCurApp(); + AppEnum appEnum = null; + + ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + if (null == attributes){ + appEnum = AppEnum.getCurApp(); + } else { + HttpServletRequest request = attributes.getRequest(); + String apiDomain = request.getServerName(); + Optional appEnumOptional = Arrays.stream(AppEnum.values()) + .filter(app->app.getApiDomain().equals(apiDomain)) + .findFirst(); + if (appEnumOptional.isEmpty()){ + appEnum = AppEnum.getCurApp(); + } else { + appEnum = appEnumOptional.get(); + } + } + for (Map.Entry entry : appEnum.getPatternMap().entrySet()){ Matcher matcher = entry.getKey().matcher(host); if (matcher.matches()){ if (host.equals(entry.getValue())){ break; } - String newUrl = v.getSkipContent().replaceFirst(url.getHost(), entry.getValue()); + String newUrl = v.getSkipContent().replaceFirst(host, entry.getValue()); v.setSkipContent(newUrl); break; }