From 18e071a20147cd3b369888f318bd6451aeaaa31b Mon Sep 17 00:00:00 2001 From: mediabot-pt <295750538+mediabot-pt@users.noreply.github.com> Date: Wed, 1 Jul 2026 23:10:29 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E5=9B=9E=E9=80=80=EF=BC=8C?= =?UTF-8?q?=E5=8E=BB=E6=8E=89=E5=86=85=E5=AE=B9=E4=BB=A3=E7=90=86=EF=BC=8C?= =?UTF-8?q?=E5=9B=9E=E5=BD=92=E7=AE=80=E5=8D=95=E6=96=B9=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AccessResultController.java | 54 ------------------- 1 file changed, 54 deletions(-) diff --git a/par-api/src/main/java/com/par/api/controller/AccessResultController.java b/par-api/src/main/java/com/par/api/controller/AccessResultController.java index 850ae56..426850e 100644 --- a/par-api/src/main/java/com/par/api/controller/AccessResultController.java +++ b/par-api/src/main/java/com/par/api/controller/AccessResultController.java @@ -5,14 +5,10 @@ import com.par.core.dto.ApiResponse; import com.par.core.dto.SiteAccessSummaryDTO; import com.par.core.dto.SubmitResult; import com.par.core.entity.AccessResult; -import com.par.core.mapper.AccessResultMapper; import com.par.core.service.AccessResultService; -import com.par.core.storage.CachedStorageService; import jakarta.servlet.http.HttpServletRequest; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.http.MediaType; -import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -28,56 +24,6 @@ import java.util.Map; public class AccessResultController { private final AccessResultService accessResultService; - private final CachedStorageService storageService; - private final AccessResultMapper accessResultMapper; - - // ==================== 内容代理(供 Groovy 脚本 httpGet 调用) ==================== - - /** - * 内容代理接口:接收相对路径,返回存储的访问结果内容。 - * Groovy 脚本中 httpGet(ctx, '/index.php') 通过此接口获取已存储的页面内容。 - * ctx.siteUrl 指向:http://par:9012/api/v1/admin/sites/{siteId}/content - */ - /** - * 内容代理:接收相对路径,返回存储的访问结果内容(最新一条)。 - * 脚本调用 httpGet(ctx, '/index.php') → 查找 URL 中包含该路径的存储内容。 - * 存过的返回缓存,没存过的返回 404(脚本可回退到实时 HTTP 请求)。 - */ - @GetMapping("/api/v1/admin/sites/{siteId}/content/**") - public ResponseEntity contentProxy( - @PathVariable("siteId") String siteId, - HttpServletRequest request) { - String fullPath = request.getRequestURI(); - String prefix = "/api/v1/admin/sites/" + siteId + "/content"; - String relativePath = fullPath.substring(fullPath.indexOf(prefix) + prefix.length()); - String query = request.getQueryString(); - String pathWithQuery = relativePath + (query != null ? "?" + query : ""); - - List results = accessResultMapper.selectList( - new com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper() - .eq(AccessResult::getSiteId, siteId) - .orderByDesc(AccessResult::getId) - .last("limit 200")); - - // URL 以 pathWithQuery 结尾 → 精确匹配,否则回退模糊匹配 - AccessResult best = results.stream() - .filter(r -> r.getUrl() != null && r.getStoragePath() != null && - r.getUrl().endsWith(pathWithQuery)) - .findFirst().orElse(null); - if (best == null && !relativePath.isEmpty()) { - best = results.stream() - .filter(r -> r.getUrl() != null && r.getStoragePath() != null && - r.getUrl().contains(relativePath)) - .findFirst().orElse(null); - } - if (best == null) return ResponseEntity.notFound().build(); - - String content = storageService.read(best.getStoragePath()); - if (content == null) return ResponseEntity.notFound().build(); - - String contentType = "json".equalsIgnoreCase(best.getContentType()) ? "application/json" : "text/html"; - return ResponseEntity.ok().contentType(MediaType.parseMediaType(contentType + ";charset=UTF-8")).body(content); - } // ==================== mediabot 提交接口(PSK 鉴权) ====================