From 25262d4140c663c6611c8456ab8f216b727f9b8e Mon Sep 17 00:00:00 2001 From: let5sne Date: Thu, 9 Jul 2026 22:25:02 +0800 Subject: [PATCH] chore(demo): allow screenshot api url override --- docs/DEMO_ACCEPTANCE.md | 2 +- scripts/capture-demo-screenshots.mjs | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/DEMO_ACCEPTANCE.md b/docs/DEMO_ACCEPTANCE.md index 0c59ac3a..b1f21a1b 100644 --- a/docs/DEMO_ACCEPTANCE.md +++ b/docs/DEMO_ACCEPTANCE.md @@ -40,7 +40,7 @@ 1. 从首页开始,左侧菜单依次进入四个页面。 2. 每页只点上表的路径,停留 2 秒展示“必须看到”的验收文本。 -3. 彩排前运行 `node scripts/capture-demo-screenshots.mjs` 生成四张兜底截图:`/tmp/wygj-ai-interview-flow.png`、`/tmp/wygj-practice-flow.png`、`/tmp/wygj-cases-flow.png`、`/tmp/wygj-sop-flow.png`。 +3. 彩排前运行 `node scripts/capture-demo-screenshots.mjs` 生成四张兜底截图:`/tmp/wygj-ai-interview-flow.png`、`/tmp/wygj-practice-flow.png`、`/tmp/wygj-cases-flow.png`、`/tmp/wygj-sop-flow.png`。如本机 Chrome 或 portless 名称不同,用 `CHROME_BIN=... ADMIN_URL=... API_URL=...` 覆盖。 4. 若现场网络或浏览器状态异常,直接切上一步生成的截图。 ## 不演示 diff --git a/scripts/capture-demo-screenshots.mjs b/scripts/capture-demo-screenshots.mjs index 126cabf0..4b47ef3d 100644 --- a/scripts/capture-demo-screenshots.mjs +++ b/scripts/capture-demo-screenshots.mjs @@ -8,6 +8,7 @@ import { spawn } from 'node:child_process'; const root = path.resolve(path.dirname(new URL(import.meta.url).pathname), '..'); const adminUrl = process.env.ADMIN_URL || 'https://wygj-admin.localhost'; +const apiUrl = process.env.API_URL || adminUrl.replace('wygj-admin', 'wygj-api'); const outDir = process.argv.includes('--out') ? path.resolve(process.argv[process.argv.indexOf('--out') + 1]) : '/tmp'; @@ -108,7 +109,7 @@ async function login() { payload = JSON.stringify(body); } } - const response = await fetch(`${adminUrl.replace('wygj-admin', 'wygj-api')}${endpoint}`, { method, headers, body: payload }); + const response = await fetch(`${apiUrl}${endpoint}`, { method, headers, body: payload }); const text = await response.text(); if (!response.ok) throw new Error(`request failed ${endpoint}: ${response.status}`); if (!response.headers.get('encrypt-key')) return JSON.parse(text);