import fs from 'node:fs';
import assert from 'node:assert/strict';
const dir='reports/bridge-bolt-pick-20260925';
const results=['007','008'].map(script=>{
const result=JSON.parse(fs.readFileSync(`${dir}-${script}/result.json`,'utf8'));
assert.equal(result.pass,true,script);
return {script,...result};
});
const figures=[['007','88',8,1],['008','89',10,2],['008','89',14,3]];
for(const [script,id,step,bolt] of figures)for(const phase of ['pick','mount'])assert.ok(fs.existsSync(`${dir}-${script}/task-${id}-${phase}-step-${step}-bolt-${bolt}.png`));
fs.mkdirSync(dir,{recursive:true});
fs.writeFileSync(`${dir}/index.html`,`
螺栓:工作台取件 → 孔位就位 → 扳手紧固
螺栓:工作台取件 → 孔位就位 → 扳手紧固
2026-09-25 · 本地 6180 / 6100 Gateway · 管理员教员预览 · 1440×900
进入回装子操作时,螺栓留在工作台,视角聚焦待取件。点击原螺栓后播放就位动画,随后使用扳手完成紧固。查看标签只聚焦,不移动零件;就位不计为紧固完成。每颗螺栓分别执行这三个阶段。
保存准备记录、紧固提交失败时保留已就位的状态;允许再次拖入扳手重试。油堵直接拆卸和第 14 步安装面的正面视角继续保留。
验证结果
007 从第 1 步走到第 8 步,008 从第 1 步走到第 14 步,覆盖全部 12 颗回装螺栓。使用真实模型点击、工具拖放及预览校验接口。检查取件前工具禁用、点击后仍未紧固、保存准备记录后位置保持、最后一颗螺栓提交失败后重试。相关 Node 测试及 pnpm run build 通过。没有创建学员成绩或测试任务。
${results.map(r=>`- ${r.script}:${r.checks.length} 条检查通过,${r.errors.length} 个页面脚本错误。JSON 记录
`).join('')}
${figures.map(([script,id,step,bolt])=>`${script} 第 ${step} 步 · 螺栓 ${bolt}
${[['pick','点击前:工作台取件,工具暂不可用'],['mount','点击后:安装孔位就位,等待扳手紧固']].map(([phase,title])=>`
${title}`).join('')}
`).join('')}`);
console.log(`${dir}/index.html`);