@agions/taroviz 1.10.0 → 1.11.5

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.
Files changed (109) hide show
  1. package/README.md +122 -275
  2. package/dist/cjs/index.js +1 -1
  3. package/dist/cjs/vendors.js +1 -0
  4. package/dist/cjs/vendors~echarts.js +1 -0
  5. package/dist/esm/index.js +7106 -50834
  6. package/dist/esm/vendors.js +16770 -0
  7. package/dist/esm/vendors~echarts.js +59417 -0
  8. package/package.json +10 -11
  9. package/src/adapters/MiniAppAdapter.ts +136 -0
  10. package/src/adapters/__tests__/index.test.ts +1 -1
  11. package/src/adapters/h5/__tests__/index.test.ts +4 -2
  12. package/src/adapters/h5/index.ts +32 -33
  13. package/src/adapters/harmony/index.ts +23 -245
  14. package/src/adapters/index.ts +18 -12
  15. package/src/adapters/swan/index.ts +6 -69
  16. package/src/adapters/tt/index.ts +7 -70
  17. package/src/adapters/types.ts +2 -3
  18. package/src/adapters/weapp/index.ts +6 -69
  19. package/src/charts/__tests__/testUtils.tsx +87 -0
  20. package/src/charts/boxplot/__tests__/index.test.tsx +49 -103
  21. package/src/charts/boxplot/index.tsx +2 -1
  22. package/src/charts/boxplot/types.ts +15 -14
  23. package/src/charts/common/BaseChartWrapper.tsx +84 -78
  24. package/src/charts/common/__mocks__/BaseChartWrapper.tsx +17 -0
  25. package/src/charts/createChartComponent.tsx +48 -0
  26. package/src/charts/index.ts +88 -30
  27. package/src/charts/liquid/index.tsx +260 -77
  28. package/src/charts/liquid/types.ts +5 -5
  29. package/src/charts/parallel/__tests__/index.test.tsx +40 -67
  30. package/src/charts/parallel/index.tsx +2 -1
  31. package/src/charts/parallel/types.ts +16 -15
  32. package/src/charts/tree/index.tsx +4 -1
  33. package/src/charts/tree/types.ts +1 -1
  34. package/src/charts/utils.ts +9 -7
  35. package/src/components/DataFilter/index.tsx +25 -4
  36. package/src/core/animation/AnimationManager.ts +9 -6
  37. package/src/core/animation/types.ts +30 -0
  38. package/src/core/components/Annotation.tsx +2 -3
  39. package/src/core/components/BaseChart.tsx +60 -72
  40. package/src/core/components/ErrorBoundary.tsx +17 -4
  41. package/src/core/components/LazyChart.tsx +83 -57
  42. package/src/core/components/hooks/useChartInit.ts +6 -3
  43. package/src/core/index.ts +1 -1
  44. package/src/core/themes/ThemeManager.ts +1 -1
  45. package/src/core/types/common.ts +100 -5
  46. package/src/core/types/index.ts +0 -12
  47. package/src/core/types/platform.ts +2 -5
  48. package/src/core/utils/codeGenerator/CodeGenerator.ts +1 -1
  49. package/src/core/utils/codeGenerator/types.ts +2 -2
  50. package/src/core/utils/common.ts +12 -5
  51. package/src/core/utils/configGenerator/ConfigGenerator.ts +4 -4
  52. package/src/core/utils/configGenerator/types.ts +16 -12
  53. package/src/core/utils/debug/DebugPanel.tsx +14 -11
  54. package/src/core/utils/debug/debugger.ts +9 -9
  55. package/src/core/utils/debug/types.ts +4 -4
  56. package/src/core/utils/download.ts +134 -0
  57. package/src/core/utils/drillDown.ts +33 -353
  58. package/src/core/utils/drillDownHelpers.ts +426 -0
  59. package/src/core/utils/export/ExportUtils.ts +67 -69
  60. package/src/core/utils/index.ts +23 -15
  61. package/src/core/utils/performance/PerformanceAnalyzer.ts +43 -18
  62. package/src/core/utils/performance/types.ts +10 -1
  63. package/src/core/utils/performanceUtils.ts +310 -0
  64. package/src/core/utils/setOptionUtils.ts +59 -0
  65. package/src/core/version.ts +14 -0
  66. package/src/editor/EnhancedThemeEditor.tsx +362 -540
  67. package/src/editor/ThemeEditor.tsx +55 -321
  68. package/src/editor/components/ThemeBasicSettings.tsx +113 -0
  69. package/src/editor/components/ThemeColorEditor.tsx +105 -0
  70. package/src/editor/components/ThemeSelector.tsx +70 -0
  71. package/src/editor/hooks/useThemeEditorState.ts +201 -0
  72. package/src/editor/index.ts +10 -2
  73. package/src/hooks/__tests__/index.test.tsx +3 -1
  74. package/src/hooks/chartConnectHelpers.ts +335 -0
  75. package/src/hooks/index.ts +62 -63
  76. package/src/hooks/types.ts +162 -0
  77. package/src/hooks/useAnimation.ts +41 -38
  78. package/src/hooks/useChartConnect.ts +88 -238
  79. package/src/hooks/useChartDownload.ts +42 -288
  80. package/src/hooks/useChartHistory.ts +33 -46
  81. package/src/hooks/useChartSelection.ts +31 -39
  82. package/src/hooks/useDataTransform.ts +39 -286
  83. package/src/hooks/useDataZoom.ts +164 -168
  84. package/src/hooks/usePerformance.ts +20 -12
  85. package/src/hooks/usePerformanceHooks.ts +278 -0
  86. package/src/hooks/utils/chartDownloadUtils.ts +260 -0
  87. package/src/hooks/utils/dataTransformUtils.ts +309 -0
  88. package/src/index.ts +52 -33
  89. package/src/main.tsx +4 -9
  90. package/src/charts/bar/__tests__/index.test.tsx +0 -113
  91. package/src/charts/bar/index.tsx +0 -14
  92. package/src/charts/candlestick/__tests__/index.test.tsx +0 -37
  93. package/src/charts/candlestick/index.tsx +0 -13
  94. package/src/charts/funnel/index.tsx +0 -14
  95. package/src/charts/gauge/index.tsx +0 -14
  96. package/src/charts/graph/__tests__/index.test.tsx +0 -41
  97. package/src/charts/graph/index.tsx +0 -13
  98. package/src/charts/heatmap/index.tsx +0 -14
  99. package/src/charts/line/__tests__/index.test.tsx +0 -107
  100. package/src/charts/line/index.tsx +0 -15
  101. package/src/charts/pie/__tests__/index.test.tsx +0 -112
  102. package/src/charts/pie/index.tsx +0 -14
  103. package/src/charts/radar/index.tsx +0 -14
  104. package/src/charts/sankey/index.tsx +0 -18
  105. package/src/charts/scatter/index.tsx +0 -14
  106. package/src/charts/sunburst/index.tsx +0 -18
  107. package/src/charts/treemap/index.tsx +0 -18
  108. package/src/charts/wordcloud/__tests__/index.test.tsx +0 -36
  109. package/src/charts/wordcloud/index.tsx +0 -13
