- views.py: delete-script-segment 同步删对应 StoryboardFrame(原 SET_NULL 留孤儿帧致故事板仍显示已删的场),并重排剩余帧 sort_order - actor-library.tsx: 演员库改自取 person 资产(全局 assets 已懒加载不再全量预载,否则演员库全空),保存后 reload 即时入列 - pipeline.tsx: 抽出 EditableShotField 组件、PromptBox 参数化 - 附 perf-report 产物 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
268 lines
7.0 KiB
JSON
268 lines
7.0 KiB
JSON
{
|
||
"ts": "2026-06-17T10:57:57.302Z",
|
||
"base": "http://127.0.0.1:5174",
|
||
"apiChecks": [
|
||
{
|
||
"name": "page_size 生效 /api/assets/",
|
||
"pass": true,
|
||
"detail": "count=239 返回=200 next=有"
|
||
},
|
||
{
|
||
"name": "page_size 生效 /api/products/",
|
||
"pass": true,
|
||
"detail": "count=10 返回=10 next=无"
|
||
},
|
||
{
|
||
"name": "page_size 生效 /api/projects/",
|
||
"pass": true,
|
||
"detail": "count=21 返回=21 next=无"
|
||
},
|
||
{
|
||
"name": "延迟 /api/assets/?page_size=200",
|
||
"pass": true,
|
||
"soft": true,
|
||
"detail": "720ms / 参考 1200ms (HTTP 200)"
|
||
},
|
||
{
|
||
"name": "延迟 /api/products/?page_size=200",
|
||
"pass": true,
|
||
"soft": true,
|
||
"detail": "597ms / 参考 1200ms (HTTP 200)"
|
||
},
|
||
{
|
||
"name": "延迟 /api/projects/?page_size=200",
|
||
"pass": false,
|
||
"soft": true,
|
||
"detail": "2004ms / 参考 1200ms (HTTP 200)"
|
||
},
|
||
{
|
||
"name": "延迟 /api/ops/notifications/?page_size=100",
|
||
"pass": false,
|
||
"soft": true,
|
||
"detail": "1228ms / 参考 1200ms (HTTP 200)"
|
||
}
|
||
],
|
||
"pageFailed": 0,
|
||
"results": [
|
||
{
|
||
"name": "dashboard",
|
||
"route": "http://127.0.0.1:5174/dashboard",
|
||
"unique": 6,
|
||
"budget": 14,
|
||
"rawRequests": 7,
|
||
"waterfall": 0,
|
||
"duplicates": [],
|
||
"failed": [],
|
||
"breakdown": [
|
||
"GET /api/auth/me/",
|
||
"GET /api/products/",
|
||
"GET /api/projects/",
|
||
"GET /api/billing/summary/",
|
||
"GET /api/ai/models/",
|
||
"GET /api/ops/notifications/?page_size=1",
|
||
"GET /api/assets/summary/"
|
||
],
|
||
"elapsedMs": 5557,
|
||
"problems": [],
|
||
"warnings": [],
|
||
"pass": true
|
||
},
|
||
{
|
||
"name": "products",
|
||
"route": "http://127.0.0.1:5174/products",
|
||
"unique": 5,
|
||
"budget": 6,
|
||
"rawRequests": 6,
|
||
"waterfall": 0,
|
||
"duplicates": [],
|
||
"failed": [],
|
||
"breakdown": [
|
||
"GET /api/auth/me/",
|
||
"GET /api/products/",
|
||
"GET /api/projects/",
|
||
"GET /api/billing/summary/",
|
||
"GET /api/ai/models/",
|
||
"GET /api/ops/notifications/?page_size=1"
|
||
],
|
||
"elapsedMs": 3488,
|
||
"problems": [],
|
||
"warnings": [],
|
||
"pass": true
|
||
},
|
||
{
|
||
"name": "projects",
|
||
"route": "http://127.0.0.1:5174/projects",
|
||
"unique": 5,
|
||
"budget": 6,
|
||
"rawRequests": 6,
|
||
"waterfall": 0,
|
||
"duplicates": [],
|
||
"failed": [],
|
||
"breakdown": [
|
||
"GET /api/auth/me/",
|
||
"GET /api/products/",
|
||
"GET /api/projects/",
|
||
"GET /api/billing/summary/",
|
||
"GET /api/ai/models/",
|
||
"GET /api/ops/notifications/?page_size=1"
|
||
],
|
||
"elapsedMs": 3502,
|
||
"problems": [],
|
||
"warnings": [],
|
||
"pass": true
|
||
},
|
||
{
|
||
"name": "library",
|
||
"route": "http://127.0.0.1:5174/library",
|
||
"unique": 8,
|
||
"budget": 8,
|
||
"rawRequests": 10,
|
||
"waterfall": 0,
|
||
"duplicates": [
|
||
{
|
||
"key": "GET /api/assets/?ordering=-created_at&page=1&page_size=10&tab=people",
|
||
"n": 2
|
||
}
|
||
],
|
||
"failed": [],
|
||
"breakdown": [
|
||
"GET /api/assets/?ordering=-created_at&page=1&page_size=10&tab=people ×2",
|
||
"GET /api/auth/me/",
|
||
"GET /api/products/",
|
||
"GET /api/projects/",
|
||
"GET /api/billing/summary/",
|
||
"GET /api/ai/models/",
|
||
"GET /api/ops/notifications/?page_size=1",
|
||
"GET /api/assets/summary/",
|
||
"GET /api/assets/facets/?meta_keys=gender,age,role&tab=people"
|
||
],
|
||
"elapsedMs": 5728,
|
||
"problems": [],
|
||
"warnings": [],
|
||
"pass": true
|
||
},
|
||
{
|
||
"name": "account",
|
||
"route": "http://127.0.0.1:5174/account",
|
||
"unique": 8,
|
||
"budget": 8,
|
||
"rawRequests": 9,
|
||
"waterfall": 0,
|
||
"duplicates": [],
|
||
"failed": [],
|
||
"breakdown": [
|
||
"GET /api/auth/me/",
|
||
"GET /api/products/",
|
||
"GET /api/projects/",
|
||
"GET /api/billing/summary/",
|
||
"GET /api/ai/models/",
|
||
"GET /api/ops/notifications/?page_size=1",
|
||
"GET /api/billing/trend/",
|
||
"GET /api/auth/team/members/",
|
||
"GET /api/billing/ledgers/?page=1&page_size=10"
|
||
],
|
||
"elapsedMs": 5743,
|
||
"problems": [],
|
||
"warnings": [],
|
||
"pass": true
|
||
},
|
||
{
|
||
"name": "team",
|
||
"route": "http://127.0.0.1:5174/team",
|
||
"unique": 6,
|
||
"budget": 4,
|
||
"rawRequests": 8,
|
||
"waterfall": 0,
|
||
"duplicates": [],
|
||
"failed": [],
|
||
"breakdown": [
|
||
"GET /api/auth/me/",
|
||
"GET /api/products/",
|
||
"GET /api/projects/",
|
||
"GET /api/billing/summary/",
|
||
"GET /api/ai/models/",
|
||
"GET /api/ops/notifications/?page_size=1",
|
||
"GET /api/auth/team/members/",
|
||
"GET /api/ops/notifications/?page_size=100"
|
||
],
|
||
"elapsedMs": 5500,
|
||
"problems": [],
|
||
"warnings": [
|
||
"首屏接口数 6 > 预算 4(架构性过量拉取,待决策)"
|
||
],
|
||
"pass": true
|
||
},
|
||
{
|
||
"name": "messages",
|
||
"route": "http://127.0.0.1:5174/messages",
|
||
"unique": 5,
|
||
"budget": 4,
|
||
"rawRequests": 7,
|
||
"waterfall": 0,
|
||
"duplicates": [],
|
||
"failed": [],
|
||
"breakdown": [
|
||
"GET /api/auth/me/",
|
||
"GET /api/products/",
|
||
"GET /api/projects/",
|
||
"GET /api/billing/summary/",
|
||
"GET /api/ai/models/",
|
||
"GET /api/ops/notifications/?page_size=1",
|
||
"GET /api/ops/notifications/?page=1&page_size=10"
|
||
],
|
||
"elapsedMs": 3485,
|
||
"problems": [],
|
||
"warnings": [
|
||
"首屏接口数 5 > 预算 4(架构性过量拉取,待决策)"
|
||
],
|
||
"pass": true
|
||
},
|
||
{
|
||
"name": "productDetail",
|
||
"route": "http://127.0.0.1:5174/products/045ad8d6-8b15-486b-a4a9-f6968eb1555f",
|
||
"unique": 6,
|
||
"budget": 8,
|
||
"rawRequests": 7,
|
||
"waterfall": 0,
|
||
"duplicates": [],
|
||
"failed": [],
|
||
"breakdown": [
|
||
"GET /api/auth/me/",
|
||
"GET /api/products/",
|
||
"GET /api/projects/",
|
||
"GET /api/billing/summary/",
|
||
"GET /api/ai/models/",
|
||
"GET /api/ops/notifications/?page_size=1",
|
||
"GET /api/assets/?page_size=200&product=045ad8d6-8b15-486b-a4a9-f6968eb1555f"
|
||
],
|
||
"elapsedMs": 5755,
|
||
"problems": [],
|
||
"warnings": [],
|
||
"pass": true
|
||
},
|
||
{
|
||
"name": "pipeline",
|
||
"route": "http://127.0.0.1:5174/pipeline/1048451e-3b4a-4b66-a8f4-cb865096de2f",
|
||
"unique": 7,
|
||
"budget": 10,
|
||
"rawRequests": 8,
|
||
"waterfall": 0,
|
||
"duplicates": [],
|
||
"failed": [],
|
||
"breakdown": [
|
||
"GET /api/auth/me/",
|
||
"GET /api/projects/1048451e-3b4a-4b66-a8f4-cb865096de2f/",
|
||
"GET /api/products/",
|
||
"GET /api/projects/",
|
||
"GET /api/billing/summary/",
|
||
"GET /api/ai/models/",
|
||
"GET /api/ops/notifications/?page_size=1",
|
||
"GET /api/projects/1048451e-3b4a-4b66-a8f4-cb865096de2f/pending-assets/"
|
||
],
|
||
"elapsedMs": 6015,
|
||
"problems": [],
|
||
"warnings": [],
|
||
"pass": true
|
||
}
|
||
]
|
||
} |