From 488f9b229cd1b4cac0e2a781c9b2ba66da21900b Mon Sep 17 00:00:00 2001 From: cjw <792430652@qq.com> Date: Sun, 15 Feb 2026 01:09:53 +0800 Subject: [PATCH] deving --- src/api/routes.py | 2 +- src/utils/html_generator.py | 33 ++++++++--------- static/script.js | 71 ++++++++++++++++++++++++++++--------- 3 files changed, 70 insertions(+), 36 deletions(-) diff --git a/src/api/routes.py b/src/api/routes.py index ab80922..301f4e3 100644 --- a/src/api/routes.py +++ b/src/api/routes.py @@ -367,7 +367,7 @@ async def process_file_core( tasks[task_id]["geometry_data"] = geometry_data tasks[task_id]["analysis_result"] = analysis_result tasks[task_id]["cavity_data"] = detailed_cavity_json - tasks[task_id]["key_info"] = cavity_key_info + tasks[task_id]["key_info"] = detailed_cavity_json # 传递完整数据给前端 tasks[task_id]["status"] = ProcessingStatus.COMPLETED tasks[task_id]["completed_at"] = str(datetime.now()) diff --git a/src/utils/html_generator.py b/src/utils/html_generator.py index 784ff8c..98737a4 100644 --- a/src/utils/html_generator.py +++ b/src/utils/html_generator.py @@ -30,11 +30,12 @@ class HTMLGenerator: topology = geometry_data.get("topology", {}) center_of_mass = geometry_data.get("center_of_mass", [0, 0, 0]) cavity_html = "" - if cavity_data: + # 强制测试:无论cavity_data如何,都显示面板 + if True: # 安全获取嵌套数据 - metadata = cavity_data.get("metadata", {}) - manufacturing_info = cavity_data.get("manufacturing_info", {}) - mold_cavities = cavity_data.get("mold_cavities", {}) + metadata = cavity_data.get("metadata", {}) if cavity_data else {} + manufacturing_info = cavity_data.get("manufacturing_info", {}) if cavity_data else {} + mold_cavities = cavity_data.get("mold_cavities", {}) if cavity_data else {} cavity_key_info = mold_cavities.get("cavity_key_info", {}) geo_chars = cavity_key_info.get("geometric_characteristics", {}) @@ -43,10 +44,10 @@ class HTMLGenerator: logger.info(f"生成HTML - 产品体积: {geo_chars.get('product_volume')}") cavity_html = f""" -
-

🔧 关键工艺参数

-
- 模具参数 +
+

🔧 关键工艺参数

+
+ 模具参数
收缩率: @@ -60,8 +61,8 @@ class HTMLGenerator: 分型线长度: {manufacturing_info.get("parting_line_length", "N/A")}
-
- 几何特性 +
+ 几何特性
产品体积: @@ -75,8 +76,8 @@ class HTMLGenerator: 壁厚范围: {geo_chars.get("wall_thickness_range", "N/A")}
-
- 制造要求 +
+ 制造要求
型腔材料: @@ -98,13 +99,7 @@ class HTMLGenerator: """ else: logger.warning(f"cavity_data 为空,无法显示工艺参数 - 文件: {stp_filename}") - # 即使没有cavity_data,也生成一个空面板占位 - cavity_html = """ -
-

🔧 关键工艺参数

-
数据未加载
-
- """ + cavity_html = "" html_content = f""" diff --git a/static/script.js b/static/script.js index 2cc6b4b..6a9672f 100644 --- a/static/script.js +++ b/static/script.js @@ -576,25 +576,64 @@ function displayKeyInfo(keyInfo) { return; } - const moldParams = keyInfo.mold_parameters || {}; - const geoChars = keyInfo.geometric_characteristics || {}; - const manuReqs = keyInfo.manufacturing_requirements || {}; + // 从正确的数据结构中提取数据 + const metadata = keyInfo.metadata || {}; + const manufacturingInfo = keyInfo.manufacturing_info || {}; + const moldCavities = keyInfo.mold_cavities || {}; + const cavityKeyInfo = moldCavities.cavity_key_info || {}; + const geoChars = cavityKeyInfo.geometric_characteristics || {}; keyInfoDiv.innerHTML = ` -

模具参数

-

收缩率: ${moldParams.shrinkage_rate || 'N/A'}

-

拔模角: ${moldParams.draft_angle || 'N/A'}

-

分型线长度: ${moldParams.parting_line_length || 'N/A'} mm

+
+
🔧 模具参数
+
+
+
收缩率
+
${metadata.shrinkage_rate !== undefined ? metadata.shrinkage_rate : 'N/A'}
+
+
+
拔模角
+
${metadata.draft_angle !== undefined ? metadata.draft_angle + '°' : 'N/A'}
+
+
+
分型线长度
+
${manufacturingInfo.parting_line_length || 'N/A'}
+
-

几何特性

-

产品体积: ${geoChars.product_volume || 'N/A'}

-

产品重量: ${geoChars.product_weight || 'N/A'}

-

壁厚范围: ${geoChars.wall_thickness_range || 'N/A'}

+
+
📐 几何特性
+
+
+
产品体积
+
${geoChars.product_volume || 'N/A'}
+
+
+
产品重量
+
${geoChars.product_weight || 'N/A'}
+
+
+
壁厚范围
+
${geoChars.wall_thickness_range || 'N/A'}
+
-

制造要求

-

型腔材料: ${manuReqs.cavity_material || 'N/A'}

-

硬度: ${manuReqs.hardness || 'N/A'}

-

表面光洁度: ${manuReqs.surface_finish || 'N/A'}

-

预估周期: ${manuReqs.estimated_cycle_time || 'N/A'}

+
+
⚙️ 制造要求
+
+
+
型腔材料
+
${manufacturingInfo.mold_material || 'N/A'}
+
+
+
硬度
+
${manufacturingInfo.mold_hardness || 'N/A'}
+
+
+
表面光洁度
+
${manufacturingInfo.surface_finish || 'N/A'}
+
+
+
预估周期
+
${manufacturingInfo.estimated_cycle_time || 'N/A'}
+
`; }