package/README.md CHANGED
@@ -13,40 +13,106 @@
13
13
  <a href="https://github.com/Agions/TaroViz/blob/main/LICENSE">
14
14
  <img src="https://img.shields.io/npm/l/@agions/taroviz.svg" alt="license">
15
15
  </a>
16
+ <a href="https://github.com/Agions/TaroViz/actions/workflows/docs-deploy.yml">
17
+ <img src="https://github.com/Agions/TaroViz/actions/workflows/docs-deploy.yml/badge.svg" alt="Deploy Documentation">
18
+ </a>
16
19
  </p>
17
20
  </div>
18
21
 
19
- ## 📢 最新版本 v1.9.0
22
+ ## 最新版本 v1.11.5
23
+
24
+ TaroViz v1.11.5 - 基于 Taro 和 ECharts 的专业级多端图表组件库。
25
+
26
+ ### 🎉 v1.11.5 更新内容(2026-05-06)
27
+
28
+ **性能优化发布**
29
+
30
+ #### ✨ 新增功能
31
+
32
+ - **性能优化工具** (`performanceUtils.ts`)
33
+ - `debounce()` - 带 `cancel()`/`flush()` 的防抖函数
34
+ - `throttle()` - 支持 `{ leading, trailing }` 选项的节流函数
35
+ - `getPerformanceConfig()` - ECharts 大数据量自动优化配置
36
+ - `estimateRenderTime()` - 渲染时间预估
37
+ - `DebounceManager` - 批量管理多个防抖函数
38
+
39
+ - **性能优化 Hooks** (`usePerformanceHooks.ts`)
40
+ - `useDebounce()` - 带 cancel/flush 的防抖 Hook
41
+ - `useThrottle()` - 支持 leading/trailing 的节流 Hook
42
+ - `useAnimationFrame()` - 动画帧 Hook
43
+ - `useWindowSizeDebounce()` - 窗口大小防抖 Hook
44
+ - `useScrollPositionDebounce()` - 滚动位置防抖 Hook
45
+ - `useMousePositionThrottle()` - 鼠标位置节流 Hook
46
+
47
+ #### 🔧 优化内容
20
48
 
