From ad11fef1953cb6ece2dcd4f32f0dcd74b8111e69 Mon Sep 17 00:00:00 2001 From: yourname Date: Tue, 7 Apr 2026 14:24:26 +0000 Subject: [PATCH] =?UTF-8?q?sync:=20=E6=97=85=E7=A8=8B=E9=AA=8C=E8=AF=81?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=B5=84=E6=BA=90=E5=8A=A0=E8=BD=BD=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E6=A3=80=E6=9F=A5=20+=20MinIO=20dual=20S3Client=20+?= =?UTF-8?q?=20=C2=A79=20=E8=B5=84=E6=BA=90=E5=8F=AF=E8=AE=BF=E9=97=AE?= =?UTF-8?q?=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 --- .claude/skills/d8d-dev/journey-mode.md | 9 ++++- .../d8d-dev/reference/platform-nextjs.md | 34 +++++++++++++++++++ .claude/skills/d8d-dev/visual-verification.md | 17 ++++++++++ 3 files changed, 59 insertions(+), 1 deletion(-) diff --git a/.claude/skills/d8d-dev/journey-mode.md b/.claude/skills/d8d-dev/journey-mode.md index e26a98f..4f1b714 100644 --- a/.claude/skills/d8d-dev/journey-mode.md +++ b/.claude/skills/d8d-dev/journey-mode.md @@ -394,7 +394,14 @@ Story 验证全部通过 ≠ 用户能正常使用系统。旅程模式弥补这 3. 证据阶段(⛔ 强制,不得跳过): - browser_take_screenshot → 保存最终截图到 tests/e2e/screenshots/journey-epic{N}-{M}-final.png - - browser_network_requests → 检查无 localhost API 调用 + - browser_network_requests(static=false) → 检查无 localhost API 调用 + - ⛔ **资源加载状态检查**(新增 — 每条旅程必须执行): + - `browser_network_requests(static=true, filter="\\.(jpg|jpeg|png|gif|webp|svg|mp4|webm|mov)$")` + - 过滤图片/视频资源请求,检查 HTTP 状态码 + - 任何 403/404 → 标记 `resource_status_check.found = FOUND` + 触发修复 + - 常见 403 原因:MinIO 私有 bucket 未用 presigned URL、防盗链、CORS + - 常见 404 原因:资源路径错误、文件未上传 + - 记录到 pipeline-state.yaml 的 `verification_detail.resource_status_check` 4. 修复阶段(⛔ 以下任一条件满足时必须执行,不得跳过): diff --git a/.claude/skills/d8d-dev/reference/platform-nextjs.md b/.claude/skills/d8d-dev/reference/platform-nextjs.md index f0cb19b..6026419 100644 --- a/.claude/skills/d8d-dev/reference/platform-nextjs.md +++ b/.claude/skills/d8d-dev/reference/platform-nextjs.md @@ -282,3 +282,37 @@ getPublicDownloadUrl(key) → getSignedUrl(s3Public, ...) // host=minio-xxx.dev K8S ingress 会将 HTTP 升级为 HTTPS。`S3_PUBLIC_URL` 必须使用 `https://`, 否则 presigned URL 签名会因重定向而失效。 + +--- + +## 9. 资源 URL 可访问性检查(⛔ 强制) + +### 问题描述 + +MinIO bucket 默认私有,所有通过 URL 直接访问的资源(图片、视频)都会返回 403。 +前端 `` 或 `