游戏角标-百顺-替换域名-youmi
This commit is contained in:
@@ -13,7 +13,7 @@ public enum AppEnum {
|
|||||||
|
|
||||||
other("other", "other", "api.pekolive.com", "image.pekolive.com", "api.pekolive.com", "pekolive", Map.of()),
|
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",
|
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",
|
molistar("molistar", "molistar google马甲包", "api.molistar.xyz", "image.molistar.xyz", "api.molistar.xyz", "molistar",
|
||||||
Map.of(Pattern.compile("baishun.minigame.*"), "baishun.minigame.molistar.xyz")),
|
Map.of(Pattern.compile("baishun.minigame.*"), "baishun.minigame.molistar.xyz")),
|
||||||
;
|
;
|
||||||
|
@@ -33,10 +33,15 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.util.StringUtils;
|
import org.springframework.util.StringUtils;
|
||||||
import org.springframework.web.bind.annotation.*;
|
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.net.URL;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@@ -128,14 +133,31 @@ public class ResourceController {
|
|||||||
URL url = new URL(v.getSkipContent());
|
URL url = new URL(v.getSkipContent());
|
||||||
String host = url.getHost();
|
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<AppEnum> 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<Pattern, String> entry : appEnum.getPatternMap().entrySet()){
|
for (Map.Entry<Pattern, String> entry : appEnum.getPatternMap().entrySet()){
|
||||||
Matcher matcher = entry.getKey().matcher(host);
|
Matcher matcher = entry.getKey().matcher(host);
|
||||||
if (matcher.matches()){
|
if (matcher.matches()){
|
||||||
if (host.equals(entry.getValue())){
|
if (host.equals(entry.getValue())){
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
String newUrl = v.getSkipContent().replaceFirst(url.getHost(), entry.getValue());
|
String newUrl = v.getSkipContent().replaceFirst(host, entry.getValue());
|
||||||
v.setSkipContent(newUrl);
|
v.setSkipContent(newUrl);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user