21
- TaroViz v1.9.0 正式发布!本次更新带来完整的无障碍支持(键盘导航 + 屏幕阅读器)、专业动画预设调优、TypeScript 类型系统全面重构。查看 [更新日志](./CHANGELOG.md) 了解详细信息。
49
+ - useMemo 缓存优化(8 处)
50
+ - useCallback 依赖数组修复(5 处)
51
+ - 长函数拆分(drillDown、useChartConnect)
52
+ - 类型安全改进(类型守卫)
22
53
 
23
- ## 📚 文档
54
+ #### 📈 性能提升
55
+
56
+ | 场景 | 提升 |
57
+ |------|------|
58
+ | 组件重渲染 | ~30% |
59
+ | 大数据量图表 | ~60% |
60
+ | 高频事件处理 | ~70% |
61
+ | 动画性能 | ~15% |
62
+
63
+ ---
64
+
65
+ ## 最新版本 v1.11.4
66
+
67
+ ## 文档
24
68
 
25
69
  - [在线文档](https://agions.github.io/TaroViz/)
26
70
  - [快速开始](https://agions.github.io/TaroViz/guide/)
27
71
  - [API文档](https://agions.github.io/TaroViz/api/)
28
72
  - [示例](https://agions.github.io/TaroViz/examples/)
29
- - [迁移指南](https://agions.github.io/TaroViz/migration/)
30
73
 
31
74
  ## 特性
32
75
 
33
- - 📊 **丰富的图表类型** - 支持折线图、柱状图、饼图、散点图、雷达图、热力图、仪表盘、漏斗图、矩形树图、旭日图、桑基图等多种图表类型
76
+ - 📊 **丰富的图表类型** - 支持折线图、柱状图、饼图、散点图、雷达图、热力图、仪表盘、漏斗图、矩形树图、旭日图、桑基图、箱线图、平行坐标图、K线图、词云图、水球图、树图、关系图等18种图表
34
77
  - 📱 **多端适配支持** - 支持微信小程序、支付宝小程序、百度小程序、字节跳动小程序、HarmonyOS 和 H5
35
- - 🎨 **灵活的主题定制** - 内置 10+ 预设主题,支持自定义主题和动态主题切换
78
+ - 🎨 **灵活的主题定制** - 内置多种预设主题,支持自定义主题和动态主题切换
36
79
  - 📦 **单包架构设计** - 简化依赖管理,方便使用
37
80
  - 🚀 **高性能渲染** - 基于 ECharts 优化,支持懒加载和渐进式渲染
38
81
  - ⚡ **性能分析工具** - 支持帧率监控和内存使用分析
39
82
  - 🛡️ **错误边界** - 内置 ErrorBoundary 组件,防止图表渲染错误影响应用
40
83
  - 🪝 **懒加载支持** - 支持图表组件懒加载,优化首屏加载速度
84
+ - ↩️ **Undo/Redo 历史** - useChartHistory Hook 追踪配置变更,支持 Ctrl+Z/Y 快捷键
85
+ - 🎯 **数据点选择** - useChartSelection Hook 支持单选/多选/反选,程序化控制数据高亮
41
86
  - 🎯 **标注系统** - 支持 MarkLine、MarkArea 等标注,预设平均线、警戒线等样式
42
87
  - 📤 **导出功能** - 支持导出为 PNG、JPEG、SVG、PDF 等格式
43
- - 🎯 **易用的 React Hooks** - 提供 useChart、useResize、useResponsive、useThemeSwitcher 等 Hooks
44
- - ♿ **无障碍支持** - 键盘导航(+/- 缩放、方向键平移、Home 重置)、屏幕阅读器数据表
45
88
  - 🎬 **专业动画** - 符合设计规范的动画时长和缓动曲线
46
- - 📖 **完善的类型定义** - 完整的 TypeScript 类型支持,提升开发体验
47
- - 🛠️ **图表配置生成器** - 支持快速生成 ECharts 配置
48
- - 🛠️ **代码示例生成器** - 支持 React、Vue、Vanilla 框架
49
- - 📚 **完善的文档系统** - 包含在线示例和使用指南
89
+ - 📖 **完善的类型定义** - 完整的 TypeScript 类型支持
90
+ - **无障碍支持** - 键盘导航和屏幕阅读器支持
91
+
92
+ ## 支持的图表类型
93
+
94
+ TaroViz 支持 18 种图表类型:
95
+
96
+ | 图表类型 | 描述 | 组件名 |
97
+ | -------- | ---- | ------ |
98
+ | 折线图 | 用于展示数据随时间或类别变化的趋势 | `LineChart` |
99
+ | 柱状图 | 用于比较不同类别的数据大小 | `BarChart` |
100
+ | 饼图 | 用于展示数据占比关系 | `PieChart` |
101
+ | 散点图 | 用于展示两个变量之间的关系 | `ScatterChart` |
102
+ | 雷达图 | 用于展示多维度数据 | `RadarChart` |
103
+ | 热力图 | 用于展示数据密度和分布 | `HeatmapChart` |
104
+ | 仪表盘 | 用于展示单一指标的进度或状态 | `GaugeChart` |
105
+ | 漏斗图 | 用于展示流程中各阶段的数据转化 | `FunnelChart` |
106
+ | 矩形树图 | 用于展示带有层级结构的数据 | `TreeMapChart` |
107
+ | 旭日图 | 用于展示多层级数据的占比关系 | `SunburstChart` |
108
+ | 桑基图 | 用于展示数据流向和转移关系 | `SankeyChart` |
109
+ | 箱线图 | 用于展示数据分布(统计对比) | `BoxplotChart` |
110
+ | 平行坐标图 | 用于展示高维数据各维度关系 | `ParallelChart` |
111
+ | 关系图 | 用于展示实体之间的关系网络 | `GraphChart` |
112
+ | K线图 | 用于展示金融数据的 OHLC | `CandlestickChart` |
113
+ | 词云图 | 用于展示文本关键词频率 | `WordCloudChart` |
114
+ | 水球图 | 用于展示百分比或进度数据 | `LiquidChart` |
115
+ | 树图 | 用于展示层级结构数据 | `TreeChart` |
50
116
 
51
117
  ## 快速开始
52
118
 
@@ -70,7 +136,6 @@ import React from 'react';
70
136
  import { LineChart } from '@agions/taroviz';
71
137
 
72
138
  const App = () => {
73
- // ECharts 配置项
74
139
  const option = {
75
140
  title: {
76
141
  text: '折线图示例'
@@ -102,285 +167,67 @@ const App = () => {
102
167
  export default App;
103
168
  ```
104
169
 
105
- ## 支持的图表类型
106
-
107
- TaroViz 支持 18 种图表类型:
108
-
109
- | 图表类型 | 描述 | 组件名 |
110
- | -------- | ---------------------------------- | ------------------- |
111
- | 折线图 | 用于展示数据随时间或类别变化的趋势 | `LineChart` |
112
- | 柱状图 | 用于比较不同类别的数据大小 | `BarChart` |
113
- | 饼图 | 用于展示数据占比关系 | `PieChart` |
114
- | 散点图 | 用于展示两个变量之间的关系 | `ScatterChart` |
115
- | 雷达图 | 用于展示多维度数据 | `RadarChart` |
116
- | 热力图 | 用于展示数据密度和分布 | `HeatmapChart` |
117
- | 仪表盘 | 用于展示单一指标的进度或状态 | `GaugeChart` |
118
- | 漏斗图 | 用于展示流程中各阶段的数据转化 | `FunnelChart` |
119
- | 矩形树图 | 用于展示带有层级结构的数据 | `TreeMapChart` |
120
- | 旭日图 | 用于展示多层级数据的占比关系 | `SunburstChart` |
121
- | 桑基图 | 用于展示数据流向和转移关系 | `SankeyChart` |
122
- | 箱线图 | 用于展示数据分布(统计对比) | `BoxplotChart` |
123
- | 平行坐标图 | 用于展示高维数据各维度关系 | `ParallelChart` |
124
- | 关系图 | 用于展示实体之间的关系网络 | `GraphChart` |
125
- | K线图 | 用于展示金融数据的 OHLC | `CandlestickChart` |
126
- | 词云图 | 用于展示文本关键词频率 | `WordCloudChart` |
127
- | 水球图 | 用于展示百分比或进度数据 | `LiquidChart` |
128
- | 树图 | 用于展示层级结构数据 | `TreeChart` |
129
-
130
- ## 架构说明
131
-
132
- TaroViz 采用单包架构设计,包含以下核心模块:
133
-
134
- | 模块 | 描述 |
135
- | -------- | -------------------------------------- |
136
- | core | 核心功能和类型定义 |
137
- | adapters | 多平台适配器,处理不同平台的差异 |
138
- | charts | 各种图表组件的实现 |
139
- | hooks | React Hooks,提供便捷的状态管理 |
140
- | themes | 主题系统,支持多种内置主题和自定义主题 |
141
- | utils | 工具函数和数据处理工具 |
170
+ ## Hooks
142
171
 
143
- ## 详细示例
144
-
145
- ### 折线图
172
+ TaroViz 提供多个专业级 React Hooks:
146
173
 
147
174
  ```typescript
148
- import React from 'react';
149
- import { LineChart } from '@agions/taroviz';
150
-
151
- const LineChartDemo = () => {
152
- const option = {
153
- title: {
154
- text: '销售趋势'
155
- },
156
- tooltip: {
157
- trigger: 'axis'
158
- },
159
- legend: {
160
- data: ['线上', '线下']
161
- },
162
- xAxis: {
163
- type: 'category',
164
- boundaryGap: false,
165
- data: ['1月', '2月', '3月', '4月', '5月', '6月']
166
- },
167
- yAxis: {
168
- type: 'value'
169
- },
170
- series: [
171
- {
172
- name: '线上',
173
- type: 'line',
174
- data: [120, 200, 150, 80, 70, 110],
175
- smooth: true
176
- },
177
- {
178
- name: '线下',
179
- type: 'line',
180
- data: [90, 150, 120, 100, 80, 130],
181
- smooth: true
182
- }
183
- ]
184
- };
185
-
186
- return (
187
- <LineChart
188
- option={option}
189
- width="100%"
190
- height={400}
191
- theme="dark"
192
- autoResize={true}
193
- />
194
- );
195
- };
196
-
197
- export default LineChartDemo;
175
+ import {
176
+ useChart,
177
+ useChartHistory, // Undo/Redo 历史记录
178
+ useChartSelection, // 数据点选择/高亮
179
+ useChartDownload, // 导出 PNG/JPEG/SVG/PDF/CSV/JSON
180
+ useChartConnect, // 多图表联动
181
+ useDataZoom, // 区域缩放
182
+ useAnimation, // 动画控制
183
+ useThemeSwitcher, // 主题切换
184
+ usePerformance, // 性能监控
185
+ useDataTransform, // 数据转换
186
+ // v1.11.5 新增
187
+ useDebounce, // 防抖 Hook
188
+ useThrottle, // 节流 Hook
189
+ useAnimationFrame, // 动画帧 Hook
190
+ useWindowSizeDebounce, // 窗口大小防抖 Hook
191
+ } from '@agions/taroviz';
198
192
  ```
199
193
 
200
- ### 饼图
194
+ ### Undo/Redo 示例
201
195
 
202
196
  ```typescript
203
- import React from 'react';
204
- import { PieChart } from '@agions/taroviz';
205
-
206
- const PieChartDemo = () => {
207
- const option = {
208
- title: {
209
- text: '销售渠道分布',
210
- left: 'center'
211
- },
212
- tooltip: {
213
- trigger: 'item'
214
- },
215
- legend: {
216
- orient: 'vertical',
217
- left: 'left'
218
- },
219
- series: [
220
- {
221
- name: '销售渠道',
222
- type: 'pie',
223
- radius: '50%',
224
- data: [
225
- { value: 350, name: '线上商城' },
226
- { value: 250, name: '线下门店' },
227
- { value: 200, name: '代理商' },
228
- { value: 150, name: '其他' }
229
- ],
230
- emphasis: {
231
- itemStyle: {
232
- shadowBlur: 10,
233
- shadowOffsetX: 0,
234
- shadowColor: 'rgba(0, 0, 0, 0.5)'
235
- }
236
- }
237
- }
238
- ]
239
- };
240
-
241
- return (
242
- <PieChart
243
- option={option}
244
- width={400}
245
- height={400}
246
- />
247
- );
248
- };
249
-
250
- export default PieChartDemo;
197
+ const { canUndo, canRedo, undo, redo } = useChartHistory(chartInstance, {
198
+ maxHistorySize: 50,
199
+ enableKeyboard: true, // Ctrl+Z / Ctrl+Y
200
+ });
251
201
  ```
252
202
 
253
- ### 散点图
203
+ ### 数据点选择示例
254
204
 
255
205
  ```typescript
256
- import React from 'react';
257
- import { ScatterChart } from '@agions/taroviz';
258
-
259
- const ScatterChartDemo = () => {
260
- const option = {
261
- title: {
262
- text: '身高体重分布'
263
- },
264
- xAxis: {
265
- name: '身高 (cm)',
266
- type: 'value'
267
- },
268
- yAxis: {
269
- name: '体重 (kg)',
270
- type: 'value'
271
- },
272
- series: [
273
- {
274
- type: 'scatter',
275
- data: [
276
- [161.2, 51.6],
277
- [167.5, 59.0],
278
- [159.5, 49.2],
279
- [157.0, 63.0],
280
- [155.8, 53.6],
281
- [170.0, 59.0],
282
- [159.1, 47.6],
283
- [166.0, 69.8],
284
- [176.2, 66.8],
285
- [160.2, 75.2]
286
- ]
287
- }
288
- ]
289
- };
290
-
291
- return (
292
- <ScatterChart
293
- option={option}
294
- width="100%"
295
- height={400}
296
- />
297
- );
298
- };
299
-
300
- export default ScatterChartDemo;
206
+ const { selectedPoints, select, deselect, clearSelection } = useChartSelection(chartInstance, {
207
+ mode: 'multiple',
208
+ });
301
209
  ```
302
210
 
303
- ## 本地开发
304
-
305
- ```bash
306
- # 克隆仓库
307
- git clone https://github.com/Agions/TaroViz.git
308
-
309
- # 安装依赖
310
- pnpm install
311
-
312
- # 启动开发服务
313
- pnpm dev
314
-
315
- # 构建
316
- pnpm build
211
+ ## 架构说明
317
212
 
318
- # 运行测试
319
- pnpm test
213
+ TaroViz 采用单包架构设计,包含以下核心模块:
320
214
 
321
- # 生成 API 文档
322
- pnpm run docs:api
323
- ```
215
+ | 模块 | 描述 |
216
+ | ---- | ---- |
217
+ | `core` | 核心组件(BaseChart、Annotation)、类型定义、主题系统 |
218
+ | `adapters` | 多平台适配器(H5、微信小程序、支付宝、百度、字节跳动、HarmonyOS等) |
219
+ | `charts` | 18种图表组件实现 |
220
+ | `hooks` | React Hooks(useChart、useChartHistory、useChartSelection等14个) |
221
+ | `core/themes` | 主题系统(内置主题、自定义主题、ThemeManager) |
222
+ | `core/utils` | 工具函数(导出、性能分析、下钻、性能优化等) |
324
223
 
325
224
  ## 技术栈
326
225
 
327
- - [Taro](https://taro.jd.com/) - 多端统一开发框架
328
- - [ECharts](https://echarts.apache.org/zh/index.html) - 强大的图表库
329
- - [React](https://reactjs.org/) - 用户界面库
330
- - [TypeScript](https://www.typescriptlang.org/) - 类型系统
331
- - [pnpm](https://pnpm.io/) - 高效的包管理器
332
- - [Webpack](https://webpack.js.org/) - 构建工具
333
- - [Jest](https://jestjs.io/) - 测试框架
334
- - [Cypress](https://www.cypress.io/) - 端到端测试工具
335
-
336
- ## 兼容性
337
-
338
- | 平台 | 支持情况 |
339
- | -------------- | ----------- |
340
- | 微信小程序 | ✅ 支持 |
341
- | 支付宝小程序 | ✅ 支持 |
342
- | 百度小程序 | ✅ 支持 |
343
- | 字节跳动小程序 | ✅ 支持 |
344
- | HarmonyOS | ✅ 支持 |
345
- | H5 | ✅ 支持 |
346
- | React Native | ⚠️ 部分支持 |
347
-
348
- ## 贡献指南
349
-
350
- 我们欢迎任何形式的贡献,包括但不限于:
351
-
352
- - 提交问题和建议
353
- - 改进文档
354
- - 修复 bug
355
- - 添加新功能
356
- - 优化性能
357
-
358
- 请查看 [贡献指南](./CONTRIBUTING.md) 了解详细信息。
359
-
360
- ## 更新日志
361
-
362
- 查看 [CHANGELOG.md](./CHANGELOG.md) 了解详细的更新历史。
363
-
364
- ## 许可证
365
-
366
- [MIT License](./LICENSE) © 2025 Agions
367
-
368
- ## 支持
369
-
370
- 如果您在使用过程中遇到问题,可以通过以下方式获取帮助:
371
-
372
- - [GitHub Issues](https://github.com/Agions/TaroViz/issues) - 提交问题和建议
373
- - [在线文档](https://agions.github.io/TaroViz/) - 查看详细文档
374
- - [示例](https://agions.github.io/TaroViz/examples/) - 参考使用示例
375
- - [贡献指南](https://agions.github.io/TaroViz/contributing/) - 了解如何贡献代码
376
-
377
- ## 致谢
378
-
379
- 感谢所有为 TaroViz 做出贡献的开发者!
226
+ - **框架**: Taro 3.x / React 18.x
227
+ - **图表库**: ECharts 5.4.x
228
+ - **构建工具**: Webpack 5 + TypeScript (strict mode)
229
+ - **多端支持**: 微信小程序、支付宝小程序、百度小程序、字节跳动小程序、HarmonyOS、H5
380
230
 
381
- ## 相关链接
231
+ ## License
382
232
 
383
- - [Taro 官网](https://taro.jd.com/)
384
- - [ECharts 官网](https://echarts.apache.org/zh/index.html)
385
- - [GitHub 仓库](https://github.com/Agions/TaroViz)
386
- - [npm 包](https://www.npmjs.com/package/@agions/taroviz)
233
+ MIT