From d18da41505c8a59aea501a2c2a24a08fe78a6e94 Mon Sep 17 00:00:00 2001 From: duxin Date: Thu, 9 Jul 2026 09:25:14 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20step13=20=E7=BB=9F=E4=B8=80=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=2012=5Fvisualization=20=E7=9B=AE=E5=BD=95=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 问题: step13_service.py 检查 14_visualization 但 report_word.py 内部写死使用 12_visualization, 目录名不一致导致新服务报 '可视化目录不存在'。 修复: step13_service.py 全部 14_visualization → 12_visualization --- src/new/services/step13_service.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/new/services/step13_service.py b/src/new/services/step13_service.py index 40c17f3..f6b316a 100644 --- a/src/new/services/step13_service.py +++ b/src/new/services/step13_service.py @@ -7,7 +7,7 @@ Step13 后端计算服务(Word 报告生成) 1. 从 ``config`` 字典读取参数; 2. 调用 ``WaterQualityReportGenerator.generate_report`` 把工作目录 - 下的可视化结果(14_visualization 等)拼装成 Word 文档; + 下的可视化结果(12_visualization 等)拼装成 Word 文档; 3. AI 配置(Provider / API Key / Model / Timeout)从环境变量读取, 与 ``ReportGenerationConfig`` 默认行为完全一致;调用方可在 dispatch 前将 QSettings 内容写入环境变量(如 ``AI_PROVIDER`` / ``MINIMAX_API_KEY``); @@ -17,7 +17,7 @@ Step13 后端计算服务(Word 报告生成) execute_step13({ "work_dir": "D:/workspace", # 工作目录(必填) - "output_dir": "D:/workspace/14_visualization", # 输出目录(可省 → work_dir/14_visualization) + "output_dir": "D:/workspace/12_visualization", # 输出目录(可省 → work_dir/12_visualization) "report_title": "水质参数反演分析报告", # 报告标题 "enable_ai_analysis": True, # 是否启用 AI 解读 # --- AI 配置(可省;缺省从环境变量 AI_PROVIDER / MINIMAX_API_KEY 等读) --- @@ -60,7 +60,7 @@ def _resolve_output_dir(config: Dict[str, Any], work_dir: str) -> tuple[Path, st """根据 output_dir / work_dir 计算 Word 报告输出目录 使用共享解析器强制执行"用户优先"规则——用户指定 output_dir 时直接用其值 - (step13 的 output_dir 本身就是一个目录),否则用 work_dir/14_visualization 默认。 + (step13 的 output_dir 本身就是一个目录),否则用 work_dir/12_visualization 默认。 注意:step13 与其他步骤不同——output_dir 直接表示目录而非文件路径, 所以使用 Path(user_path) 而非 .parent。 @@ -68,7 +68,7 @@ def _resolve_output_dir(config: Dict[str, Any], work_dir: str) -> tuple[Path, st user_path = get_user_output_path(config, "output_dir", "output_path") if user_path: return Path(user_path), "user" - return Path(work_dir) / "14_visualization", "default" + return Path(work_dir) / "12_visualization", "default" def _apply_ai_env(config: Dict[str, Any]) -> None: @@ -153,7 +153,7 @@ def execute_step13(config: Dict[str, Any]) -> Dict[str, Any]: "mode": mode, } - vis_dir = Path(work_dir) / "14_visualization" + vis_dir = Path(work_dir) / "12_visualization" if not vis_dir.is_dir(): return { "status": "error",