Files
goodbuddy/docs/pr-articles/screenshot-guide.md
T

4.0 KiB
Raw Blame History

PR 文章截图步骤

本页规定宣传素材的准备顺序。隔离启动和自动化实现以 Electron UI 自动化规范为准, 不重复维护另一套测试机制。目前仓库没有通用的一键完整 App 截图命令;执行者需要复用或 按规范准备临时驱动,不能将下面的流程描述当作已经实现的自动化脚本。

1. 确认版本和素材

从仓库根目录检查 git rev-parse HEAD、git status --short、node --version 和 node -p "require('electron/package.json').version"。依赖缺失时按 开发与构建准备,不重复安装已满足的依赖。

在本轮 review.md 中记录目标提交、实际构建来源、平台、语言、主题、缩放和截图清单。 优先采用 1280×800 内容区、统一主题与中文界面,按演示需要调整,并记录实际尺寸。 每张图先写清要说明的动作和结果。重点 PR 优先连续演示,常规 PR 只拍需要解释的界面变化。

2. 准备隔离环境

使用本轮专用临时目录,包含 profile、演示工作区、驱动和原始截图。不要复制整套私人会话。 仅使用公开或明确虚构的演示资料,凭据沿用已授权的安全配置方式,不写入文档、脚本或图片。

使用可确认属于目标版本的产物。npm start 只预览已有产物,不自动重建,也不自动隔离数据; npm run dev 同样不能代替隔离启动器。GOODBUDDY_WORKSPACE 只指定工作区,不隔离用户数据库。 不存在可直接假定有效的 GOODBUDDY_TEST_MODE 或 GOODBUDDY_USER_DATA 开关。

开发场景的构建方法见自动化规范;发布准备遵循发布手册, 宣传材料不自动授权本地生产构建、打包或 packaged-app 探测。没有匹配产物时记录缺口, 继续其他材料准备,不能将旧产物截图标成新版本。

3. 启动与操作

按自动化规范准备独立 Node supervisor 和 Electron bootstrap:

  1. 在 Electron ready 之前设置专用 userData、sessionData 和日志路径,再动态导入对应产物的 out/main/index.js,由生产 Main 创建窗口并加载真实 Preload、Renderer。
  2. supervisor 从仓库解析 Electron,清除子进程环境中的 ELECTRON_RUN_AS_NODE,设置有限期限。 检查最终用户数据路径仍在临时目录,避免便携模式覆盖隔离配置。
  3. 按实际临时驱动路径执行 node "<本轮临时目录>/run.mjs"。这是驱动适配完成后的命令模板, 不是仓库现成入口。记录驱动来源、实际命令、入口文件与构建身份。
  4. 从正常 UI 创建演示项目、会话和配置。通过 Electron 输入 API 操作,等待目标状态、字体和布局 就绪后使用 capturePage().toPNG() 截图。不能注入完成事件或假答案替代真实任务。

现有 node build/run-browser-tabs-electron-e2e.cjs 可供参考启动与进程监督方式, 但它是浏览器服务集成测试,不是完整应用截图命令。网页浏览器工具也不能直接当作桌面控制器。 组件 fixture 只能作为明确标注的辅助示意,不作为主功能完成的证据。

4. 审阅与归档

逐张打开原图,检查文字可读、菜单没有遮挡关键内容、状态和正文描述一致,以及是否含私人数据。 对原生浏览器视图等复合界面,确认截图实际包含要展示的内容;不能仅凭 PNG 文件存在判定成功。 保存原图,裁切或标注另存;处理不能改变产品含义。

将采用的图片放入本轮 assets/,用相对路径写进文章。review.md 记录操作步骤、文件名、 实际观察结果、图片审阅情况及模型/服务调用情况。失败时保留阶段和脱敏诊断,列出待补素材。 先归档必要材料,再停止本轮进程、服务并清理临时 profile;不得按进程名批量结束用户应用。

发布前核对最终版本行为是否仍与截图一致;有变化则重拍受影响部分。