From 5948e2998d23742d5c4d8a1fbb143e6f4ef0308e Mon Sep 17 00:00:00 2001 From: xiaoma Date: Mon, 9 Feb 2026 18:58:25 +0800 Subject: [PATCH] fix img dark --- backend/db.sqlite3 | Bin 196608 -> 196608 bytes frontend/src/components/ModelViewer.jsx | 68 ++++++++++++++++++------ frontend/src/pages/ProductDetail.jsx | 25 ++++----- frontend/src/pages/ServiceDetail.jsx | 6 ++- 4 files changed, 66 insertions(+), 33 deletions(-) diff --git a/backend/db.sqlite3 b/backend/db.sqlite3 index 1d3123d9ce4e02e563ea0535a90339446b5fa41d..6e2c1da30261adf668a0ad9d99645e143b1871a8 100644 GIT binary patch delta 548 zcmZo@;Av>!nIO%$YNCuYjo4v);KR3$C%h0>bCqE-4%h%lBC(Xj$IX^x>H{adNHLNJn!p$_o zxhTWE($F}*Fe%W;z{pJ3z)07~7~vjELjyw-gUxxfr?K#{@_R7w-{JS*-_AdYKXK53bQXGA-Aw@&RswKgA5PG=m;876kMi#a8a9)k zjg^^^k)3Dy{`HKmY&`tC82EQ>=h(owfuEIynUj%c`~Llmt^zVVTpA4g>-c^78hN+y zX7j4@%;6E{?&D_V+Rvo{3?mLMo<Vhzt^XNo9Qb)J zF|cr*Vc>qoFT_{Dbq45+JzT;~;#>j@zOsyroSf{9fxL~y3=GpJ++$Rj&f>>ZGCjzL Ysd)P{Z>BelEc`PVmTkZ0%cQjl00umtCIA2c delta 249 zcmV + 3D 模型加载失败 + + ); + } + + return this.props.children; + } +} + const Model = ({ objPath, mtlPath, scale = 1 }) => { // If mtlPath is provided, load materials first const materials = mtlPath ? useLoader(MTLLoader, mtlPath) : null; @@ -158,21 +194,23 @@ const ModelViewer = ({ objPath, mtlPath, scale = 1, autoRotate = true }) => { return (
- - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + +
); }; diff --git a/frontend/src/pages/ProductDetail.jsx b/frontend/src/pages/ProductDetail.jsx index 1f106f5..08de8b4 100644 --- a/frontend/src/pages/ProductDetail.jsx +++ b/frontend/src/pages/ProductDetail.jsx @@ -82,20 +82,6 @@ const ProductDetail = () => { return { obj: p.model_3d_url }; } - // 如果有静态图,且没有特定的 3D 模型 URL,则优先显示静态图,不进入下方的通用 3D 模板匹配 - if (p.static_image_url) { - return null; - } - - const text = (p.name + p.description).toLowerCase(); - - if (text.includes('mini')) { - return { obj: '/3dmimi/3D_PCB_V3-mini.obj', mtl: '/3dmimi/3D_PCB_V3-mini.mtl' }; - } else if (text.includes('v2')) { - return { obj: '/3dV2/xiaoliangV2.obj', mtl: '/3dV2/xiaoliangV2.mtl' }; - } else if (text.includes('vision') || text.includes('视觉') || text.includes('camera')) { - return { obj: '/3dmodo/xiaoliang1.obj', mtl: '/3dmodo/xiaoliang1.mtl' }; - } return null; }; @@ -207,8 +193,15 @@ const ProductDetail = () => { )} {product.display_detail_image ? ( -
- 产品详情 +
+ 产品详情
) : (
diff --git a/frontend/src/pages/ServiceDetail.jsx b/frontend/src/pages/ServiceDetail.jsx index cd523bb..fcbc1da 100644 --- a/frontend/src/pages/ServiceDetail.jsx +++ b/frontend/src/pages/ServiceDetail.jsx @@ -132,16 +132,18 @@ const ServiceDetail = () => { {service.display_detail_image ? (
{service.title}
) : (