${esc(item.code)} · 第${item.number}步
${esc(item.text)}
${item.duration}s · 已替换 · 原文件保留import fs from 'node:fs'; import path from 'node:path'; import videos from '../../unreal_tran_web/src/features/virtual-training-scripts/narration-video-manifest.js'; const dir=path.resolve('reports/bridge-lecture-polish-20260915'); const changed=JSON.parse(fs.readFileSync(path.join(dir,'regenerated.json'),'utf8')); const esc=s=>String(s).replaceAll('&','&').replaceAll('<','<').replaceAll('"','"'); const tests=['local','lan','test'].filter(name=>fs.existsSync(path.join(dir,name,'result.json'))); let html=`
验证:${tests.map(t=>`${t} 浏览器回归 文件校验`).join(' · ')}。另通过前端构建、14项脚本契约测试、562项Java测试、2项公开头像接口测试。
${esc(item.text)}
${item.duration}s · 已替换 · 原文件保留
