|
- {
- "date": "2026-09-05",
- "baseURL": "http://127.0.0.1:6180",
- "browser": "Microsoft Edge",
- "role": "教员",
- "evidence": [
- {
- "title": "首次手动保存卡车:截取当前场景并绑定JPEG封面",
- "status": "PASS",
- "details": {
- "id": "156",
- "name": "实测模型-牛奶卡车-已验证-20260905",
- "coverUri": "fsvc://unreal-tran/image/2026/09/05/4e12ee526680085650c48934bc0305e1.jpg",
- "versionId": "203",
- "projectVersion": 13,
- "coverAssetId": "2040",
- "sha256": "15caa821e90a70d5b0f8ba1554c0d0d6db332a9b5e53b0d5e94de24d7663533e",
- "bytes": 17889,
- "width": 640,
- "height": 346,
- "image": "screenshots/01-truck-cover.jpg",
- "cache": "no-cache, private"
- },
- "helpersRestored": true,
- "screenshot": "screenshots/01-truck-cover-editor.png",
- "coverImage": "screenshots/01-truck-cover.jpg"
- },
- {
- "title": "更换卡车视角再次保存:替换当前封面且辅助控件恢复",
- "status": "PASS",
- "details": {
- "id": "156",
- "name": "实测模型-牛奶卡车-已验证-20260905",
- "coverUri": "fsvc://unreal-tran/image/2026/09/05/67b2a5d15f9c1fc47a0a760f28fd2e2e.jpg",
- "versionId": "204",
- "projectVersion": 18,
- "coverAssetId": "2055",
- "sha256": "7b7cc4cc75a3a355f26e2ff15ae1d26b5964ad7b370061691a94ce5f6f4b9158",
- "bytes": 17821,
- "width": 640,
- "height": 346,
- "image": "screenshots/02-truck-new-view.jpg",
- "cache": "no-cache, private"
- },
- "helpersRestored": true,
- "screenshot": "screenshots/02-truck-new-view-editor.png",
- "coverImage": "screenshots/02-truck-new-view.jpg"
- },
- {
- "title": "更换相机视角更新封面,已发布历史版本保留旧封面",
- "status": "PASS",
- "details": {
- "oldVersionId": "203",
- "newVersionId": "204",
- "oldSha256": "15caa821e90a70d5b0f8ba1554c0d0d6db332a9b5e53b0d5e94de24d7663533e",
- "newSha256": "7b7cc4cc75a3a355f26e2ff15ae1d26b5964ad7b370061691a94ce5f6f4b9158"
- },
- "coverImage": "screenshots/02-truck-new-view.jpg"
- },
- {
- "title": "手动保存狐狸:生成与卡车不同的真实模型封面",
- "status": "PASS",
- "details": {
- "id": "157",
- "name": "实测模型-狐狸动画-已验证-20260905",
- "coverUri": "fsvc://unreal-tran/image/2026/09/05/3d78768edb7ce9b4a89a75c4d68de597.jpg",
- "versionId": "202",
- "projectVersion": 12,
- "coverAssetId": "2058",
- "sha256": "6ace0cf199626a3e8ecd4b360d62c0a6ec9b39309293554765dca8128a2ec5e9",
- "bytes": 13163,
- "width": 640,
- "height": 346,
- "image": "screenshots/03-fox-cover.jpg",
- "cache": "no-cache, private"
- },
- "helpersRestored": true,
- "screenshot": "screenshots/03-fox-cover-editor.png",
- "coverImage": "screenshots/03-fox-cover.jpg"
- },
- {
- "title": "注入封面上传503:模型位置保存成功,旧封面保留并提示",
- "status": "PASS",
- "details": {
- "httpStatus": 503,
- "contentSaveStatus": 200,
- "originalX": 0.25,
- "savedX": 0.35,
- "coverUnchanged": true
- },
- "screenshot": "screenshots/04-upload-failure-content-saved.png"
- },
- {
- "title": "实际自动保存周期保存位置变更,不再次上传封面",
- "status": "PASS",
- "details": {
- "elapsedMs": 16159,
- "coverUploads": 0,
- "savedX": 0.45,
- "coverUnchanged": true
- },
- "screenshot": "screenshots/05-auto-save-no-cover-upload.png"
- },
- {
- "title": "解除故障并恢复原模型位置:封面再次更新成功",
- "status": "PASS",
- "details": {
- "id": "157",
- "name": "实测模型-狐狸动画-已验证-20260905",
- "coverUri": "fsvc://unreal-tran/image/2026/09/05/c09a49efd4423dcf8ccbc46b46d1e209.jpg",
- "versionId": "202",
- "projectVersion": 15,
- "coverAssetId": "2067",
- "sha256": "6ace0cf199626a3e8ecd4b360d62c0a6ec9b39309293554765dca8128a2ec5e9",
- "bytes": 13163,
- "width": 640,
- "height": 346,
- "image": "screenshots/06-fox-restored-cover.jpg",
- "cache": "no-cache, private"
- },
- "helpersRestored": true,
- "screenshot": "screenshots/06-fox-restored-cover-editor.png",
- "coverImage": "screenshots/06-fox-restored-cover.jpg"
- },
- {
- "title": "列表显示真实封面;读取失败回退后,同条件搜索可以重试恢复",
- "status": "PASS",
- "details": {
- "failedReads": 1,
- "restoredImages": 2,
- "sort": "CREATED_DESC"
- },
- "screenshot": "screenshots/07-real-model-covers-list.png"
- },
- {
- "title": "离开缓存列表后取消封面请求并释放Blob URL",
- "status": "PASS",
- "details": {
- "releasedUrls": 2
- }
- },
- {
- "title": "首次导入GLB自动生成封面,模型文件与图片均完成受控绑定",
- "status": "PASS",
- "details": {
- "id": "158",
- "source": "01-Box.glb",
- "uploads": [
- {
- "status": 200,
- "type": "MODEL_FILE",
- "code": "MODEL_MTO82QGT_01-BOX"
- },
- {
- "status": 200,
- "type": "IMAGE",
- "code": "MODEL_COVER"
- }
- ],
- "sha256": "6e99933505dfeb91a14d16ef1ddf53df2ea022add1b866de835c08403685b7b6",
- "bytes": 11446,
- "width": 640,
- "height": 346,
- "image": "screenshots/08-import-box-cover.jpg",
- "cache": "no-cache, private"
- },
- "screenshot": "screenshots/08-import-box-editor.png",
- "coverImage": "screenshots/08-import-box-cover.jpg"
- },
- {
- "title": "清理首次导入临时模型",
- "status": "PASS",
- "details": {
- "id": "158",
- "status": "业务软删除",
- "readAfterDelete": 404
- }
- },
- {
- "title": "封面读取边界:未登录401、无封面404、图片Range正确",
- "status": "PASS",
- "details": {
- "anonymous": 401,
- "missing": 404,
- "range": 206,
- "rangeBytes": 32
- }
- },
- {
- "title": "最终两条保留模型显示独立封面,创建时间倒序保持",
- "status": "PASS",
- "screenshot": "screenshots/09-final-two-covers.png"
- },
- {
- "title": "全新浏览器会话显示两张持久化封面,重开模型不自动上传图片",
- "status": "PASS",
- "details": {
- "projects": [
- {
- "id": "156",
- "status": "PUBLISHED",
- "versionId": "204"
- },
- {
- "id": "157",
- "status": "DRAFT",
- "versionId": "202"
- }
- ],
- "unexpectedUploads": 0
- },
- "screenshot": "screenshots/10-fresh-session-covers.png"
- }
- ],
- "projects": [
- {
- "id": "156",
- "name": "实测模型-牛奶卡车-已验证-20260905",
- "originalStatus": "PUBLISHED",
- "originalCover": "",
- "originalVersionId": "200",
- "cover": {
- "id": "156",
- "name": "实测模型-牛奶卡车-已验证-20260905",
- "coverUri": "fsvc://unreal-tran/image/2026/09/05/67b2a5d15f9c1fc47a0a760f28fd2e2e.jpg",
- "versionId": "204",
- "projectVersion": 18,
- "coverAssetId": "2055",
- "sha256": "7b7cc4cc75a3a355f26e2ff15ae1d26b5964ad7b370061691a94ce5f6f4b9158",
- "bytes": 17821,
- "width": 640,
- "height": 346,
- "image": "screenshots/02-truck-new-view.jpg",
- "cache": "no-cache, private"
- },
- "finalStatus": "PUBLISHED",
- "finalVersionId": "204",
- "retained": true
- },
- {
- "id": "157",
- "name": "实测模型-狐狸动画-已验证-20260905",
- "originalStatus": "DRAFT",
- "originalCover": "",
- "originalVersionId": "202",
- "cover": {
- "id": "157",
- "name": "实测模型-狐狸动画-已验证-20260905",
- "coverUri": "fsvc://unreal-tran/image/2026/09/05/c09a49efd4423dcf8ccbc46b46d1e209.jpg",
- "versionId": "202",
- "projectVersion": 15,
- "coverAssetId": "2067",
- "sha256": "6ace0cf199626a3e8ecd4b360d62c0a6ec9b39309293554765dca8128a2ec5e9",
- "bytes": 13163,
- "width": 640,
- "height": 346,
- "image": "screenshots/06-fox-restored-cover.jpg",
- "cache": "no-cache, private"
- },
- "finalStatus": "DRAFT",
- "finalVersionId": "202",
- "retained": true
- }
- ],
- "issues": [],
- "commands": [
- {
- "command": "pnpm run build",
- "status": "PASS",
- "details": "最终web类型检查、Vite构建、10个生成包payload哈希与API桥接/凭据门禁通过;现有Three资源URL与chunk体积警告未阻断构建。"
- },
- {
- "command": "mvn -B -ntp -pl ut_tran -Dtest=ContentProjectServiceTest,ContentAssetServiceTest,ContentControllerRangeTest,ContentAuthorizerTest test",
- "status": "PASS",
- "details": "Java17,93项通过。"
- },
- {
- "command": "node --test --test-reporter=spec tools/model-cover-capture.test.mjs tools/model-cover-api.test.mjs",
- "status": "PASS",
- "details": "截图12项+封面事务8项,20/20通过;既有模型API与导入失败保护回归也通过。"
- }
- ],
- "retainedData": "保留156卡车、157狐狸及新封面;卡车恢复已发布,狐狸保留原草稿状态。故障测试位置改动已恢复。158首次导入临时工程已通过业务接口软删除。历史发布版本及封面保留。"
- }
|