Skip to content

Commit 0c9f537

Browse files
MKY508claude
andcommitted
fix: 修复图表数据结构嵌套问题
- SSEEvent.visualization() 扁平化数据结构 - chart.data 现在直接是数组,而不是嵌套对象 - 前端 ChartDisplay 可以正确接收 data/xKey/yKeys/title 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent c68f17e commit 0c9f537

File tree

2 files changed

+20
-3
lines changed

2 files changed

+20
-3
lines changed

apps/api/app/models/chat.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,15 @@ def visualization(cls, chart_type: str, chart_data: dict[str, Any]) -> "SSEEvent
7979
"""创建可视化事件"""
8080
return cls(
8181
type=SSEEventType.VISUALIZATION,
82-
data={"chart": {"type": chart_type, "data": chart_data}},
82+
data={
83+
"chart": {
84+
"type": chart_type,
85+
"data": chart_data.get("data", []),
86+
"xKey": chart_data.get("xKey"),
87+
"yKeys": chart_data.get("yKeys"),
88+
"title": chart_data.get("title"),
89+
}
90+
},
8391
)
8492

8593
@classmethod

apps/api/app/services/gptme_engine.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,15 +167,24 @@ async def _execute_with_litellm(
167167
if visualization:
168168
yield SSEEvent.visualization(
169169
chart_type=visualization.get("type", "bar"),
170-
chart_data=visualization,
170+
chart_data={
171+
"data": visualization.get("data", []),
172+
"xKey": visualization.get("xKey"),
173+
"yKeys": visualization.get("yKeys"),
174+
"title": visualization.get("title"),
175+
},
171176
)
172177
elif data and len(data) > 0:
173178
# 如果 AI 没有提供图表配置,使用后备的自动生成逻辑
174179
visualization = self._generate_visualization(data, query)
175180
if visualization:
176181
yield SSEEvent.visualization(
177182
chart_type=visualization.get("type", "bar"),
178-
chart_data=visualization.get("data", {}),
183+
chart_data={
184+
"data": visualization.get("data", []),
185+
"xKey": visualization.get("xKey"),
186+
"yKeys": visualization.get("yKeys"),
187+
},
179188
)
180189

181190
except Exception as e:

0 commit comments

Comments
 (0)