選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
 
 
 
 

200 行
22 KiB

  1. <!doctype html>
  2. <html lang="zh-CN"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1">
  3. <title>模型截图封面验证报告 · 2026-09-05</title>
  4. <style>
  5. :root{color-scheme:light;--ink:#172b34;--muted:#536872;--line:#dce5e7;--accent:#10664e}*{box-sizing:border-box}body{margin:0;background:#f2f6f6;color:var(--ink);font:15px/1.7 system-ui,"Microsoft YaHei",sans-serif}main{max-width:1180px;margin:0 auto;padding:40px 28px 60px}header{padding-bottom:22px;border-bottom:1px solid var(--line)}.eyebrow{font-size:12px;letter-spacing:.14em;color:var(--accent);font-weight:700}h1{font-size:32px;line-height:1.35;margin:8px 0 12px}h2{font-size:23px;margin:32px 0 15px}h3{font-size:17px;margin:0 0 8px}p{margin:8px 0 12px}.muted,figcaption{color:var(--muted)}a{color:var(--accent);text-underline-offset:3px}.stats{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.stat{background:white;border:1px solid var(--line);border-radius:10px;padding:12px 18px;min-width:150px}.stat strong{font-size:25px;display:block}.covers,.checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.card,.check,.panel{background:white;border:1px solid var(--line);border-radius:12px;padding:20px;min-width:0}.cover-meta{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;font-size:13px;margin-top:12px}.cover-meta dt{color:var(--muted)}.cover-meta dd{margin:0;overflow-wrap:anywhere}figure{margin:12px 0 0}figure img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:7px;background:#edf1f1}.cover-image img{aspect-ratio:640/346;object-fit:contain}.evidence-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.evidence-images.single{grid-template-columns:1fr}figcaption{font-size:12px;margin-top:5px}.badge{display:inline-block;font-size:12px;font-weight:700;padding:1px 9px;border-radius:12px;white-space:nowrap}.pass{background:#e1f3eb;color:#0c6144}.fail{background:#fde8e8;color:#ab2323}.neutral{background:#edf0f4;color:#425566}.check-title{display:flex;gap:10px;align-items:flex-start;justify-content:space-between}details{margin-top:12px}summary{cursor:pointer;color:var(--accent);font-size:13px}pre{margin:10px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.6 ui-monospace,Consolas,monospace;background:#f4f7f8;padding:12px;border-radius:7px;max-height:360px;overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:9px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:#f4f7f8}td{overflow-wrap:anywhere}ul{padding-left:22px}.command{margin-bottom:12px}.command pre{max-height:280px}footer{margin-top:28px;color:var(--muted);font-size:12px}@media(max-width:760px){main{padding:24px 16px 40px}h1{font-size:26px}.covers,.checks{grid-template-columns:1fr}.stat{flex:1;min-width:100px}.panel,.card,.check{padding:15px}.table-wrap{overflow:auto}}@media print{body{background:white}main{max-width:none;padding:0}details{display:block}pre{max-height:none}.card,.check,figure{break-inside:avoid}a{color:inherit}.checks{display:block}.check{margin-bottom:14px}}
  6. </style></head><body><main>
  7. <header><div class="eyebrow">MODEL COVER · IMPLEMENTED</div><h1>模型截图封面验证报告</h1><p>截图封面功能已实施并完成下列真实浏览器验证:视口截图作为受控图片资产与工程关联保存,列表读取真实封面,模型列表按创建时间倒序显示。</p><p class="muted">2026-09-05 · http://127.0.0.1:6180 · Microsoft Edge · 教员</p><a href="report.md">Markdown 报告</a></header>
  8. <div class="stats"><div class="stat"><strong>14 / 14</strong>证据项通过</div><div class="stat"><strong>0</strong>非 PASS 证据项</div><div class="stat"><strong>15</strong>图片文件已校验</div></div>
  9. <h2>最终模型封面</h2><div class="covers"><article class="card"><h3>实测模型-牛奶卡车-已验证-20260905</h3><figure class="cover-image"><a href="screenshots/02-truck-new-view.jpg" target="_blank" rel="noopener"><img src="screenshots/02-truck-new-view.jpg" alt="项目 156 最终封面" loading="lazy"></a><figcaption>项目 156 最终封面 · 点击查看原图</figcaption></figure><dl class="cover-meta"><dt>项目 / 最终状态</dt><dd>156 / PUBLISHED</dd><dt>工程版本 / 封面资产</dt><dd>204 / 2055</dd><dt>图片规格</dt><dd>640 × 346 · 17821 字节</dd></dl><details><summary>封面持久化证据</summary><pre>{
  10. &quot;id&quot;: &quot;156&quot;,
  11. &quot;name&quot;: &quot;实测模型-牛奶卡车-已验证-20260905&quot;,
  12. &quot;coverUri&quot;: &quot;fsvc://unreal-tran/image/2026/09/05/67b2a5d15f9c1fc47a0a760f28fd2e2e.jpg&quot;,
  13. &quot;versionId&quot;: &quot;204&quot;,
  14. &quot;projectVersion&quot;: 18,
  15. &quot;coverAssetId&quot;: &quot;2055&quot;,
  16. &quot;sha256&quot;: &quot;7b7cc4cc75a3a355f26e2ff15ae1d26b5964ad7b370061691a94ce5f6f4b9158&quot;,
  17. &quot;bytes&quot;: 17821,
  18. &quot;width&quot;: 640,
  19. &quot;height&quot;: 346,
  20. &quot;image&quot;: &quot;screenshots/02-truck-new-view.jpg&quot;,
  21. &quot;cache&quot;: &quot;no-cache, private&quot;
  22. }</pre></details></article><article class="card"><h3>实测模型-狐狸动画-已验证-20260905</h3><figure class="cover-image"><a href="screenshots/06-fox-restored-cover.jpg" target="_blank" rel="noopener"><img src="screenshots/06-fox-restored-cover.jpg" alt="项目 157 最终封面" loading="lazy"></a><figcaption>项目 157 最终封面 · 点击查看原图</figcaption></figure><dl class="cover-meta"><dt>项目 / 最终状态</dt><dd>157 / DRAFT</dd><dt>工程版本 / 封面资产</dt><dd>202 / 2067</dd><dt>图片规格</dt><dd>640 × 346 · 13163 字节</dd></dl><details><summary>封面持久化证据</summary><pre>{
  23. &quot;id&quot;: &quot;157&quot;,
  24. &quot;name&quot;: &quot;实测模型-狐狸动画-已验证-20260905&quot;,
  25. &quot;coverUri&quot;: &quot;fsvc://unreal-tran/image/2026/09/05/c09a49efd4423dcf8ccbc46b46d1e209.jpg&quot;,
  26. &quot;versionId&quot;: &quot;202&quot;,
  27. &quot;projectVersion&quot;: 15,
  28. &quot;coverAssetId&quot;: &quot;2067&quot;,
  29. &quot;sha256&quot;: &quot;6ace0cf199626a3e8ecd4b360d62c0a6ec9b39309293554765dca8128a2ec5e9&quot;,
  30. &quot;bytes&quot;: 13163,
  31. &quot;width&quot;: 640,
  32. &quot;height&quot;: 346,
  33. &quot;image&quot;: &quot;screenshots/06-fox-restored-cover.jpg&quot;,
  34. &quot;cache&quot;: &quot;no-cache, private&quot;
  35. }</pre></details></article></div>
  36. <h2>最终列表现场</h2><section class="panel"><figure class=""><a href="screenshots/09-final-two-covers.png" target="_blank" rel="noopener"><img src="screenshots/09-final-two-covers.png" alt="两条保留模型的真实封面与创建时间倒序列表" loading="lazy"></a><figcaption>两条保留模型的真实封面与创建时间倒序列表 · 点击查看原图</figcaption></figure></section>
  37. <h2>验证记录</h2><p class="muted">通过数只统计 status 为 PASS 的记录;故障注入中预期的 503、401 或 404 不等于用例失败。</p><div class="checks"><article class="check"><div class="check-title"><h3>1. 首次手动保存卡车:截取当前场景并绑定JPEG封面</h3><span class="badge pass">PASS</span></div><details><summary>检查细节</summary><pre>{
  38. &quot;details&quot;: {
  39. &quot;id&quot;: &quot;156&quot;,
  40. &quot;name&quot;: &quot;实测模型-牛奶卡车-已验证-20260905&quot;,
  41. &quot;coverUri&quot;: &quot;fsvc://unreal-tran/image/2026/09/05/4e12ee526680085650c48934bc0305e1.jpg&quot;,
  42. &quot;versionId&quot;: &quot;203&quot;,
  43. &quot;projectVersion&quot;: 13,
  44. &quot;coverAssetId&quot;: &quot;2040&quot;,
  45. &quot;sha256&quot;: &quot;15caa821e90a70d5b0f8ba1554c0d0d6db332a9b5e53b0d5e94de24d7663533e&quot;,
  46. &quot;bytes&quot;: 17889,
  47. &quot;width&quot;: 640,
  48. &quot;height&quot;: 346,
  49. &quot;image&quot;: &quot;screenshots/01-truck-cover.jpg&quot;,
  50. &quot;cache&quot;: &quot;no-cache, private&quot;
  51. },
  52. &quot;helpersRestored&quot;: true
  53. }</pre></details><div class="evidence-images "><figure class=""><a href="screenshots/01-truck-cover-editor.png" target="_blank" rel="noopener"><img src="screenshots/01-truck-cover-editor.png" alt="浏览器现场" loading="lazy"></a><figcaption>浏览器现场 · 点击查看原图</figcaption></figure><figure class=""><a href="screenshots/01-truck-cover.jpg" target="_blank" rel="noopener"><img src="screenshots/01-truck-cover.jpg" alt="实际生成封面" loading="lazy"></a><figcaption>实际生成封面 · 点击查看原图</figcaption></figure></div></article><article class="check"><div class="check-title"><h3>2. 更换卡车视角再次保存:替换当前封面且辅助控件恢复</h3><span class="badge pass">PASS</span></div><details><summary>检查细节</summary><pre>{
  54. &quot;details&quot;: {
  55. &quot;id&quot;: &quot;156&quot;,
  56. &quot;name&quot;: &quot;实测模型-牛奶卡车-已验证-20260905&quot;,
  57. &quot;coverUri&quot;: &quot;fsvc://unreal-tran/image/2026/09/05/67b2a5d15f9c1fc47a0a760f28fd2e2e.jpg&quot;,
  58. &quot;versionId&quot;: &quot;204&quot;,
  59. &quot;projectVersion&quot;: 18,
  60. &quot;coverAssetId&quot;: &quot;2055&quot;,
  61. &quot;sha256&quot;: &quot;7b7cc4cc75a3a355f26e2ff15ae1d26b5964ad7b370061691a94ce5f6f4b9158&quot;,
  62. &quot;bytes&quot;: 17821,
  63. &quot;width&quot;: 640,
  64. &quot;height&quot;: 346,
  65. &quot;image&quot;: &quot;screenshots/02-truck-new-view.jpg&quot;,
  66. &quot;cache&quot;: &quot;no-cache, private&quot;
  67. },
  68. &quot;helpersRestored&quot;: true
  69. }</pre></details><div class="evidence-images "><figure class=""><a href="screenshots/02-truck-new-view-editor.png" target="_blank" rel="noopener"><img src="screenshots/02-truck-new-view-editor.png" alt="浏览器现场" loading="lazy"></a><figcaption>浏览器现场 · 点击查看原图</figcaption></figure><figure class=""><a href="screenshots/02-truck-new-view.jpg" target="_blank" rel="noopener"><img src="screenshots/02-truck-new-view.jpg" alt="实际生成封面" loading="lazy"></a><figcaption>实际生成封面 · 点击查看原图</figcaption></figure></div></article><article class="check"><div class="check-title"><h3>3. 更换相机视角更新封面,已发布历史版本保留旧封面</h3><span class="badge pass">PASS</span></div><details><summary>检查细节</summary><pre>{
  70. &quot;details&quot;: {
  71. &quot;oldVersionId&quot;: &quot;203&quot;,
  72. &quot;newVersionId&quot;: &quot;204&quot;,
  73. &quot;oldSha256&quot;: &quot;15caa821e90a70d5b0f8ba1554c0d0d6db332a9b5e53b0d5e94de24d7663533e&quot;,
  74. &quot;newSha256&quot;: &quot;7b7cc4cc75a3a355f26e2ff15ae1d26b5964ad7b370061691a94ce5f6f4b9158&quot;
  75. }
  76. }</pre></details><div class="evidence-images single"><figure class=""><a href="screenshots/02-truck-new-view.jpg" target="_blank" rel="noopener"><img src="screenshots/02-truck-new-view.jpg" alt="实际生成封面" loading="lazy"></a><figcaption>实际生成封面 · 点击查看原图</figcaption></figure></div></article><article class="check"><div class="check-title"><h3>4. 手动保存狐狸:生成与卡车不同的真实模型封面</h3><span class="badge pass">PASS</span></div><details><summary>检查细节</summary><pre>{
  77. &quot;details&quot;: {
  78. &quot;id&quot;: &quot;157&quot;,
  79. &quot;name&quot;: &quot;实测模型-狐狸动画-已验证-20260905&quot;,
  80. &quot;coverUri&quot;: &quot;fsvc://unreal-tran/image/2026/09/05/3d78768edb7ce9b4a89a75c4d68de597.jpg&quot;,
  81. &quot;versionId&quot;: &quot;202&quot;,
  82. &quot;projectVersion&quot;: 12,
  83. &quot;coverAssetId&quot;: &quot;2058&quot;,
  84. &quot;sha256&quot;: &quot;6ace0cf199626a3e8ecd4b360d62c0a6ec9b39309293554765dca8128a2ec5e9&quot;,
  85. &quot;bytes&quot;: 13163,
  86. &quot;width&quot;: 640,
  87. &quot;height&quot;: 346,
  88. &quot;image&quot;: &quot;screenshots/03-fox-cover.jpg&quot;,
  89. &quot;cache&quot;: &quot;no-cache, private&quot;
  90. },
  91. &quot;helpersRestored&quot;: true
  92. }</pre></details><div class="evidence-images "><figure class=""><a href="screenshots/03-fox-cover-editor.png" target="_blank" rel="noopener"><img src="screenshots/03-fox-cover-editor.png" alt="浏览器现场" loading="lazy"></a><figcaption>浏览器现场 · 点击查看原图</figcaption></figure><figure class=""><a href="screenshots/03-fox-cover.jpg" target="_blank" rel="noopener"><img src="screenshots/03-fox-cover.jpg" alt="实际生成封面" loading="lazy"></a><figcaption>实际生成封面 · 点击查看原图</figcaption></figure></div></article><article class="check"><div class="check-title"><h3>5. 注入封面上传503:模型位置保存成功,旧封面保留并提示</h3><span class="badge pass">PASS</span></div><details><summary>检查细节</summary><pre>{
  93. &quot;details&quot;: {
  94. &quot;httpStatus&quot;: 503,
  95. &quot;contentSaveStatus&quot;: 200,
  96. &quot;originalX&quot;: 0.25,
  97. &quot;savedX&quot;: 0.35,
  98. &quot;coverUnchanged&quot;: true
  99. }
  100. }</pre></details><div class="evidence-images single"><figure class=""><a href="screenshots/04-upload-failure-content-saved.png" target="_blank" rel="noopener"><img src="screenshots/04-upload-failure-content-saved.png" alt="浏览器现场" loading="lazy"></a><figcaption>浏览器现场 · 点击查看原图</figcaption></figure></div></article><article class="check"><div class="check-title"><h3>6. 实际自动保存周期保存位置变更,不再次上传封面</h3><span class="badge pass">PASS</span></div><details><summary>检查细节</summary><pre>{
  101. &quot;details&quot;: {
  102. &quot;elapsedMs&quot;: 16159,
  103. &quot;coverUploads&quot;: 0,
  104. &quot;savedX&quot;: 0.45,
  105. &quot;coverUnchanged&quot;: true
  106. }
  107. }</pre></details><div class="evidence-images single"><figure class=""><a href="screenshots/05-auto-save-no-cover-upload.png" target="_blank" rel="noopener"><img src="screenshots/05-auto-save-no-cover-upload.png" alt="浏览器现场" loading="lazy"></a><figcaption>浏览器现场 · 点击查看原图</figcaption></figure></div></article><article class="check"><div class="check-title"><h3>7. 解除故障并恢复原模型位置:封面再次更新成功</h3><span class="badge pass">PASS</span></div><details><summary>检查细节</summary><pre>{
  108. &quot;details&quot;: {
  109. &quot;id&quot;: &quot;157&quot;,
  110. &quot;name&quot;: &quot;实测模型-狐狸动画-已验证-20260905&quot;,
  111. &quot;coverUri&quot;: &quot;fsvc://unreal-tran/image/2026/09/05/c09a49efd4423dcf8ccbc46b46d1e209.jpg&quot;,
  112. &quot;versionId&quot;: &quot;202&quot;,
  113. &quot;projectVersion&quot;: 15,
  114. &quot;coverAssetId&quot;: &quot;2067&quot;,
  115. &quot;sha256&quot;: &quot;6ace0cf199626a3e8ecd4b360d62c0a6ec9b39309293554765dca8128a2ec5e9&quot;,
  116. &quot;bytes&quot;: 13163,
  117. &quot;width&quot;: 640,
  118. &quot;height&quot;: 346,
  119. &quot;image&quot;: &quot;screenshots/06-fox-restored-cover.jpg&quot;,
  120. &quot;cache&quot;: &quot;no-cache, private&quot;
  121. },
  122. &quot;helpersRestored&quot;: true
  123. }</pre></details><div class="evidence-images "><figure class=""><a href="screenshots/06-fox-restored-cover-editor.png" target="_blank" rel="noopener"><img src="screenshots/06-fox-restored-cover-editor.png" alt="浏览器现场" loading="lazy"></a><figcaption>浏览器现场 · 点击查看原图</figcaption></figure><figure class=""><a href="screenshots/06-fox-restored-cover.jpg" target="_blank" rel="noopener"><img src="screenshots/06-fox-restored-cover.jpg" alt="实际生成封面" loading="lazy"></a><figcaption>实际生成封面 · 点击查看原图</figcaption></figure></div></article><article class="check"><div class="check-title"><h3>8. 列表显示真实封面;读取失败回退后,同条件搜索可以重试恢复</h3><span class="badge pass">PASS</span></div><details><summary>检查细节</summary><pre>{
  124. &quot;details&quot;: {
  125. &quot;failedReads&quot;: 1,
  126. &quot;restoredImages&quot;: 2,
  127. &quot;sort&quot;: &quot;CREATED_DESC&quot;
  128. }
  129. }</pre></details><div class="evidence-images single"><figure class=""><a href="screenshots/07-real-model-covers-list.png" target="_blank" rel="noopener"><img src="screenshots/07-real-model-covers-list.png" alt="浏览器现场" loading="lazy"></a><figcaption>浏览器现场 · 点击查看原图</figcaption></figure></div></article><article class="check"><div class="check-title"><h3>9. 离开缓存列表后取消封面请求并释放Blob URL</h3><span class="badge pass">PASS</span></div><details><summary>检查细节</summary><pre>{
  130. &quot;details&quot;: {
  131. &quot;releasedUrls&quot;: 2
  132. }
  133. }</pre></details><div class="evidence-images "></div></article><article class="check"><div class="check-title"><h3>10. 首次导入GLB自动生成封面,模型文件与图片均完成受控绑定</h3><span class="badge pass">PASS</span></div><details><summary>检查细节</summary><pre>{
  134. &quot;details&quot;: {
  135. &quot;id&quot;: &quot;158&quot;,
  136. &quot;source&quot;: &quot;01-Box.glb&quot;,
  137. &quot;uploads&quot;: [
  138. {
  139. &quot;status&quot;: 200,
  140. &quot;type&quot;: &quot;MODEL_FILE&quot;,
  141. &quot;code&quot;: &quot;MODEL_MTO82QGT_01-BOX&quot;
  142. },
  143. {
  144. &quot;status&quot;: 200,
  145. &quot;type&quot;: &quot;IMAGE&quot;,
  146. &quot;code&quot;: &quot;MODEL_COVER&quot;
  147. }
  148. ],
  149. &quot;sha256&quot;: &quot;6e99933505dfeb91a14d16ef1ddf53df2ea022add1b866de835c08403685b7b6&quot;,
  150. &quot;bytes&quot;: 11446,
  151. &quot;width&quot;: 640,
  152. &quot;height&quot;: 346,
  153. &quot;image&quot;: &quot;screenshots/08-import-box-cover.jpg&quot;,
  154. &quot;cache&quot;: &quot;no-cache, private&quot;
  155. }
  156. }</pre></details><div class="evidence-images "><figure class=""><a href="screenshots/08-import-box-editor.png" target="_blank" rel="noopener"><img src="screenshots/08-import-box-editor.png" alt="浏览器现场" loading="lazy"></a><figcaption>浏览器现场 · 点击查看原图</figcaption></figure><figure class=""><a href="screenshots/08-import-box-cover.jpg" target="_blank" rel="noopener"><img src="screenshots/08-import-box-cover.jpg" alt="实际生成封面" loading="lazy"></a><figcaption>实际生成封面 · 点击查看原图</figcaption></figure></div></article><article class="check"><div class="check-title"><h3>11. 清理首次导入临时模型</h3><span class="badge pass">PASS</span></div><details><summary>检查细节</summary><pre>{
  157. &quot;details&quot;: {
  158. &quot;id&quot;: &quot;158&quot;,
  159. &quot;status&quot;: &quot;业务软删除&quot;,
  160. &quot;readAfterDelete&quot;: 404
  161. }
  162. }</pre></details><div class="evidence-images "></div></article><article class="check"><div class="check-title"><h3>12. 封面读取边界:未登录401、无封面404、图片Range正确</h3><span class="badge pass">PASS</span></div><details><summary>检查细节</summary><pre>{
  163. &quot;details&quot;: {
  164. &quot;anonymous&quot;: 401,
  165. &quot;missing&quot;: 404,
  166. &quot;range&quot;: 206,
  167. &quot;rangeBytes&quot;: 32
  168. }
  169. }</pre></details><div class="evidence-images "></div></article><article class="check"><div class="check-title"><h3>13. 最终两条保留模型显示独立封面,创建时间倒序保持</h3><span class="badge pass">PASS</span></div><div class="evidence-images single"><figure class=""><a href="screenshots/09-final-two-covers.png" target="_blank" rel="noopener"><img src="screenshots/09-final-two-covers.png" alt="浏览器现场" loading="lazy"></a><figcaption>浏览器现场 · 点击查看原图</figcaption></figure></div></article><article class="check"><div class="check-title"><h3>14. 全新浏览器会话显示两张持久化封面,重开模型不自动上传图片</h3><span class="badge pass">PASS</span></div><details><summary>检查细节</summary><pre>{
  170. &quot;details&quot;: {
  171. &quot;projects&quot;: [
  172. {
  173. &quot;id&quot;: &quot;156&quot;,
  174. &quot;status&quot;: &quot;PUBLISHED&quot;,
  175. &quot;versionId&quot;: &quot;204&quot;
  176. },
  177. {
  178. &quot;id&quot;: &quot;157&quot;,
  179. &quot;status&quot;: &quot;DRAFT&quot;,
  180. &quot;versionId&quot;: &quot;202&quot;
  181. }
  182. ],
  183. &quot;unexpectedUploads&quot;: 0
  184. }
  185. }</pre></details><div class="evidence-images single"><figure class=""><a href="screenshots/10-fresh-session-covers.png" target="_blank" rel="noopener"><img src="screenshots/10-fresh-session-covers.png" alt="浏览器现场" loading="lazy"></a><figcaption>浏览器现场 · 点击查看原图</figcaption></figure></div></article></div>
  186. <h2>数据保留与清理</h2><section class="panel"><p>保留156卡车、157狐狸及新封面;卡车恢复已发布,狐狸保留原草稿状态。故障测试位置改动已恢复。158首次导入临时工程已通过业务接口软删除。历史发布版本及封面保留。</p><div class="table-wrap"><table><thead><tr><th>项目</th><th>初始状态</th><th>最终状态</th></tr></thead><tbody><tr><td>156 · 实测模型-牛奶卡车-已验证-20260905</td><td>PUBLISHED</td><td>PUBLISHED</td></tr><tr><td>157 · 实测模型-狐狸动画-已验证-20260905</td><td>DRAFT</td><td>DRAFT</td></tr></tbody></table></div><p>首次导入验证使用的临时项目 158 已通过业务软删除,删除后读取返回 404;报告保留操作证据,不宣称物理文件已删除。</p></section>
  187. <h2>问题记录</h2><section class="panel"><p>当前证据未登记未解决问题。</p></section>
  188. <h2>实际命令与结果</h2><section class="panel"><div class="command"><h3>pnpm run build</h3><pre>{
  189. &quot;status&quot;: &quot;PASS&quot;,
  190. &quot;details&quot;: &quot;最终web类型检查、Vite构建、10个生成包payload哈希与API桥接/凭据门禁通过;现有Three资源URL与chunk体积警告未阻断构建。&quot;
  191. }</pre></div><div class="command"><h3>mvn -B -ntp -pl ut_tran -Dtest=ContentProjectServiceTest,ContentAssetServiceTest,ContentControllerRangeTest,ContentAuthorizerTest test</h3><pre>{
  192. &quot;status&quot;: &quot;PASS&quot;,
  193. &quot;details&quot;: &quot;Java17,93项通过。&quot;
  194. }</pre></div><div class="command"><h3>node --test --test-reporter=spec tools/model-cover-capture.test.mjs tools/model-cover-api.test.mjs</h3><pre>{
  195. &quot;status&quot;: &quot;PASS&quot;,
  196. &quot;details&quot;: &quot;截图12项+封面事务8项,20/20通过;既有模型API与导入失败保护回归也通过。&quot;
  197. }</pre></div></section>
  198. <h2>当前行为与限制</h2><section class="panel"><ul><li>仅手动保存和首次导入模型时生成或更新封面,封面取自当前三维视口。</li><li>自动保存只保存工程变更,不重新截图或上传封面。</li><li>截图或封面上传失败时保留旧封面,并提示失败;工程保存仍按其实际请求结果判断。</li></ul></section>
  199. <footer>报告由 evidence.json 生成,未修改原始证据。所有引用图片在生成时校验为存在且非空;点击图片可查看原图。</footer>
  200. </main></body></html>