From 367fa2f5f17132dbfc1f553739796dd43697cdf4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BE=B7=E5=AE=87?= Date: Thu, 24 Sep 2026 17:19:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8E=E5=8F=B0=203D=20=E5=AE=9A=E4=BB=B7?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C=E4=B8=8D=E5=86=8D=E5=9B=A0=E7=BC=BA=E6=AE=B5?= =?UTF-8?q?=E6=88=96=E7=BC=BA=E5=AD=90=E8=A1=A8=E6=95=B4=E9=A1=B5=E5=B4=A9?= =?UTF-8?q?=E6=8E=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - apps/admin-web/src/pages/adminEditorGenerationPricing.ts:提交前校验对 3D 端点段做存在性判断,缺段直接跳过该段 - apps/admin-web/src/pages/adminEditorGenerationPricing.ts:versionPrices / addOnPrices 取值补 `?? {}` 兜底,接口返回残缺时降级为「校验不出问题」,不再抛异常白屏 --- apps/admin-web/src/pages/adminEditorGenerationPricing.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/apps/admin-web/src/pages/adminEditorGenerationPricing.ts b/apps/admin-web/src/pages/adminEditorGenerationPricing.ts index df234fc43..36e4a6893 100644 --- a/apps/admin-web/src/pages/adminEditorGenerationPricing.ts +++ b/apps/admin-web/src/pages/adminEditorGenerationPricing.ts @@ -67,9 +67,13 @@ export function collectInvalidEditorGenerationPricingLabels( const model3d = pricing.model3d; if (model3d) { for (const { key, label } of EDITOR_MODEL3D_ENDPOINT_SECTIONS) { + // 段与子表都来自接口返回:缺段或缺子表时只跳过这一段,不能让整页校验崩掉。 const endpointPricing = model3d[key]; + if (!endpointPricing) { + continue; + } for (const [version, price] of Object.entries( - endpointPricing.versionPrices, + endpointPricing.versionPrices ?? {}, )) { if (!isPositiveMudPoints(price.noTexture)) { labels.push(`${label} ${version} 无贴图`); @@ -79,7 +83,7 @@ export function collectInvalidEditorGenerationPricingLabels( } } for (const [addOn, price] of Object.entries( - endpointPricing.addOnPrices, + endpointPricing.addOnPrices ?? {}, )) { if (!isPositiveMudPoints(price)) { labels.push(`${label} ${editorModel3dAddOnLabel(addOn)}`);