From 80296b7db1a3349c22b3138dd85d130ff96c8ebb Mon Sep 17 00:00:00 2001 From: Kris <2893855659@qq.com> Date: Sat, 11 Jul 2026 22:00:12 +0800 Subject: [PATCH] =?UTF-8?q?feat(web):=20add=20qrcode=20dependency=20and=20?= =?UTF-8?q?setup=20echarts=E6=8C=89=E9=9C=80=E5=BC=95=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增qrcode第三方依赖,创建echarts统一按需初始化文件,注册常用图表和组件以避免重复引入 --- web/package.json | 1 + web/src/utils/echartsSetup.js | 60 +++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 web/src/utils/echartsSetup.js diff --git a/web/package.json b/web/package.json index 2b20ee8f..f734ac8f 100644 --- a/web/package.json +++ b/web/package.json @@ -37,6 +37,7 @@ "markmap-view": "^0.18.12", "pinia": "^3.0.4", "pinia-plugin-persistedstate": "^4.7.1", + "qrcode": "^1.5.4", "shiki": "^4.0.2", "sigma": "^3.0.3", "vue": "^3.5.34", diff --git a/web/src/utils/echartsSetup.js b/web/src/utils/echartsSetup.js new file mode 100644 index 00000000..8d1260b4 --- /dev/null +++ b/web/src/utils/echartsSetup.js @@ -0,0 +1,60 @@ +/** + * ECharts 按需引入初始化 + * + * 本项目使用 ECharts 5+ 的按需引入模式。任何需要调用 echarts.init 的组件/组合式函数 + * 应先导入本文件(副作用导入),由本文件统一注册常用图表与组件,避免各业务文件 + * 重复注册。 + * + * 注意:dashboard 模块的部分旧组件仍使用 `import * as echarts from 'echarts'` 全量导入, + * 不受本文件影响;本文件主要服务于使用 `import * as echarts from 'echarts/core'` 的新组件。 + */ +import { use } from 'echarts/core' + +// 图表类型 +import { LineChart, BarChart, PieChart, ScatterChart, RadarChart } from 'echarts/charts' + +// 组件 +import { + GridComponent, + TooltipComponent, + LegendComponent, + TitleComponent, + DatasetComponent, + TransformComponent, + MarkLineComponent, + ToolboxComponent, + DataZoomComponent, + VisualMapComponent, + GraphicComponent, + AriaComponent +} from 'echarts/components' + +// 渲染器 +import { CanvasRenderer, SVGRenderer } from 'echarts/renderers' + +// 标签布局与动画 +import { LabelLayout, UniversalTransition } from 'echarts/features' + +use([ + LineChart, + BarChart, + PieChart, + ScatterChart, + RadarChart, + GridComponent, + TooltipComponent, + LegendComponent, + TitleComponent, + DatasetComponent, + TransformComponent, + MarkLineComponent, + ToolboxComponent, + DataZoomComponent, + VisualMapComponent, + GraphicComponent, + AriaComponent, + CanvasRenderer, + SVGRenderer, + LabelLayout, + UniversalTransition +])