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.
 
 
 
 

284 righe
9.5 KiB

  1. {
  2. "date": "2026-09-05",
  3. "baseURL": "http://127.0.0.1:6180",
  4. "browser": "Microsoft Edge",
  5. "role": "教员",
  6. "evidence": [
  7. {
  8. "title": "首次手动保存卡车:截取当前场景并绑定JPEG封面",
  9. "status": "PASS",
  10. "details": {
  11. "id": "156",
  12. "name": "实测模型-牛奶卡车-已验证-20260905",
  13. "coverUri": "fsvc://unreal-tran/image/2026/09/05/4e12ee526680085650c48934bc0305e1.jpg",
  14. "versionId": "203",
  15. "projectVersion": 13,
  16. "coverAssetId": "2040",
  17. "sha256": "15caa821e90a70d5b0f8ba1554c0d0d6db332a9b5e53b0d5e94de24d7663533e",
  18. "bytes": 17889,
  19. "width": 640,
  20. "height": 346,
  21. "image": "screenshots/01-truck-cover.jpg",
  22. "cache": "no-cache, private"
  23. },
  24. "helpersRestored": true,
  25. "screenshot": "screenshots/01-truck-cover-editor.png",
  26. "coverImage": "screenshots/01-truck-cover.jpg"
  27. },
  28. {
  29. "title": "更换卡车视角再次保存:替换当前封面且辅助控件恢复",
  30. "status": "PASS",
  31. "details": {
  32. "id": "156",
  33. "name": "实测模型-牛奶卡车-已验证-20260905",
  34. "coverUri": "fsvc://unreal-tran/image/2026/09/05/67b2a5d15f9c1fc47a0a760f28fd2e2e.jpg",
  35. "versionId": "204",
  36. "projectVersion": 18,
  37. "coverAssetId": "2055",
  38. "sha256": "7b7cc4cc75a3a355f26e2ff15ae1d26b5964ad7b370061691a94ce5f6f4b9158",
  39. "bytes": 17821,
  40. "width": 640,
  41. "height": 346,
  42. "image": "screenshots/02-truck-new-view.jpg",
  43. "cache": "no-cache, private"
  44. },
  45. "helpersRestored": true,
  46. "screenshot": "screenshots/02-truck-new-view-editor.png",
  47. "coverImage": "screenshots/02-truck-new-view.jpg"
  48. },
  49. {
  50. "title": "更换相机视角更新封面,已发布历史版本保留旧封面",
  51. "status": "PASS",
  52. "details": {
  53. "oldVersionId": "203",
  54. "newVersionId": "204",
  55. "oldSha256": "15caa821e90a70d5b0f8ba1554c0d0d6db332a9b5e53b0d5e94de24d7663533e",
  56. "newSha256": "7b7cc4cc75a3a355f26e2ff15ae1d26b5964ad7b370061691a94ce5f6f4b9158"
  57. },
  58. "coverImage": "screenshots/02-truck-new-view.jpg"
  59. },
  60. {
  61. "title": "手动保存狐狸:生成与卡车不同的真实模型封面",
  62. "status": "PASS",
  63. "details": {
  64. "id": "157",
  65. "name": "实测模型-狐狸动画-已验证-20260905",
  66. "coverUri": "fsvc://unreal-tran/image/2026/09/05/3d78768edb7ce9b4a89a75c4d68de597.jpg",
  67. "versionId": "202",
  68. "projectVersion": 12,
  69. "coverAssetId": "2058",
  70. "sha256": "6ace0cf199626a3e8ecd4b360d62c0a6ec9b39309293554765dca8128a2ec5e9",
  71. "bytes": 13163,
  72. "width": 640,
  73. "height": 346,
  74. "image": "screenshots/03-fox-cover.jpg",
  75. "cache": "no-cache, private"
  76. },
  77. "helpersRestored": true,
  78. "screenshot": "screenshots/03-fox-cover-editor.png",
  79. "coverImage": "screenshots/03-fox-cover.jpg"
  80. },
  81. {
  82. "title": "注入封面上传503:模型位置保存成功,旧封面保留并提示",
  83. "status": "PASS",
  84. "details": {
  85. "httpStatus": 503,
  86. "contentSaveStatus": 200,
  87. "originalX": 0.25,
  88. "savedX": 0.35,
  89. "coverUnchanged": true
  90. },
  91. "screenshot": "screenshots/04-upload-failure-content-saved.png"
  92. },
  93. {
  94. "title": "实际自动保存周期保存位置变更,不再次上传封面",
  95. "status": "PASS",
  96. "details": {
  97. "elapsedMs": 16159,
  98. "coverUploads": 0,
  99. "savedX": 0.45,
  100. "coverUnchanged": true
  101. },
  102. "screenshot": "screenshots/05-auto-save-no-cover-upload.png"
  103. },
  104. {
  105. "title": "解除故障并恢复原模型位置:封面再次更新成功",
  106. "status": "PASS",
  107. "details": {
  108. "id": "157",
  109. "name": "实测模型-狐狸动画-已验证-20260905",
  110. "coverUri": "fsvc://unreal-tran/image/2026/09/05/c09a49efd4423dcf8ccbc46b46d1e209.jpg",
  111. "versionId": "202",
  112. "projectVersion": 15,
  113. "coverAssetId": "2067",
  114. "sha256": "6ace0cf199626a3e8ecd4b360d62c0a6ec9b39309293554765dca8128a2ec5e9",
  115. "bytes": 13163,
  116. "width": 640,
  117. "height": 346,
  118. "image": "screenshots/06-fox-restored-cover.jpg",
  119. "cache": "no-cache, private"
  120. },
  121. "helpersRestored": true,
  122. "screenshot": "screenshots/06-fox-restored-cover-editor.png",
  123. "coverImage": "screenshots/06-fox-restored-cover.jpg"
  124. },
  125. {
  126. "title": "列表显示真实封面;读取失败回退后,同条件搜索可以重试恢复",
  127. "status": "PASS",
  128. "details": {
  129. "failedReads": 1,
  130. "restoredImages": 2,
  131. "sort": "CREATED_DESC"
  132. },
  133. "screenshot": "screenshots/07-real-model-covers-list.png"
  134. },
  135. {
  136. "title": "离开缓存列表后取消封面请求并释放Blob URL",
  137. "status": "PASS",
  138. "details": {
  139. "releasedUrls": 2
  140. }
  141. },
  142. {
  143. "title": "首次导入GLB自动生成封面,模型文件与图片均完成受控绑定",
  144. "status": "PASS",
  145. "details": {
  146. "id": "158",
  147. "source": "01-Box.glb",
  148. "uploads": [
  149. {
  150. "status": 200,
  151. "type": "MODEL_FILE",
  152. "code": "MODEL_MTO82QGT_01-BOX"
  153. },
  154. {
  155. "status": 200,
  156. "type": "IMAGE",
  157. "code": "MODEL_COVER"
  158. }
  159. ],
  160. "sha256": "6e99933505dfeb91a14d16ef1ddf53df2ea022add1b866de835c08403685b7b6",
  161. "bytes": 11446,
  162. "width": 640,
  163. "height": 346,
  164. "image": "screenshots/08-import-box-cover.jpg",
  165. "cache": "no-cache, private"
  166. },
  167. "screenshot": "screenshots/08-import-box-editor.png",
  168. "coverImage": "screenshots/08-import-box-cover.jpg"
  169. },
  170. {
  171. "title": "清理首次导入临时模型",
  172. "status": "PASS",
  173. "details": {
  174. "id": "158",
  175. "status": "业务软删除",
  176. "readAfterDelete": 404
  177. }
  178. },
  179. {
  180. "title": "封面读取边界:未登录401、无封面404、图片Range正确",
  181. "status": "PASS",
  182. "details": {
  183. "anonymous": 401,
  184. "missing": 404,
  185. "range": 206,
  186. "rangeBytes": 32
  187. }
  188. },
  189. {
  190. "title": "最终两条保留模型显示独立封面,创建时间倒序保持",
  191. "status": "PASS",
  192. "screenshot": "screenshots/09-final-two-covers.png"
  193. },
  194. {
  195. "title": "全新浏览器会话显示两张持久化封面,重开模型不自动上传图片",
  196. "status": "PASS",
  197. "details": {
  198. "projects": [
  199. {
  200. "id": "156",
  201. "status": "PUBLISHED",
  202. "versionId": "204"
  203. },
  204. {
  205. "id": "157",
  206. "status": "DRAFT",
  207. "versionId": "202"
  208. }
  209. ],
  210. "unexpectedUploads": 0
  211. },
  212. "screenshot": "screenshots/10-fresh-session-covers.png"
  213. }
  214. ],
  215. "projects": [
  216. {
  217. "id": "156",
  218. "name": "实测模型-牛奶卡车-已验证-20260905",
  219. "originalStatus": "PUBLISHED",
  220. "originalCover": "",
  221. "originalVersionId": "200",
  222. "cover": {
  223. "id": "156",
  224. "name": "实测模型-牛奶卡车-已验证-20260905",
  225. "coverUri": "fsvc://unreal-tran/image/2026/09/05/67b2a5d15f9c1fc47a0a760f28fd2e2e.jpg",
  226. "versionId": "204",
  227. "projectVersion": 18,
  228. "coverAssetId": "2055",
  229. "sha256": "7b7cc4cc75a3a355f26e2ff15ae1d26b5964ad7b370061691a94ce5f6f4b9158",
  230. "bytes": 17821,
  231. "width": 640,
  232. "height": 346,
  233. "image": "screenshots/02-truck-new-view.jpg",
  234. "cache": "no-cache, private"
  235. },
  236. "finalStatus": "PUBLISHED",
  237. "finalVersionId": "204",
  238. "retained": true
  239. },
  240. {
  241. "id": "157",
  242. "name": "实测模型-狐狸动画-已验证-20260905",
  243. "originalStatus": "DRAFT",
  244. "originalCover": "",
  245. "originalVersionId": "202",
  246. "cover": {
  247. "id": "157",
  248. "name": "实测模型-狐狸动画-已验证-20260905",
  249. "coverUri": "fsvc://unreal-tran/image/2026/09/05/c09a49efd4423dcf8ccbc46b46d1e209.jpg",
  250. "versionId": "202",
  251. "projectVersion": 15,
  252. "coverAssetId": "2067",
  253. "sha256": "6ace0cf199626a3e8ecd4b360d62c0a6ec9b39309293554765dca8128a2ec5e9",
  254. "bytes": 13163,
  255. "width": 640,
  256. "height": 346,
  257. "image": "screenshots/06-fox-restored-cover.jpg",
  258. "cache": "no-cache, private"
  259. },
  260. "finalStatus": "DRAFT",
  261. "finalVersionId": "202",
  262. "retained": true
  263. }
  264. ],
  265. "issues": [],
  266. "commands": [
  267. {
  268. "command": "pnpm run build",
  269. "status": "PASS",
  270. "details": "最终web类型检查、Vite构建、10个生成包payload哈希与API桥接/凭据门禁通过;现有Three资源URL与chunk体积警告未阻断构建。"
  271. },
  272. {
  273. "command": "mvn -B -ntp -pl ut_tran -Dtest=ContentProjectServiceTest,ContentAssetServiceTest,ContentControllerRangeTest,ContentAuthorizerTest test",
  274. "status": "PASS",
  275. "details": "Java17,93项通过。"
  276. },
  277. {
  278. "command": "node --test --test-reporter=spec tools/model-cover-capture.test.mjs tools/model-cover-api.test.mjs",
  279. "status": "PASS",
  280. "details": "截图12项+封面事务8项,20/20通过;既有模型API与导入失败保护回归也通过。"
  281. }
  282. ],
  283. "retainedData": "保留156卡车、157狐狸及新封面;卡车恢复已发布,狐狸保留原草稿状态。故障测试位置改动已恢复。158首次导入临时工程已通过业务接口软删除。历史发布版本及封面保留。"
  284. }