Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 
 

9 righe
4.6 KiB

  1. import fs from 'node:fs';
  2. const dir='reports/bridge-introduction-20260918',read=name=>JSON.parse(fs.readFileSync(dir+'/'+name+'.json','utf8'));
  3. const result=read('result'),operations=read('operation-regression'),upload=read('upload-result'),migration=read('migration'),health=read('health');
  4. if(!result.pass||!operations.pass||!upload.pass)throw new Error('Verification incomplete');
  5. const esc=s=>String(s).replace(/[&<>"']/g,c=>({'&':'&amp;','<':'&lt;','>':'&gt;','"':'&quot;',"'":'&#39;'}[c]));
  6. const shots=[['task-86-background.png','005 · 项目背景'],['task-86-lecture.png','005 · 原理讲解'],['task-87-background.png','006 · 项目背景'],['task-88-background.png','007 · 项目背景'],['task-89-background.png','008 · 项目概览'],['video-lecture.png','受控视频播放验证(隔离响应配置)'],['authoring.png','训练编排 · 背景与前置讲解'],['authoring-uploaded-video.png','真实上传、发布及重新打开验证']];
  7. const html=`<!doctype html><html lang="zh-CN"><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>背景与前置讲解 · 验收记录</title><style>body{margin:0;background:#edf4f1;color:#173d34;font:16px/1.7 system-ui}main{max-width:1180px;margin:36px auto;padding:24px}h1{margin:0}section,figure{background:white;padding:22px;border:1px solid #cfddd7;border-radius:10px;margin:20px 0}table{border-collapse:collapse;width:100%}td,th{text-align:left;padding:10px;border-bottom:1px solid #d9e7e0}a{color:#07876d}img{width:100%;display:block}figcaption{padding:10px 0;font-weight:600}.pass{color:#087d60;font-weight:700}</style><main><h1>背景 → 讲解1…N → 操作步骤</h1><p>2026-09-18 · 本地环境 6180 / Gateway 6100 · 内部维护账号验收</p><section><p class="pass">通过:四个现有任务、005新模型入口、视频切换、编排保存、媒体上传与发布、005完整操作回归。</p><p>背景及每段讲解支持下一步、上一步、跳过讲解;跳过后仍从当前未完成操作继续。操作编号、动作、评分、已有记录不变。讲解期间不会播放隐藏的步骤数字教员,切页停止视频。</p><table><thead><tr><th>入口</th><th>前置内容</th><th>原操作</th><th>发布内容版本</th></tr></thead><tbody>${migration.records.map(r=>`<tr><td><a href="http://127.0.0.1:6180/teaching/virtual-training/preview/${r.id}">${esc(r.code)}</a></td><td>背景 + ${r.lectures} 段讲解</td><td>${r.steps} 步</td><td>${r.contentVersionId}</td></tr>`).join('')}</tbody></table></section><section><h2>内容依据与范围</h2><p>005、006讲解取自图片转录MD;007、008原稿缺少独立讲解,未补写。008背景页为原稿四组操作归纳的项目概览。配图使用各场景封面;原稿要求的液压原理图和专用讲解视频尚无素材,可在编排中上传替换。</p><p>编排入口:内容制作 → 训练编排 → 编辑 → 背景与前置讲解。应用后保存草稿、发布。已发布教学任务固定版本不会因编辑草稿自动改变。</p><p>图片原文:<a href="../../fixtures/bridge-script-source/脚本Markdown/README.md">脚本Markdown索引</a>;接口及维护:<a href="../../../unreal_tran_api/wiki/40-背景与前置讲解.md">背景与前置讲解</a>。</p></section><section><h2>实际验证</h2><ul><li>Java17 mvn test:通过;新增讲解契约4项及含权限/学员投影的策略测试39项通过。</li><li>pnpm run build:通过;既有大包体积提示仍在。</li><li>前置讲解3项、讲解保存9项及正式路由契约测试通过。</li><li>1366×768 浏览器:4个任务和005验证入口顺序浏览、背景/讲解跳过、回看、无误推进及无JS异常。</li><li>005验证入口真实三维五步六动作通过,开盖后补保存操作准备不会重置盖子。</li><li>上传图片和视频到临时工程,保存、发布、重新打开均通过;临时工程459、460已软删除,没有创建教学测试任务。005编排验证工程保留一份相同讲解配置的保存草稿,任务继续使用560版本。</li><li>本机及局域网页面、Gateway健康、Auth/Tran ping均200。</li></ul><p>证据:<a href="result.json">页面测试</a> · <a href="operation-regression.json">操作回归</a> · <a href="upload-result.json">媒体上传</a> · <a href="migration.json">版本更新</a> · <a href="health.json">服务健康</a></p></section>${shots.map(([file,title])=>`<figure><figcaption>${esc(title)}</figcaption><a href="${file}"><img loading="lazy" src="${file}" alt="${esc(title)}"></a></figure>`).join('')}</main></html>`;
  8. fs.writeFileSync(dir+'/index.html',html);console.log(dir+'/index.html');