From 8b4517ca6d41cef0da8b2c0d2e9f7311b9108f34 Mon Sep 17 00:00:00 2001 From: mediabot-pt <295750538+mediabot-pt@users.noreply.github.com> Date: Wed, 1 Jul 2026 10:58:56 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=85=81=E8=AE=B8=E7=BB=99=E5=B7=B2?= =?UTF-8?q?=E6=89=B9=E5=87=86=E9=85=8D=E7=BD=AE=E7=BB=91=E5=AE=9A=E8=84=9A?= =?UTF-8?q?=E6=9C=AC=EF=BC=8CDTO=E5=8A=A0scriptStoragePath=EF=BC=8C?= =?UTF-8?q?=E6=97=A0=E8=84=9A=E6=9C=AC=E6=97=B6=E6=98=BE=E7=A4=BA=E7=BC=96?= =?UTF-8?q?=E8=BE=91=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/par/api/controller/AdminController.java | 8 ++++---- .../java/com/par/core/dto/SiteConfigDTO.java | 1 + .../par/core/service/impl/ConfigServiceImpl.java | 1 + web/src/views/AccessResultCheck.vue | 16 +++++++++------- 4 files changed, 15 insertions(+), 11 deletions(-) diff --git a/par-api/src/main/java/com/par/api/controller/AdminController.java b/par-api/src/main/java/com/par/api/controller/AdminController.java index d662698..150e363 100644 --- a/par-api/src/main/java/com/par/api/controller/AdminController.java +++ b/par-api/src/main/java/com/par/api/controller/AdminController.java @@ -256,16 +256,16 @@ public class AdminController { checkAdmin(request); SiteConfig config = siteConfigMapper.selectById(configId); if (config == null) return ApiResponse.error(404, "Config not found"); - if (config.getStatus() != ConfigStatus.PENDING) { - return ApiResponse.error(400, "只能编辑待审核的配置"); - } String script = payload.get("script"); if (script == null) return ApiResponse.error(400, "script is required"); String scriptPath = config.getScriptStoragePath(); if (scriptPath == null || scriptPath.isBlank()) { - scriptPath = String.format("configs/%s/pending/%s.groovy", config.getSiteId(), config.getConfigHash().substring(0, 8)); + String hash = config.getConfigHash() != null ? config.getConfigHash().substring(0, 8) + : Long.toHexString(System.currentTimeMillis()); + scriptPath = String.format("configs/%s/%s/%s.groovy", config.getSiteId(), + config.getStatus() == ConfigStatus.PENDING ? "pending" : "approved", hash); config.setScriptStoragePath(scriptPath); } storageService.store(scriptPath, script); diff --git a/par-core/src/main/java/com/par/core/dto/SiteConfigDTO.java b/par-core/src/main/java/com/par/core/dto/SiteConfigDTO.java index a6743d0..50485ed 100644 --- a/par-core/src/main/java/com/par/core/dto/SiteConfigDTO.java +++ b/par-core/src/main/java/com/par/core/dto/SiteConfigDTO.java @@ -15,6 +15,7 @@ public class SiteConfigDTO { private String siteId; private String version; private String configHash; + private String scriptStoragePath; private Long fileSize; private String schemaVersion; private ConfigStatus status; diff --git a/par-core/src/main/java/com/par/core/service/impl/ConfigServiceImpl.java b/par-core/src/main/java/com/par/core/service/impl/ConfigServiceImpl.java index aa3e9be..1654a2c 100644 --- a/par-core/src/main/java/com/par/core/service/impl/ConfigServiceImpl.java +++ b/par-core/src/main/java/com/par/core/service/impl/ConfigServiceImpl.java @@ -115,6 +115,7 @@ public class ConfigServiceImpl implements ConfigService { dto.setSiteId(config.getSiteId()); dto.setVersion(config.getVersion()); dto.setConfigHash(config.getConfigHash()); + dto.setScriptStoragePath(config.getScriptStoragePath()); dto.setFileSize(config.getFileSize()); dto.setSchemaVersion(config.getSchemaVersion()); dto.setStatus(config.getStatus()); diff --git a/web/src/views/AccessResultCheck.vue b/web/src/views/AccessResultCheck.vue index 30c40b2..d05cce4 100644 --- a/web/src/views/AccessResultCheck.vue +++ b/web/src/views/AccessResultCheck.vue @@ -44,7 +44,8 @@ 编辑 - 查看配置 + 编辑脚本 + 查看配置 @@ -74,14 +75,14 @@