一期采用字段级 DSL,生成固定代码,不提供 SQL 编辑器、跨表关联、公式脚本或任意 ECharts 配置。
{
"table": "shop_order",
"dimension": {
"field": "create_time",
"timeUnit": "day"
},
"metrics": [{
"field": "amount",
"aggregate": "sum",
"alias": "salesAmount"
}],
"filters": [{
"field": "status",
"operator": "eq",
"value": "PAID"
}],
"dateRange": {
"field": "create_time",
"preset": "last_30_days"
},
"sort": { "by": "dimension", "order": "asc" },
"limit": 100
}
{
"dimensions": [
{ "key": "2026-06-01", "label": "06-01" }
],
"series": [{
"key": "salesAmount",
"name": "销售额",
"values": [12800.50]
}],
"summary": {
"value": 86420,
"count": 328
}
}
指标卡读取 summary,折线/柱状图读取 dimensions + series,饼图将第一组 series 映射为分类占比。
任意字段或整表计数
仅数值字段
文本、枚举、日期时间
日、周、月;仅时间字段
校验表、字段、聚合和筛选
每个块生成只读聚合 API
Mapper 使用白名单字段和固定 SQL 片段
ECharts 组件消费统一响应
@PreAuthorize。version 和迁移函数归一化。| 块 | 维度 | 指标 | 特有配置 |
|---|---|---|---|
| 指标卡 | 不需要 | 1 个 | 前后缀、精度、对比文案 |
| 折线图 | 必填 | 1–3 个 | 平滑、面积、图例 |
| 柱状图 | 必填 | 1–3 个 | 横向、堆叠、Top N |
| 饼图 | 必填 | 1 个 | 环形、标签、Top N + 其他 |