feat(report): 增强统计报告,增加模块花费图表并优化UI

本次更新对统计报告进行了多项功能增强和界面优化,旨在提供更丰富的分析维度和更佳的用户体验。

主要变更包括:
- **新功能**:
  - 新增“按模块花费”饼图,以提供新的成本分析维度。
  - 在供应商统计表格中加入“平均耗时”指标,用于性能评估。
  - 在报告顶部添加“名词解释”卡片,帮助用户理解关键指标。

- **UI/UX 优化**:
  - 重构页面布局为主内容区与图表侧边栏,提升信息密度和可读性,并实现响应式设计。
  - 全面优化图表视觉效果,包括更新调色板、增加加载动画、改进提示框,使其更具表现力和交互性。
This commit is contained in:
minecraft1024a
2025-11-29 10:12:33 +08:00
parent 7efbf58dda
commit 9dff133146
7 changed files with 207 additions and 33 deletions

View File

@@ -299,6 +299,7 @@ class StatisticOutputTask(AsyncTask):
# Chart data
PIE_CHART_COST_BY_PROVIDER: {},
PIE_CHART_REQ_BY_PROVIDER: {},
PIE_CHART_COST_BY_MODULE: {},
BAR_CHART_COST_BY_MODEL: {},
BAR_CHART_REQ_BY_MODEL: {},
}
@@ -457,6 +458,15 @@ class StatisticOutputTask(AsyncTask):
"data": [round(item[1], 4) for item in sorted_providers],
}
# 按模块花费饼图
module_costs = period_stats[COST_BY_MODULE]
if module_costs:
sorted_modules = sorted(module_costs.items(), key=lambda item: item[1], reverse=True)
period_stats[PIE_CHART_COST_BY_MODULE] = {
"labels": [item[0] for item in sorted_modules],
"data": [round(item[1], 4) for item in sorted_modules],
}
# 按模型花费条形图
model_costs = period_stats[COST_BY_MODEL]
if model_costs: