@loom-framework/core 0.1.0-alpha.82 → 0.1.0-alpha.84

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"generate-dashboard.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/generate-dashboard.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkZzC,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2FvE"}
1
+ {"version":3,"file":"generate-dashboard.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/generate-dashboard.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyZzC,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2FvE"}
@@ -145,19 +145,26 @@ function buildG2Spec(widget) {
145
145
  }`;
146
146
  case 'radar':
147
147
  return `{
148
- type: 'line',
148
+ type: 'view',
149
149
  data: ${varName},
150
- encode: { x: 'name', y: 'value', color: 'name' },
151
150
  coordinate: { type: 'polar' },
151
+ scale: { x: { padding: 0.5, align: 0 }, y: { tickCount: 5 } },
152
+ axis: { x: { grid: true }, y: { zIndex: 1, title: false } },
153
+ children: [
154
+ { type: 'area', encode: { x: 'name', y: 'value' }, style: { fillOpacity: 0.3 } },
155
+ { type: 'line', encode: { x: 'name', y: 'value' }, style: { lineWidth: 2 } },
156
+ ],
152
157
  }`;
153
158
  case 'funnel':
154
159
  return `{
155
160
  type: 'interval',
156
161
  data: ${varName},
157
- encode: { x: 'name', y: 'value', color: 'name' },
162
+ encode: { x: 'name', y: 'value', color: 'name', shape: 'funnel' },
163
+ transform: [{ type: 'symmetryY' }],
164
+ scale: { x: { padding: 0 } },
158
165
  coordinate: { transform: [{ type: 'transpose' }] },
159
- transform: [{ type: 'stackY' }],
160
- scale: { y: { type: 'identity' } },
166
+ axis: false,
167
+ labels: [{ text: (d: any) => d.name + '\\n' + d.value, position: 'inside', transform: [{ type: 'contrastReverse' }] }],
161
168
  }`;
162
169
  case 'treemap':
163
170
  return `{
@@ -418,8 +425,8 @@ export function registerGenerateDashboardCommand(program) {
418
425
  console.log(chalk.bold(' Models:'), dashboard.models.join(', '));
419
426
  console.log(chalk.bold(' Widgets:'), dashboard.layout.reduce((sum, row) => sum + row.row.length, 0).toString());
420
427
  // 4. Auto-wire App.tsx
421
- const navLabel = dashboard.description || pascalName;
422
- const wired = await wireAppTsxAutomatic(projectRoot, pascalName, dashboard.name, navLabel);
428
+ const navLabel = 'Dashboard';
429
+ const wired = await wireAppTsxAutomatic(projectRoot, pascalName, dashboard.name, navLabel, { insertAtTop: true });
423
430
  if (wired) {
424
431
  console.log(chalk.green(' App.tsx wired automatically'));
425
432
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generate-dashboard.js","sourceRoot":"","sources":["../../../src/cli/commands/generate-dashboard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-dashboard.js","sourceRoot":"","sources":["../../../src/cli/commands/generate-dashboard.ts"],"names":[],"mappings":"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"}
@@ -171,8 +171,8 @@ async function createPackageJson(targetDir, options) {
171
171
  generate: 'loom generate capabilities',
172
172
  },
173
173
  dependencies: {
174
- '@loom-framework/core': '^0.1.0-alpha.82',
175
- '@loom-framework/frontend-antd': '^0.1.0-alpha.82',
174
+ '@loom-framework/core': '^0.1.0-alpha.84',
175
+ '@loom-framework/frontend-antd': '^0.1.0-alpha.84',
176
176
  'fastify': '^5.2.0',
177
177
  '@ant-design/x': '^2.5.0',
178
178
  '@ant-design/x-sdk': '^2.5.0',
@@ -7,7 +7,9 @@
7
7
  * Auto-wire App.tsx: add import, navItem, and switch case for a new page.
8
8
  * Returns true if successful, false if App.tsx structure is unexpected.
9
9
  */
10
- export declare function wireAppTsxAutomatic(projectRoot: string, pascalName: string, navKey: string, navLabel: string): Promise<boolean>;
10
+ export declare function wireAppTsxAutomatic(projectRoot: string, pascalName: string, navKey: string, navLabel: string, options?: {
11
+ insertAtTop?: boolean;
12
+ }): Promise<boolean>;
11
13
  /**
12
14
  * Auto-wire the SkillManagementPage into App.tsx.
13
15
  * Called once when the first CRUD page is generated.
@@ -1 +1 @@
1
- {"version":3,"file":"app-tsx-wiring.d.ts","sourceRoot":"","sources":["../../../src/cli/helpers/app-tsx-wiring.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC,CAkElB;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAiDnF"}
1
+ {"version":3,"file":"app-tsx-wiring.d.ts","sourceRoot":"","sources":["../../../src/cli/helpers/app-tsx-wiring.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAClC,OAAO,CAAC,OAAO,CAAC,CA4ElB;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAiDnF"}
@@ -9,7 +9,7 @@ import path from 'path';
9
9
  * Auto-wire App.tsx: add import, navItem, and switch case for a new page.
10
10
  * Returns true if successful, false if App.tsx structure is unexpected.
11
11
  */
12
- export async function wireAppTsxAutomatic(projectRoot, pascalName, navKey, navLabel) {
12
+ export async function wireAppTsxAutomatic(projectRoot, pascalName, navKey, navLabel, options) {
13
13
  const appPath = path.join(projectRoot, 'frontend', 'src', 'App.tsx');
14
14
  let content;
15
15
  try {
@@ -33,32 +33,43 @@ export async function wireAppTsxAutomatic(projectRoot, pascalName, navKey, navLa
33
33
  if (lastImportEnd === -1)
34
34
  return false;
35
35
  modified = modified.slice(0, lastImportEnd + 1) + importLine + '\n' + modified.slice(lastImportEnd + 1);
36
- // 2. Add navItem (before the closing ] of navItems array)
36
+ // 2. Add navItem
37
37
  const navItemLine = ` { key: '${navKey}', label: '${navLabel}' },`;
38
- const navItemsEnd = modified.indexOf('// Add more nav items');
39
- if (navItemsEnd !== -1) {
40
- // Insert before the comment placeholder
41
- const lineStart = modified.lastIndexOf('\n', navItemsEnd) + 1;
42
- modified = modified.slice(0, lineStart) + navItemLine + '\n' + modified.slice(lineStart);
43
- }
44
- else {
45
- // Fallback: find the closing ] of navItems array
46
- const navArrayMatch = modified.match(/const navItems\s*=\s*\[/);
38
+ if (options?.insertAtTop) {
39
+ // Insert at the beginning of the navItems array (Dashboard first)
40
+ const navArrayMatch = modified.match(/const navItems\s*=\s*\[\n*/);
47
41
  if (!navArrayMatch)
48
42
  return false;
49
- const arrayStart = navArrayMatch.index + navArrayMatch[0].length;
50
- // Find the matching ]
51
- let depth = 1;
52
- let pos = arrayStart;
53
- while (pos < modified.length && depth > 0) {
54
- if (modified[pos] === '[')
55
- depth++;
56
- else if (modified[pos] === ']')
57
- depth--;
58
- pos++;
43
+ const insertPos = navArrayMatch.index + navArrayMatch[0].length;
44
+ modified = modified.slice(0, insertPos) + navItemLine + '\n' + modified.slice(insertPos);
45
+ }
46
+ else {
47
+ // Insert before the comment placeholder or closing bracket
48
+ const navItemsEnd = modified.indexOf('// Add more nav items');
49
+ if (navItemsEnd !== -1) {
50
+ // Insert before the comment placeholder
51
+ const lineStart = modified.lastIndexOf('\n', navItemsEnd) + 1;
52
+ modified = modified.slice(0, lineStart) + navItemLine + '\n' + modified.slice(lineStart);
53
+ }
54
+ else {
55
+ // Fallback: find the closing ] of navItems array
56
+ const navArrayMatch = modified.match(/const navItems\s*=\s*\[/);
57
+ if (!navArrayMatch)
58
+ return false;
59
+ const arrayStart = navArrayMatch.index + navArrayMatch[0].length;
60
+ // Find the matching ]
61
+ let depth = 1;
62
+ let pos = arrayStart;
63
+ while (pos < modified.length && depth > 0) {
64
+ if (modified[pos] === '[')
65
+ depth++;
66
+ else if (modified[pos] === ']')
67
+ depth--;
68
+ pos++;
69
+ }
70
+ const closingBracket = pos - 1;
71
+ modified = modified.slice(0, closingBracket) + navItemLine + '\n' + modified.slice(closingBracket);
59
72
  }
60
- const closingBracket = pos - 1;
61
- modified = modified.slice(0, closingBracket) + navItemLine + '\n' + modified.slice(closingBracket);
62
73
  }
63
74
  // 3. Add switch case — before skill-management case if present, otherwise before default
64
75
  const caseLine = ` case '${navKey}': return <${pascalName}Page />;`;
@@ -1 +1 @@
1
- {"version":3,"file":"app-tsx-wiring.js","sourceRoot":"","sources":["../../../src/cli/helpers/app-tsx-wiring.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-tsx-wiring.js","sourceRoot":"","sources":["../../../src/cli/helpers/app-tsx-wiring.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loom-framework/core",
3
- "version": "0.1.0-alpha.82",
3
+ "version": "0.1.0-alpha.84",
4
4
  "description": "Loom framework - DataAdapter, Capability Generator, config system, backend server, CLI",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -43,7 +43,23 @@ loom generate page <Name> --model <model-name>
43
43
 
44
44
  此命令自动生成:CRUD 页面(含 AI 按钮)、App.tsx 路由接线、后端 API、应用 Skill。模型立即可通过 `loom data` CLI 和 AI 对话使用。
45
45
 
46
- ### 4. 补充应用 Skill 描述(必须)
46
+ ### 4. 生成 Dashboard(数据概览)
47
+
48
+ Dashboard 采用**两阶段**工作流:AI 生成配置 → CLI 生成页面。
49
+
50
+ **阶段 1:生成 dashboard.config.json**
51
+
52
+ 根据 `loom.config.ts` 中的数据模型,站在用户角度设计 Dashboard,生成 `dashboard.config.json` 到项目根目录。设计原则和配置 Schema 详见 `references/dashboard.md`。
53
+
54
+ **阶段 2:执行生成命令**
55
+
56
+ ```bash
57
+ loom generate dashboard <name>
58
+ ```
59
+
60
+ 此命令自动生成 Dashboard 页面并接线 App.tsx。
61
+
62
+ ### 5. 补充应用 Skill 描述(必须)
47
63
 
48
64
  首次生成后,必须补充 `.claude/skills/<项目名>/SKILL.md` 中以下三处 TODO,AI 对话才能正确理解项目业务语义:
49
65
 
@@ -55,7 +71,7 @@ loom generate page <Name> --model <model-name>
55
71
  2. **Overview 部分**:用 2-3 句话描述项目做什么、有哪些数据、用户如何与数据交互
56
72
  3. **Usage Scenarios 部分**:列出 5-10 个典型用户请求,格式为 `- "用户说的话" → 对应的 CLI 命令`
57
73
 
58
- ### 5. 启动开发
74
+ ### 6. 启动开发
59
75
 
60
76
  ```bash
61
77
  loom dev
@@ -127,18 +143,6 @@ export default defineConfig({
127
143
 
128
144
  高级配置(`ai.claudeCode`、`server`、按模型 `adapters`、`indexes`)见 `references/data-model.md`。
129
145
 
130
- ### 可选:生成 Dashboard(数据概览页面)
131
-
132
- Dashboard 采用**两阶段**工作流:AI 生成 `dashboard.config.json` → 用户审查后执行 `loom generate dashboard <name>` 生成页面。
133
-
134
- ```bash
135
- # 阶段 1:AI 生成配置(详见 references/dashboard.md)
136
- # 阶段 2:
137
- loom generate dashboard <name>
138
- ```
139
-
140
- 详细的配置 Schema、图表类型说明和示例见 **references/dashboard.md**。
141
-
142
146
  ## API 路由格式
143
147
 
144
148
  后端 REST API 路径为 `/api/v1/data/<model-name>`,支持:`GET`(列表)、`GET /:id`(单条)、`POST`(创建)、`PUT /:id`(更新)、`DELETE /:id`(删除)。
@@ -28,10 +28,11 @@ Dashboard 采用**两阶段**工作流:AI 设计配置 → 代码生成页面
28
28
  "title": "总数", // 业务语言标题
29
29
  "model": "model_a", // 数据模型名
30
30
  "span": 6, // 可选:Col 宽度(1-24),省略则自动均分
31
- "aggregate": "count", // 可选:count|sum|avg|min|max(默认 count)
32
- "field": "score", // aggregate count 时必填:数值字段名
31
+ "aggregate": "count", // 可选:count|sum|avg|min|max|ratio(默认 count)
32
+ "field": "score", // aggregate sum/avg/min/max 时必填:数值字段名
33
33
  "filter": { "status": "active" }, // 可选:聚合前筛选条件
34
- "groupBy": "category", // 可选:分组字段
34
+ "groupBy": "category", // 可选:分组字段(string/enum/date/boolean)
35
+ "crossGroupBy": "grade", // 可选:第二分组字段,用于二维图表
35
36
  "interval": "month" // 可选:date 字段分组粒度 day|week|month(默认 month)
36
37
  }
37
38
  ]
@@ -40,47 +41,60 @@ Dashboard 采用**两阶段**工作流:AI 设计配置 → 代码生成页面
40
41
  }
41
42
  ```
42
43
 
43
- ### 图表类型与数据需求
44
+ ### 字段说明
44
45
 
45
- #### 数值类
46
+ | 字段 | 类型 | 说明 |
47
+ |------|------|------|
48
+ | `aggregate` | `count\|sum\|avg\|min\|max\|ratio` | 聚合方式。`ratio` = 符合 filter 条件的记录数/总记录数,用于 gauge/liquid/stat 百分比 |
49
+ | `field` | string | 聚合目标字段。仅 aggregate 为 sum/avg/min/max 时需要 |
50
+ | `filter` | object | 筛选条件,键值对。如 `{"isMastered": true}` 筛选已掌握的记录 |
51
+ | `groupBy` | string | 主分组字段。string/enum 字段按值分组计数;boolean 字段自动映射为"是/否";date 字段按 interval 分段 |
52
+ | `crossGroupBy` | string | 第二分组维度。配合 groupBy 使用,产生交叉分组数据,用于二维图表 |
53
+ | `interval` | `day\|week\|month` | date 字段的分组粒度,仅 groupBy 指向 date 字段时有效 |
46
54
 
47
- | type | 需要 groupBy | 需要 field | 需要 interval | 生成效果 |
48
- |------|-------------|-----------|--------------|---------|
49
- | `stat` | 否 | aggregate=avg/sum 时需要 | 否 | Ant Design Statistic 数值卡片 |
50
- | `gauge` | 否 | 是(0-1 之间的进度值) | 否 | G2 仪表盘(进度/达标率) |
51
- | `liquid` | 否 | 是(0-1 之间的进度值) | 否 | G2 水波图(百分比/进度) |
55
+ ### 图表类型与配置要点
52
56
 
53
- #### 占比类
57
+ #### 数值类 — 展示关键指标
54
58
 
55
- | type | 需要 groupBy | 需要 field | 需要 interval | 生成效果 |
56
- |------|-------------|-----------|--------------|---------|
57
- | `pie` | 是(enum/string 字段) | | | G2 饼图(分布占比) |
58
- | `ring` | 是(boolean/enum 字段) | | | G2 环形图(占比对比) |
59
- | `treemap` | 是(多层级字段) | | | G2 矩形树图(层级占比) |
59
+ | type | 中文名称 | 必填字段 | 典型配置 | 生成效果 |
60
+ |------|---------|---------|---------|---------|
61
+ | `stat` | 统计卡片 | | `{ aggregate: "count" }` 或 `{ aggregate: "avg", field: "score" }` 或 `{ aggregate: "ratio", filter: { passed: true } }` | Ant Design Statistic 数值卡片 |
62
+ | `gauge` | 仪表盘 | `aggregate: "ratio"` + `filter` | `{ aggregate: "ratio", filter: { isMastered: true } }` | G2 仪表盘(百分比进度) |
63
+ | `liquid` | 水波图 | `aggregate: "ratio"` + `filter` | `{ aggregate: "ratio", filter: { isMastered: true } }` | G2 水波图(百分比进度) |
60
64
 
61
- #### 对比类
65
+ > **说明**:gauge 和 liquid 使用 `aggregate: "ratio"` + `filter` 来计算百分比(如掌握率 = 已掌握数/总数),ratio 自动算出 0-1 之间的值。
62
66
 
63
- | type | 需要 groupBy | 需要 field | 需要 interval | 生成效果 |
64
- |------|-------------|-----------|--------------|---------|
65
- | `bar` | 是 | 否 | 否 | G2 条形图(横向分类对比) |
66
- | `stacked_bar` | 是 | 否 | 否 | G2 堆叠条形图(组成+对比) |
67
- | `grouped_bar` | 是 | 否 | 否 | G2 分组条形图(并列对比) |
68
- | `radar` | 是 | 否 | 否 | G2 雷达图(多维度对比) |
69
- | `funnel` | 是 | 否 | 否 | G2 漏斗图(阶段转化) |
67
+ #### 占比类 展示分布构成
70
68
 
71
- #### 趋势类
69
+ | type | 中文名称 | 必填字段 | 典型配置 | 生成效果 |
70
+ |------|---------|---------|---------|---------|
71
+ | `pie` | 饼图 | `groupBy` (enum/string) | `{ groupBy: "subject" }` | G2 饼图(分布占比) |
72
+ | `ring` | 环形图 | `groupBy` (boolean/enum) | `{ groupBy: "difficulty" }` 或 `{ groupBy: "isMastered" }` | G2 环形图(占比对比,boolean 自动映射"是/否") |
73
+ | `treemap` | 矩形树图 | `groupBy` + 可选 `crossGroupBy` | `{ groupBy: "subject" }` 或 `{ groupBy: "subject", crossGroupBy: "difficulty" }` | G2 矩形树图(层级占比,有 crossGroupBy 则两层) |
72
74
 
73
- | type | 需要 groupBy | 需要 field | 需要 interval | 生成效果 |
74
- |------|-------------|-----------|--------------|---------|
75
- | `line` | 是(推荐 date 字段) | 否 | 是 | G2 折线图(时间趋势) |
76
- | `area` | 是(推荐 date 字段) | 否 | 是 | G2 面积图(累计趋势) |
75
+ #### 对比类 跨类别比较
77
76
 
78
- #### 分布类
77
+ | type | 中文名称 | 必填字段 | 典型配置 | 生成效果 |
78
+ |------|---------|---------|---------|---------|
79
+ | `bar` | 条形图 | `groupBy` | `{ groupBy: "errorType" }` | G2 条形图(横向分类对比) |
80
+ | `stacked_bar` | 堆叠条形图 | `groupBy` + `crossGroupBy` | `{ groupBy: "subject", crossGroupBy: "errorType" }` | G2 堆叠条形图(组成+对比) |
81
+ | `grouped_bar` | 分组条形图 | `groupBy` + `crossGroupBy` | `{ groupBy: "subject", crossGroupBy: "difficulty" }` | G2 分组条形图(并列对比) |
82
+ | `radar` | 雷达图 | `groupBy` | `{ groupBy: "subject" }` | G2 雷达图(多维度闭合多边形) |
83
+ | `funnel` | 漏斗图 | `groupBy` | `{ groupBy: "errorType" }` | G2 漏斗图(阶段转化,柱条宽度反映数值) |
79
84
 
80
- | type | 需要 groupBy | 需要 field | 需要 interval | 生成效果 |
81
- |------|-------------|-----------|--------------|---------|
82
- | `scatter` | | | | G2 散点图(相关性/分布) |
83
- | `heatmap` | 是 | 是(数值) | 否 | G2 热力图(密度/交叉分析) |
85
+ #### 趋势类 时间维度变化
86
+
87
+ | type | 中文名称 | 必填字段 | 典型配置 | 生成效果 |
88
+ |------|---------|---------|---------|---------|
89
+ | `line` | 折线图 | `groupBy` (date 字段) + `interval` | `{ groupBy: "createdAt", interval: "month" }` | G2 折线图(时间趋势) |
90
+ | `area` | 面积图 | `groupBy` (date 字段) + `interval` | `{ groupBy: "createdAt", interval: "month" }` | G2 面积图(累计趋势) |
91
+
92
+ #### 分布类 — 交叉/密度分析
93
+
94
+ | type | 中文名称 | 必填字段 | 典型配置 | 生成效果 |
95
+ |------|---------|---------|---------|---------|
96
+ | `scatter` | 散点图 | `groupBy` | `{ groupBy: "subject" }` | G2 散点图(相关性/分布) |
97
+ | `heatmap` | 热力图 | `groupBy` + `crossGroupBy` | `{ groupBy: "subject", crossGroupBy: "grade" }` | G2 热力图(密度/交叉分析,颜色深浅表示数量) |
84
98
 
85
99
  ## 阶段 2:执行 generate dashboard
86
100
 
@@ -105,7 +119,7 @@ cd frontend && pnpm add @antv/g2
105
119
 
106
120
  ## 完整配置示例
107
121
 
108
- 以小学生错题管理平台为例:
122
+ 以小学生错题管理平台为例,展示所有 15 种图表的配置:
109
123
 
110
124
  ```json
111
125
  {
@@ -115,23 +129,43 @@ cd frontend && pnpm add @antv/g2
115
129
  "layout": [
116
130
  {
117
131
  "row": [
118
- { "type": "stat", "title": "错题总数", "model": "wrong_questions", "aggregate": "count" },
119
- { "type": "stat", "title": "已掌握", "model": "wrong_questions", "aggregate": "count", "filter": { "isMastered": true } },
120
- { "type": "stat", "title": "待攻克", "model": "wrong_questions", "aggregate": "count", "filter": { "isMastered": false } },
121
- { "type": "gauge", "title": "掌握率", "model": "wrong_questions", "aggregate": "count", "field": "reviewCount" }
132
+ { "type": "stat", "title": "错题总数", "model": "wrong_questions", "aggregate": "count", "span": 4 },
133
+ { "type": "stat", "title": "掌握率", "model": "wrong_questions", "aggregate": "ratio", "filter": { "isMastered": true }, "span": 4 },
134
+ { "type": "gauge", "title": "掌握率仪表盘", "model": "wrong_questions", "aggregate": "ratio", "filter": { "isMastered": true }, "span": 6 },
135
+ { "type": "liquid", "title": "掌握率水波图", "model": "wrong_questions", "aggregate": "ratio", "filter": { "isMastered": true }, "span": 5 },
136
+ { "type": "stat", "title": "平均复习次数", "model": "wrong_questions", "aggregate": "avg", "field": "reviewCount", "span": 5 }
122
137
  ]
123
138
  },
124
139
  {
125
140
  "row": [
126
141
  { "type": "pie", "title": "科目分布", "model": "wrong_questions", "groupBy": "subject", "span": 8 },
127
- { "type": "bar", "title": "错误类型分布", "model": "wrong_questions", "groupBy": "errorType", "span": 8 },
128
- { "type": "ring", "title": "难度分布", "model": "wrong_questions", "groupBy": "difficulty", "span": 8 }
142
+ { "type": "ring", "title": "难度分布", "model": "wrong_questions", "groupBy": "difficulty", "span": 8 },
143
+ { "type": "bar", "title": "错误类型分布", "model": "wrong_questions", "groupBy": "errorType", "span": 8 }
144
+ ]
145
+ },
146
+ {
147
+ "row": [
148
+ { "type": "line", "title": "错题录入趋势", "model": "wrong_questions", "groupBy": "createdAt", "interval": "month", "span": 12 },
149
+ { "type": "area", "title": "复习计划趋势", "model": "review_plans", "groupBy": "createdAt", "interval": "month", "span": 12 }
150
+ ]
151
+ },
152
+ {
153
+ "row": [
154
+ { "type": "radar", "title": "各科目概览", "model": "wrong_questions", "groupBy": "subject", "span": 8 },
155
+ { "type": "stacked_bar", "title": "科目×错误类型", "model": "wrong_questions", "groupBy": "subject", "crossGroupBy": "errorType", "span": 8 },
156
+ { "type": "grouped_bar", "title": "科目×难度", "model": "wrong_questions", "groupBy": "subject", "crossGroupBy": "difficulty", "span": 8 }
157
+ ]
158
+ },
159
+ {
160
+ "row": [
161
+ { "type": "scatter", "title": "科目分布散点", "model": "wrong_questions", "groupBy": "subject", "span": 8 },
162
+ { "type": "funnel", "title": "错误类型漏斗", "model": "wrong_questions", "groupBy": "errorType", "span": 8 },
163
+ { "type": "treemap", "title": "科目×难度树图", "model": "wrong_questions", "groupBy": "subject", "crossGroupBy": "difficulty", "span": 8 }
129
164
  ]
130
165
  },
131
166
  {
132
167
  "row": [
133
- { "type": "radar", "title": "各科目掌握概览", "model": "wrong_questions", "groupBy": "subject", "span": 8 },
134
- { "type": "line", "title": "错题录入趋势", "model": "wrong_questions", "groupBy": "createdAt", "interval": "month", "span": 16 }
168
+ { "type": "heatmap", "title": "科目×年级热力图", "model": "wrong_questions", "groupBy": "subject", "crossGroupBy": "grade", "span": 24 }
135
169
  ]
136
170
  }
137
171
  ]
@@ -142,7 +176,7 @@ cd frontend && pnpm add @antv/g2
142
176
 
143
177
  生成后的 Dashboard 页面是普通 TSX,可直接编辑追加图表:
144
178
 
145
- 1. 使用 `useChartData` 准备数据(或自定义聚合逻辑)
179
+ 1. 使用 `useChartData` / `useCrossGroupChartData` / `useTreemapChartData` 准备数据
146
180
  2. 使用 `/antv-g2-chart` skill 生成 G2 v5 Spec 代码
147
181
  3. 添加 `<DashboardChart spec={...} />` 组件
148
182
 
@@ -150,12 +184,13 @@ cd frontend && pnpm add @antv/g2
150
184
 
151
185
  ```tsx
152
186
  // 在已有的 Dashboard 页面中追加
153
- const subjectGradeData = useChartData(wrongQuestionsList, { groupBy: 'subject' });
187
+ const subjectGradeData = useCrossGroupChartData(wrongQuestionsList, { groupBy: 'subject', crossGroupBy: 'grade' });
154
188
 
155
189
  <DashboardChart spec={{
156
190
  type: 'interval',
157
191
  data: subjectGradeData,
158
- encode: { x: 'name', y: 'value', color: 'name' },
192
+ encode: { x: 'group', y: 'value', color: 'name' },
193
+ coordinate: { transform: [{ type: 'transpose' }] },
159
194
  transform: [{ type: 'stackY' }],
160
195
  }} />
161
196
  ```
@@ -73,6 +73,6 @@ server: {
73
73
  data: {
74
74
  defaultAdapter: 'filesystem' | 'sqlite',
75
75
  models: [...],
76
- sqlite: { filename: 'data.db' }, // optional, default 'loom.db'
76
+ sqlite: { filename: 'loom.db' }, // optional, default 'loom.db'
77
77
  }
78
78
  ```