From cca51530c641dbb29bb5b63a66c6c36219318374 Mon Sep 17 00:00:00 2001 From: cat_shark <1716967236@qq.com> Date: Sat, 4 Jul 2026 16:52:09 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E5=90=8E=E7=AB=AF)=EF=BC=9AextraNodes=20?= =?UTF-8?q?=E8=A7=A3=E6=9E=90=E5=85=BC=E5=AE=B9=E5=AD=97=E7=AC=A6=E4=B8=B2?= =?UTF-8?q?=E5=92=8C=E5=AF=B9=E8=B1=A1=E4=B8=A4=E7=A7=8D=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit AI 可能返回 [字符串] 或 [{title:...,path:...}] 两种格式, buildCompareResultFromAI() 现在通过 isTextual() 判断并分别处理 --- .../service/impl/StandardMindMapServiceImpl.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/guo/learningprogresstracker/service/impl/StandardMindMapServiceImpl.java b/src/main/java/com/guo/learningprogresstracker/service/impl/StandardMindMapServiceImpl.java index 5877af4..aac66f0 100644 --- a/src/main/java/com/guo/learningprogresstracker/service/impl/StandardMindMapServiceImpl.java +++ b/src/main/java/com/guo/learningprogresstracker/service/impl/StandardMindMapServiceImpl.java @@ -270,14 +270,21 @@ public class StandardMindMapServiceImpl implements StandardMindMapService { } } - // 4. 读取 extraNodes + // 4. 读取 extraNodes(兼容字符串数组和对象数组两种格式) List extras = new ArrayList<>(); JsonNode extrasArr = aiJson.path("extraNodes"); if (extrasArr.isArray()) { for (JsonNode e : extrasArr) { CompareResult.FlatNode fn = new CompareResult.FlatNode(); - fn.setTitle(e.path("title").asText("")); - fn.setPath(e.path("path").asText("")); + if (e.isTextual()) { + // 字符串格式 ["知识点D1", "知识点D2"] + fn.setTitle(e.asText("")); + fn.setPath(""); + } else { + // 对象格式 [{ title: "...", path: "..." }] + fn.setTitle(e.path("title").asText("")); + fn.setPath(e.path("path").asText("")); + } extras.add(fn); } }