├── .editorconfig ├── .gitignore ├── .prettierrc.js ├── CHANGELOG.md ├── LICENSE ├── README.md ├── examples ├── demo-vue2 │ ├── .editorconfig │ ├── .eslintrc.js │ ├── LICENSE │ ├── README.md │ ├── babel.config.js │ ├── config │ │ ├── alias.js │ │ ├── dev.js │ │ ├── index.js │ │ └── prod.js │ ├── jsconfig.json │ ├── package.json │ ├── project.config.json │ ├── project.tt.json │ └── src │ │ ├── app.config.js │ │ ├── app.js │ │ ├── app.less │ │ ├── assert │ │ ├── 01.png │ │ ├── 02.png │ │ └── arrow.png │ │ ├── index.html │ │ └── pages │ │ ├── bar │ │ ├── index.config.js │ │ ├── index.less │ │ └── index.vue │ │ ├── ecchart │ │ ├── bar-basic.config.js │ │ ├── bar-basic.less │ │ ├── bar-basic.vue │ │ ├── bar-negative.config.js │ │ ├── bar-negative.less │ │ ├── bar-negative.vue │ │ ├── bar-stack.config.js │ │ ├── bar-stack.less │ │ ├── bar-stack.vue │ │ ├── bar-waterfall.config.js │ │ ├── bar-waterfall.less │ │ ├── bar-waterfall.vue │ │ ├── candlestick-basic.config.js │ │ ├── candlestick-basic.less │ │ ├── candlestick-basic.vue │ │ ├── index.config.js │ │ ├── index.less │ │ ├── index.vue │ │ ├── line-area.config.js │ │ ├── line-area.less │ │ ├── line-area.vue │ │ ├── line-basic.config.js │ │ ├── line-basic.less │ │ ├── line-basic.vue │ │ ├── line-smooth.config.js │ │ ├── line-smooth.less │ │ ├── line-smooth.vue │ │ ├── line-stack.config.js │ │ ├── line-stack.less │ │ ├── line-stack.vue │ │ ├── mix-line-bar.config.js │ │ ├── mix-line-bar.less │ │ ├── mix-line-bar.vue │ │ ├── pie-basic.config.js │ │ ├── pie-basic.less │ │ ├── pie-basic.vue │ │ ├── pie-doughnut.config.js │ │ ├── pie-doughnut.less │ │ ├── pie-doughnut.vue │ │ ├── pie-nest.config.js │ │ ├── pie-nest.less │ │ ├── pie-nest.vue │ │ ├── pie-roseType.config.js │ │ ├── pie-roseType.less │ │ ├── pie-roseType.vue │ │ ├── radar-basic.config.js │ │ ├── radar-basic.less │ │ ├── radar-basic.vue │ │ ├── scatter-basic.config.js │ │ ├── scatter-basic.less │ │ └── scatter-basic.vue │ │ └── index │ │ ├── assets │ │ └── echarts.js │ │ ├── index.config.js │ │ ├── index.less │ │ └── index.vue └── demo-vue3 │ ├── .editorconfig │ ├── .eslintrc │ ├── .gitignore │ ├── LICENSE │ ├── README.md │ ├── babel.config.js │ ├── config │ ├── dev.js │ ├── index.js │ └── prod.js │ ├── jsconfig.json │ ├── package.json │ ├── project.alipay.json │ ├── project.config.json │ ├── project.tt.json │ ├── src │ ├── app.config.js │ ├── app.js │ ├── app.less │ ├── assert │ │ ├── 01.png │ │ ├── 02.png │ │ └── arrow.png │ ├── index.html │ └── pages │ │ ├── ecchart │ │ ├── bar-basic.config.js │ │ ├── bar-basic.less │ │ ├── bar-basic.vue │ │ ├── bar-negative.config.js │ │ ├── bar-negative.less │ │ ├── bar-negative.vue │ │ ├── bar-stack.config.js │ │ ├── bar-stack.less │ │ ├── bar-stack.vue │ │ ├── bar-waterfall.config.js │ │ ├── bar-waterfall.less │ │ ├── bar-waterfall.vue │ │ ├── candlestick-basic.config.js │ │ ├── candlestick-basic.less │ │ ├── candlestick-basic.vue │ │ ├── index.config.js │ │ ├── index.less │ │ ├── index.vue │ │ ├── line-area.config.js │ │ ├── line-area.less │ │ ├── line-area.vue │ │ ├── line-basic.config.js │ │ ├── line-basic.less │ │ ├── line-basic.vue │ │ ├── line-smooth.config.js │ │ ├── line-smooth.less │ │ ├── line-smooth.vue │ │ ├── line-stack.config.js │ │ ├── line-stack.less │ │ ├── line-stack.vue │ │ ├── mix-line-bar.config.js │ │ ├── mix-line-bar.less │ │ ├── mix-line-bar.vue │ │ ├── pie-basic.config.js │ │ ├── pie-basic.less │ │ ├── pie-basic.vue │ │ ├── pie-doughnut.config.js │ │ ├── pie-doughnut.less │ │ ├── pie-doughnut.vue │ │ ├── pie-nest.config.js │ │ ├── pie-nest.less │ │ ├── pie-nest.vue │ │ ├── pie-roseType.config.js │ │ ├── pie-roseType.less │ │ ├── pie-roseType.vue │ │ ├── radar-basic.config.js │ │ ├── radar-basic.less │ │ ├── radar-basic.vue │ │ ├── scatter-basic.config.js │ │ ├── scatter-basic.less │ │ └── scatter-basic.vue │ │ └── index │ │ ├── assets │ │ └── echarts.js │ │ ├── index.config.js │ │ ├── index.less │ │ └── index.vue │ └── yarn.lock ├── lib ├── assets │ └── echarts.js ├── common │ ├── index.js │ └── polyfill.js ├── ec-canvas │ ├── index.vue │ └── wx-canvas.js ├── echart │ └── index.vue └── index.js ├── package.json └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- 1 | # https://editorconfig.org 2 | 3 | root = true 4 | 5 | [*] 6 | charset = utf-8 7 | indent_style = space 8 | indent_size = 2 9 | end_of_line = lf 10 | insert_final_newline = true 11 | trim_trailing_whitespace = true 12 | 13 | [*.md] 14 | insert_final_newline = false 15 | trim_trailing_whitespace = false 16 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # 前端项目 2 | *.zip 3 | .yalc 4 | yalc.lock 5 | 6 | ## 生成文件 7 | /_* 8 | dist 9 | build 10 | /coverage 11 | 12 | ## Node.js 13 | node_modules 14 | jspm_packages 15 | bower_components 16 | .nyc_output 17 | 18 | # 编辑器 19 | 20 | ## Sublime 21 | *.sublime-workspace 22 | 23 | ## Webstorm 24 | .idea/ 25 | *.iws 26 | 27 | ## Visual Studio 28 | .vs 29 | **/[Bb]in/[Dd]ebug/ 30 | **/[Bb]in/[Rr]elease/ 31 | [Oo]bj/ 32 | *.sln.* 33 | *.vshost.* 34 | *.suo 35 | *.user 36 | _ReSharper* 37 | *.ReSharper 38 | .ntvs_analysis.dat 39 | **/[Bb]in/Microsoft.NodejsTools.WebRole.dll 40 | 41 | # 操作系统 42 | 43 | ## 临时文件 44 | *.tmp 45 | *.log 46 | *~ 47 | ._* 48 | 49 | ## Windows 50 | *.lnk 51 | $RECYCLE.BIN 52 | Desktop.ini 53 | ehthumbs.db 54 | Thumbs.db 55 | 56 | ## OSX 57 | .DS_Store 58 | -------------------------------------------------------------------------------- /.prettierrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | semi: true, 3 | singleQuote: false, 4 | printWidth: 100, 5 | trailingComma: "none", 6 | arrowParens: "always" 7 | }; 8 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. 4 | 5 | ## [1.8.0](https://github.com/beezen/echarts4taro3/compare/v1.7.0...v1.8.0) (2024-03-28) 6 | 7 | 8 | ### Features 9 | 10 | * 新增通过组件实例获取唯一uid属性 ([cceb6ce](https://github.com/beezen/echarts4taro3/commit/cceb6ce7e02f49b678501b208a05f4d4c9eb33ac)) 11 | 12 | ## [1.7.0](https://github.com/beezen/echarts4taro3/compare/v1.6.0...v1.7.0) (2024-03-14) 13 | 14 | 15 | ### Features 16 | 17 | * 破坏性升级: 移除内置的 echarts.js, 统一采用 loadEcharts 方法手动注册 echarts.js 库 ([69aeda8](https://github.com/beezen/echarts4taro3/commit/69aeda816e9947e4370c5436de96395f8befcdb1)) 18 | 19 | ## [1.6.0](https://github.com/beezen/echarts4taro3/compare/v1.5.0...v1.6.0) (2023-09-04) 20 | 21 | 22 | ### Features 23 | 24 | * 优化h5端初始化图表大小异常问题和添加loadEcharts加载失败的日志 ([00fee73](https://github.com/beezen/echarts4taro3/commit/00fee73ec9e5fb2900d58783df4f728c01c5d864)) 25 | 26 | ## [1.5.0](https://github.com/beezen/echarts4taro3/compare/v1.4.4...v1.5.0) (2023-08-09) 27 | 28 | 29 | ### Features 30 | 31 | * 新增支持自定义导入echarts三方库 ([366ef7a](https://github.com/beezen/echarts4taro3/commit/366ef7aa5c4aca9b815f8f642396342cd4c288df)) 32 | 33 | ### [1.4.4](https://github.com/beezen/echarts4taro3/compare/v1.4.3...v1.4.4) (2023-08-08) 34 | 35 | 36 | ### Bug Fixes 37 | 38 | * 优化小程序中偶现echarts初始化异常问题 ([15941bc](https://github.com/beezen/echarts4taro3/commit/15941bc0bdf790295e869cdb4c7bddc2f90887ee)) 39 | 40 | ### [1.4.3](https://github.com/beezen/echarts4taro3/compare/v1.4.2...v1.4.3) (2023-06-14) 41 | 42 | 43 | ### Bug Fixes 44 | 45 | * 修复echarts实例dispose执行报错问题 ([3e4404f](https://github.com/beezen/echarts4taro3/commit/3e4404f6255bb66e43ff8ab00cbb4875662f8079)) 46 | 47 | ### [1.4.2](https://github.com/beezen/echarts4taro3/compare/v1.4.1...v1.4.2) (2023-06-07) 48 | 49 | 50 | ### Bug Fixes 51 | 52 | * 优化 canvas 未实例化时调用报错问题 ([091a62a](https://github.com/beezen/echarts4taro3/commit/091a62a6bd724c679916a7ae5a0aa535e7c8af64)) 53 | 54 | ### [1.4.1](https://github.com/beezen/echarts4taro3/compare/v1.3.1...v1.4.1) (2023-02-07) 55 | 56 | ### [1.3.1](https://github.com/beezen/echarts4taro3/compare/v1.3.0...v1.3.1) (2023-02-06) 57 | 58 | 59 | ### Bug Fixes 60 | 61 | * 优化 echarts 实例获取失败问题 ([e6516cc](https://github.com/beezen/echarts4taro3/commit/e6516cce6ca2c73a46fc9dfc8a201c297ec70f2d)) 62 | 63 | ## [1.3.0](https://github.com/beezen/echarts4taro3/compare/v1.2.0...v1.3.0) (2023-02-02) 64 | 65 | 66 | ### Features 67 | 68 | * 新增支持支付宝小程序和字节跳动小程序 ([cce70af](https://github.com/beezen/echarts4taro3/commit/cce70afcf8007371f38d71718b96fa80fecffa5a)) 69 | 70 | ## [1.2.0](https://github.com/beezen/echarts4taro3/compare/v1.1.2...v1.2.0) (2023-01-30) 71 | 72 | 73 | ### Features 74 | 75 | * 兼容支持 vue3 语法 ([7a76380](https://github.com/beezen/echarts4taro3/commit/7a76380f1930a842f62aadbc4fb81011b61cdbd3)) 76 | 77 | ### [1.1.2](https://github.com/beezen/echarts4taro3/compare/v1.1.1...v1.1.2) (2022-08-31) 78 | 79 | ### [1.1.1](https://github.com/beezen/echarts4taro3/compare/v1.1.0...v1.1.1) (2022-08-31) 80 | 81 | 82 | ### Bug Fixes 83 | 84 | * 优化容器未加载完成,echarts无法获取到元素节点导致初始化失败 ([590c885](https://github.com/beezen/echarts4taro3/commit/590c8852711261f6ceeb751482b29ec75d243296)) 85 | 86 | ## 1.1.0 (2022-01-24) 87 | 88 | 89 | ### Features 90 | 91 | * 新增跨端组件 ([bb7c48e](https://github.com/beezen/echarts4taro3/commit/bb7c48ef61bbfb0d610807a45f9c16ce1b5a0155)) 92 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2022 beezen 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # echarts for taro3 2 | 3 | ![npm](https://img.shields.io/npm/v/echarts4taro3?color=42b883) 4 | 5 | `echarts4taro3` 是一个可运行在 Taro3 框架上的 Echarts 跨端组件,满足开发者使用一套 **vue** 或 **vue3** 代码,就让图表流畅的展示于 **H5** 和**小程序端**。 6 | 7 | 目前已支持的平台包含:**H5**、**微信小程序**、**支付宝小程序**和**字节跳动小程序**。 8 | 9 | 支持开发者导入**自定义 echarts 库**。 10 | 11 | ## 目录 12 | 13 | - [快速开始](#快速开始) 14 | - [组件引用](#组件引用) 15 | - [基础用法](#基础用法) 16 | - [进阶用法](#进阶用法) 17 | - [组件实例方法](#组件实例方法) 18 | - [组件效果](#组件效果) 19 | - [注意事项](#注意事项) 20 | - [Demo 下载](#demo-下载) 21 | - [参考资料](#参考资料) 22 | 23 | ## 快速开始 24 | 25 | ### 组件引用 26 | 27 | #### 方式一:npm 安装引用(强烈推荐) 28 | 29 | 1、下载依赖 30 | 31 | ```bash 32 | yarn add echarts4taro3 -S #或 npm install echarts4taro3 -S 33 | ``` 34 | 35 | 2、项目引用 36 | 37 | ```javascript 38 | import { EChart, loadEcharts } from "echarts4taro3"; 39 | import * as echarts from "echarts4taro3/lib/assets/echarts"; // 框架内置了一份,也可以用官网自定义的 echarts.js 40 | loadEcharts(echarts); // 初始化加载 echarts 库 41 | ``` 42 | 43 | #### 方式二:拷贝引用(注:需要开发者主动兼容 vue 和 vue3) 44 | 45 | 1、下载组件:[点击下载](https://github.com/beezen/echarts4taro3/archive/refs/heads/master.zip) 46 | 47 | 2、拷贝项目 `/lib` 目录下内容到项目中,可命名为 `echarts4taro3`,业务逻辑中这样引用 `import { EChart } from "@components/echarts4taro3/index.js"`。业务项目结构如下: 48 | 49 | ```bash 50 | ## src 目录下 51 | . 52 | ├── components 53 | │ └── echarts4taro3 # 图表跨端组件 54 | │ ├── assets 55 | │ ├── common 56 | │ ├── ec-canvas 57 | │ ├── echart 58 | │ └── index.js 59 | └── pages # 使用示例 60 | ├── ecchart 61 | └── index 62 | ``` 63 | 64 | ### 基础用法 65 | 66 | #### vue3 语法,代码示例如下: 67 | 68 | 首先在全局 `app.js` 中统一加载 echarts 库,如果只有单个页面使用 echarts,则推荐在单个页面中加载。参考如下: 69 | 70 | ```javascript 71 | // app.js 72 | import * as echarts from "echarts4taro3/lib/assets/echarts"; // 这里用了内置的,也可以用自定义的 echarts.js 73 | import { loadEcharts } from "echarts4taro3"; 74 | loadEcharts(echarts); // 加载 echarts 库 75 | ``` 76 | 77 | 页面代码如下: 78 | 79 | ```html 80 | 81 | 86 | 87 | 131 | ``` 132 | 133 | #### vue 语法,代码示例如下: 134 | 135 | 首先在全局 `app.js` 中统一加载 echarts 库,如果只有单个页面使用 echarts,则推荐在单个页面中加载。参考如下: 136 | 137 | ```javascript 138 | // app.js 139 | import * as echarts from "echarts4taro3/lib/assets/echarts"; // 这里用了内置的,也可以用自定义的 echarts.js 140 | import { loadEcharts } from "echarts4taro3"; 141 | loadEcharts(echarts); // 加载 echarts 库 142 | ``` 143 | 144 | 页面代码如下: 145 | 146 | ```html 147 | 152 | 153 | 204 | ``` 205 | 206 | ### 进阶用法 207 | 208 | #### 通过 `loadEcharts` 方法导入自定义的 echarts 库 209 | 210 | ```javascript 211 | import * as echarts from "./assets/echarts"; // 根据需求自定义的 echarts 库 212 | import { loadEcharts } from "echarts4taro3"; 213 | loadEcharts(echarts); // 给组件导入自定义的 echarts 库 214 | ``` 215 | 216 | #### 通过 `setOption` 方法动态改变 echarts 数据 217 | 218 | ```javascript 219 | let myChart; 220 | onMounted(() => { 221 | const echartComponentInstance = canvas.value; 222 | Taro.nextTick(() => { 223 | echartComponentInstance.refresh(options).then((myChartInstance) => { 224 | myChart = myChartInstance; 225 | }); 226 | }); 227 | }); 228 | 229 | // ... 230 | // 点击设置图表数据 231 | function handleSetOptions(data) { 232 | myChart.setOption(data); 233 | } 234 | ``` 235 | 236 | #### 通过 `getOption` 方法获取当前实例的配置信息 237 | 238 | ```javascript 239 | let myChart; 240 | onMounted(() => { 241 | const echartComponentInstance = canvas.value; 242 | Taro.nextTick(() => { 243 | echartComponentInstance.refresh(options).then((myChartInstance) => { 244 | myChart = myChartInstance; 245 | }); 246 | }); 247 | }); 248 | 249 | // ... 250 | // 点击获取图表数据 251 | function handleGetOptions() { 252 | console.log(myChart.getOption()); 253 | } 254 | ``` 255 | 256 | #### 通过 `getChart` 直接获取当前图表实例 257 | 258 | ```javascript 259 | onMounted(() => { 260 | const echartComponentInstance = canvas.value; 261 | Taro.nextTick(() => { 262 | echartComponentInstance.refresh(options); 263 | }); 264 | }); 265 | 266 | // ... 267 | // 点击获取图表 echarts 实例 268 | function handleGetEcharts() { 269 | const echartComponentInstance = canvas.value; 270 | const myChart = echartComponentInstance.getChart(); 271 | console.log(myChart); 272 | // 后续可进行相关 echarts 操作 273 | // myChart.setOption(data); 274 | // myChart.resize(data); 275 | } 276 | ``` 277 | 278 | ## 组件实例方法 279 | 280 | > 引入 EChart 组件后,拿到 EChart 组件实例,并调用实例 refresh(options)方法设置图表数据。具体可参考官方 [options 配置项](https://echarts.apache.org/zh/option.html)和[Demo 示例](https://echarts.apache.org/examples/zh/index.html)。 281 | 282 | ### 示例 283 | 284 | ```vue3 285 | 288 | 289 | 304 | ``` 305 | 306 | ### 方法 307 | 308 | | 方法 | 参数 | 描述 | 309 | | --------- | ------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | 310 | | refresh | ([options](https://echarts.apache.org/zh/option.html) ,[callback] ) | 创建一个 echarts 实例,返回 echartsInstance | 311 | | setOption | ([options](https://echarts.apache.org/zh/option.html) ) | 设置图表实例的配置项以及数据,所有参数和数据的修改都可以通过 setOption 完成,echarts 会合并新的参数和数据,然后刷新图表。 | 312 | | resize | (resizeOptions) | 改变图表尺寸,在容器大小发生改变时需要手动调用。 | 313 | | getChart | 无 | 获取图表 echarts 实例,来完成更多自定义效果 | 314 | 315 | 【参数解释】 316 | 317 | 1. `options`: echarts 配置项,可参考官网[options 配置项](https://echarts.apache.org/zh/option.html) 318 | 319 | 2. `resizeOptions`: 尺寸属性,有下面几个属性: 320 | 321 | - `width` 可显式指定实例宽度,单位为像素。 322 | - `height` 可显式指定实例高度,单位为像素。 323 | 324 | ## 组件效果 325 | 326 | 327 | 328 | ## 注意事项 329 | 330 | 对于网页加载速度或者微信小程序包体积大小有要求的,可以做如下调整: 331 | 332 | 1、因为 echarts 图表库本身体积相对较大,所以开发者可以根据业务需要在 echarts [官网定制](https://echarts.apache.org/zh/builder.html) `echarts.js`,然后通过 `loadEcharts` 方法动态导入库。 333 | 334 | 2、在微信小程序中对于应用体积有严格的限制要求,开发者可以通过[分包](https://developers.weixin.qq.com/miniprogram/dev/framework/subpackages/basic.html)技术对应用进行拆分。 335 | 336 | 3、组件初始化 `refresh` 方法需要在页面组件节点挂载完成后才能调用。 337 | 338 | ## Demo 下载 339 | 340 | 方式一:直接下载 echarts4taro3:[Download ZIP](https://github.com/beezen/echarts4taro3/archive/refs/heads/master.zip) 341 | 342 | 方式二:Use Git or checkout with SVN using the web URL. 343 | 344 | ```bash 345 | git clone https://github.com/beezen/echarts4taro3.git 346 | ``` 347 | 348 | 在 `examples/` 目录下存在相关功能实现示例: 349 | 350 | - [vue2 demo](https://github.com/beezen/echarts4taro3/tree/master/examples/demo-vue2) 351 | - [vue3 demo](https://github.com/beezen/echarts4taro3/tree/master/examples/demo-vue3) 352 | 353 | 快速运行 354 | 355 | ```bash 356 | # 在对应的 demo 根目录下执行 357 | 358 | $ yarn # 安装依赖 359 | 360 | $ yarn dev:weapp # 运行微信小程序 361 | $ yarn dev:h5 # 运行 H5 362 | ``` 363 | 364 | ## 参考资料 365 | 366 | - [在微信小程序中使用 Apache ECharts](https://github.com/ecomfe/echarts-for-weixin) 367 | - [echarts-taro3-vue](https://taro-ext.jd.com/plugin/view/5f68a040f71392c040202fd7) 368 | - [echarts 官网](https://echarts.apache.org/zh/index.html) 369 | -------------------------------------------------------------------------------- /examples/demo-vue2/.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_style = space 6 | indent_size = 2 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | 11 | [*.md] 12 | trim_trailing_whitespace = false 13 | -------------------------------------------------------------------------------- /examples/demo-vue2/.eslintrc.js: -------------------------------------------------------------------------------- 1 | // ESLint 检查 .vue 文件需要单独配置编辑器: 2 | // https://eslint.vuejs.org/user-guide/#editor-integrations 3 | module.exports = { 4 | 'extends': ['taro/vue'] 5 | } 6 | -------------------------------------------------------------------------------- /examples/demo-vue2/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2022 beezen 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /examples/demo-vue2/README.md: -------------------------------------------------------------------------------- 1 | # vue2-demo 2 | 3 | ## 安装 4 | 5 | ```bash 6 | yarn # 或 npm install 7 | ``` 8 | 9 | ## 运行 10 | 11 | ```bash 12 | yarn dev:h5 # 运行到H5 13 | yarn dev:weapp # 运行到微信小程序 14 | yarn dev:alipay # 运行到支付宝小程序 15 | yarn dev:tt # 运行到字节跳动小程序 16 | ``` 17 | -------------------------------------------------------------------------------- /examples/demo-vue2/babel.config.js: -------------------------------------------------------------------------------- 1 | // babel-preset-taro 更多选项和默认值: 2 | // https://github.com/NervJS/taro/blob/next/packages/babel-preset-taro/README.md 3 | module.exports = { 4 | presets: [ 5 | ['taro', { 6 | framework: 'vue', 7 | ts: false 8 | }] 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /examples/demo-vue2/config/alias.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 自动生成,修改无效 3 | * @Description: alias 4 | * @Author: bangdong.chen 5 | * @Date: 2020-03-03 10:05:41 6 | * @LastEditors: bangdong.chen 7 | * @LastEditTime: 2020-05-22 11:22:08 8 | */ 9 | "use strict"; 10 | module.exports = { 11 | "@": "src" 12 | }; 13 | -------------------------------------------------------------------------------- /examples/demo-vue2/config/dev.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | env: { 3 | NODE_ENV: '"development"' 4 | }, 5 | defineConstants: { 6 | }, 7 | mini: {}, 8 | h5: {} 9 | } 10 | -------------------------------------------------------------------------------- /examples/demo-vue2/config/index.js: -------------------------------------------------------------------------------- 1 | const path = require("path"); 2 | const alias = require("./alias"); 3 | const newAlias = {}; 4 | Object.keys(alias).forEach((aliasKey) => { 5 | newAlias[aliasKey] = `${path.resolve(__dirname, "..", alias[aliasKey])}`; 6 | }); 7 | 8 | const config = { 9 | projectName: "echarts4taro3", 10 | designWidth: 750, 11 | deviceRatio: { 12 | 640: 2.34 / 2, 13 | 750: 1, 14 | 828: 1.81 / 2, 15 | }, 16 | sourceRoot: "src", 17 | outputRoot: `dist/${process.env.TARO_ENV}`, 18 | plugins: [], 19 | alias: newAlias, 20 | defineConstants: {}, 21 | framework: "vue", 22 | mini: { 23 | compile: { 24 | exclude: [], 25 | }, 26 | sourceMapType: "source-map", 27 | postcss: { 28 | autoprefixer: { 29 | enable: false, 30 | config: { 31 | browsers: ["last 3 versions", "Android >= 4.1", "ios >= 8"], 32 | }, 33 | }, 34 | pxtransform: { 35 | enable: true, 36 | config: {}, 37 | }, 38 | url: { 39 | enable: true, 40 | config: { 41 | limit: 1024, // 设定转换尺寸上限 42 | }, 43 | }, 44 | cssModules: { 45 | enable: false, // 默认为 false,如需使用 css modules 功能,则设为 true 46 | config: { 47 | namingPattern: "global", // 转换模式,取值为 global/module 48 | generateScopedName: "[name]__[local]___[hash:base64:5]", 49 | }, 50 | }, 51 | }, 52 | }, 53 | }; 54 | 55 | module.exports = function (merge) { 56 | if (process.env.NODE_ENV === "development") { 57 | return merge({}, config, require("./dev")); 58 | } 59 | return merge({}, config, require("./prod")); 60 | }; 61 | -------------------------------------------------------------------------------- /examples/demo-vue2/config/prod.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | env: { 3 | NODE_ENV: '"production"' 4 | }, 5 | defineConstants: { 6 | }, 7 | mini: {}, 8 | h5: { 9 | /** 10 | * 如果h5端编译后体积过大,可以使用webpack-bundle-analyzer插件对打包体积进行分析。 11 | * 参考代码如下: 12 | * webpackChain (chain) { 13 | * chain.plugin('analyzer') 14 | * .use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin, []) 15 | * } 16 | */ 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /examples/demo-vue2/jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es2017", 4 | "module": "commonjs", 5 | "removeComments": false, 6 | "preserveConstEnums": true, 7 | "moduleResolution": "node", 8 | "experimentalDecorators": true, 9 | "noImplicitAny": false, 10 | "allowSyntheticDefaultImports": true, 11 | "outDir": "lib", 12 | "noUnusedLocals": true, 13 | "noUnusedParameters": true, 14 | "strictNullChecks": true, 15 | "sourceMap": true, 16 | "baseUrl": ".", 17 | "rootDir": ".", 18 | "jsx": "preserve", 19 | "jsxFactory": "Taro.createElement", 20 | "allowJs": true, 21 | "resolveJsonModule": true, 22 | "typeRoots": ["node_modules/@types", "global.d.ts"], 23 | "paths": { 24 | "@/*": ["./src/*"] 25 | } 26 | }, 27 | "exclude": ["node_modules", "dist"], 28 | "compileOnSave": false 29 | } 30 | -------------------------------------------------------------------------------- /examples/demo-vue2/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "echarts-for-taro3-demo", 3 | "version": "1.0.0", 4 | "private": true, 5 | "description": "demo vue2", 6 | "templateInfo": { 7 | "name": "vuex", 8 | "typescript": false, 9 | "css": "less" 10 | }, 11 | "scripts": { 12 | "build:h5": "taro build --type h5", 13 | "dev:h5": "npm run build:h5 -- --watch ", 14 | "build:weapp": "taro build --type weapp", 15 | "dev:weapp": "npm run build:weapp -- --watch ", 16 | "build:alipay": "taro build --type alipay", 17 | "dev:alipay": "npm run build:alipay -- --watch ", 18 | "build:tt": "taro build --type tt", 19 | "dev:tt": "npm run build:tt -- --watch " 20 | }, 21 | "browserslist": [ 22 | "last 3 versions", 23 | "Android >= 4.1", 24 | "ios >= 8" 25 | ], 26 | "author": "", 27 | "license": "MIT", 28 | "dependencies": { 29 | "@babel/runtime": "^7.7.7", 30 | "@tarojs/components": "3.4.2", 31 | "@tarojs/runtime": "3.4.2", 32 | "@tarojs/taro": "3.4.2", 33 | "echarts4taro3": "latest", 34 | "vue": "^2.5.0", 35 | "vue-template-compiler": "^2.5.0", 36 | "vuex": "^3.0.0" 37 | }, 38 | "devDependencies": { 39 | "@babel/core": "^7.8.0", 40 | "@tarojs/cli": "3.4.2", 41 | "@tarojs/mini-runner": "3.4.2", 42 | "@tarojs/plugin-inject": "^1.0.1", 43 | "@tarojs/webpack-runner": "3.4.2", 44 | "@types/webpack-env": "^1.13.6", 45 | "babel-preset-taro": "3.4.2", 46 | "eslint": "^6.8.0", 47 | "eslint-config-taro": "3.4.2", 48 | "eslint-plugin-vue": "^6.x", 49 | "stylelint": "9.3.0", 50 | "vue-loader": "^15.9.2" 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /examples/demo-vue2/project.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "miniprogramRoot": "dist/", 3 | "projectname": "echarts4taro3", 4 | "description": "demo", 5 | "appid": "wx4365ae1ff2d1dc00", 6 | "setting": { 7 | "urlCheck": true, 8 | "es6": false, 9 | "enhance": false, 10 | "postcss": false, 11 | "preloadBackgroundData": false, 12 | "minified": false, 13 | "newFeature": false, 14 | "coverView": true, 15 | "nodeModules": false, 16 | "autoAudits": false, 17 | "showShadowRootInWxmlPanel": true, 18 | "scopeDataCheck": false, 19 | "uglifyFileName": false, 20 | "checkInvalidKey": true, 21 | "checkSiteMap": false, 22 | "uploadWithSourceMap": true, 23 | "compileHotReLoad": false, 24 | "useMultiFrameRuntime": true, 25 | "useApiHook": true, 26 | "useApiHostProcess": false, 27 | "babelSetting": { 28 | "ignore": [], 29 | "disablePlugins": [], 30 | "outputPath": "" 31 | }, 32 | "enableEngineNative": false, 33 | "useIsolateContext": true, 34 | "useCompilerModule": true, 35 | "userConfirmedUseCompilerModuleSwitch": false, 36 | "userConfirmedBundleSwitch": false, 37 | "packNpmManually": false, 38 | "packNpmRelationList": [], 39 | "minifyWXSS": true 40 | }, 41 | "compileType": "miniprogram", 42 | "condition": {} 43 | } -------------------------------------------------------------------------------- /examples/demo-vue2/project.tt.json: -------------------------------------------------------------------------------- 1 | { 2 | "miniprogramRoot": "./", 3 | "projectname": "myApp1", 4 | "description": "demo", 5 | "appid": "touristappid", 6 | "setting": { 7 | "urlCheck": true, 8 | "es6": false, 9 | "postcss": false, 10 | "minified": false 11 | }, 12 | "compileType": "miniprogram" 13 | } 14 | -------------------------------------------------------------------------------- /examples/demo-vue2/src/app.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | pages: [ 3 | "pages/index/index", 4 | "pages/bar/index", 5 | "pages/ecchart/index", 6 | "pages/ecchart/line-basic", 7 | "pages/ecchart/line-smooth", 8 | "pages/ecchart/line-area", 9 | "pages/ecchart/line-stack", 10 | "pages/ecchart/bar-basic", 11 | "pages/ecchart/bar-negative", 12 | "pages/ecchart/bar-waterfall", 13 | "pages/ecchart/bar-stack", 14 | "pages/ecchart/mix-line-bar", 15 | "pages/ecchart/pie-basic", 16 | "pages/ecchart/pie-doughnut", 17 | "pages/ecchart/pie-roseType", 18 | "pages/ecchart/pie-nest", 19 | "pages/ecchart/candlestick-basic", 20 | "pages/ecchart/scatter-basic", 21 | "pages/ecchart/radar-basic" 22 | ], 23 | window: { 24 | backgroundTextStyle: "light", 25 | navigationBarBackgroundColor: "#fff", 26 | navigationBarTitleText: "DEMO", 27 | navigationBarTextStyle: "black", 28 | }, 29 | tabBar: { 30 | list: [ 31 | { 32 | pagePath: "pages/index/index", 33 | text: "首页", 34 | iconPath: "assert/01.png", 35 | selectedIconPath: "assert/01.png", 36 | }, 37 | { 38 | pagePath: "pages/ecchart/index", 39 | text: "图表列表", 40 | iconPath: "assert/02.png", 41 | selectedIconPath: "assert/02.png", 42 | }, 43 | ], 44 | }, 45 | }; 46 | -------------------------------------------------------------------------------- /examples/demo-vue2/src/app.js: -------------------------------------------------------------------------------- 1 | import Vue from "vue"; 2 | import "./app.less"; 3 | import * as echarts from "echarts4taro3/lib/assets/echarts"; 4 | import { loadEcharts } from "echarts4taro3"; 5 | loadEcharts(echarts); 6 | 7 | const App = { 8 | render(h) { 9 | // this.$slots.default 是将要会渲染的页面 10 | return h("block", this.$slots.default); 11 | } 12 | }; 13 | 14 | export default App; 15 | -------------------------------------------------------------------------------- /examples/demo-vue2/src/app.less: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beezen/echarts4taro3/a8bd50914124cc406d19d51f80ca6923b445302d/examples/demo-vue2/src/app.less -------------------------------------------------------------------------------- /examples/demo-vue2/src/assert/01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beezen/echarts4taro3/a8bd50914124cc406d19d51f80ca6923b445302d/examples/demo-vue2/src/assert/01.png -------------------------------------------------------------------------------- /examples/demo-vue2/src/assert/02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beezen/echarts4taro3/a8bd50914124cc406d19d51f80ca6923b445302d/examples/demo-vue2/src/assert/02.png -------------------------------------------------------------------------------- /examples/demo-vue2/src/assert/arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beezen/echarts4taro3/a8bd50914124cc406d19d51f80ca6923b445302d/examples/demo-vue2/src/assert/arrow.png -------------------------------------------------------------------------------- /examples/demo-vue2/src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 15 | 16 | 17 |
18 | 19 | 20 | -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/bar/index.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | navigationBarTitleText: "柱状图", 3 | }; 4 | -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/bar/index.less: -------------------------------------------------------------------------------- 1 | .bar-chart { 2 | width: 100%; 3 | height: 100vh; 4 | } -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/bar/index.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 57 | -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/bar-basic.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | navigationBarTitleText: "图表", 3 | }; 4 | -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/bar-basic.less: -------------------------------------------------------------------------------- 1 | .bar-chart { 2 | width: 100%; 3 | height: 100vh; 4 | } -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/bar-basic.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 55 | -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/bar-negative.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | navigationBarTitleText: "图表", 3 | }; 4 | -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/bar-negative.less: -------------------------------------------------------------------------------- 1 | .bar-chart { 2 | width: 100%; 3 | height: 100vh; 4 | } -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/bar-negative.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 155 | -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/bar-stack.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | navigationBarTitleText: "图表", 3 | }; 4 | -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/bar-stack.less: -------------------------------------------------------------------------------- 1 | .bar-chart { 2 | width: 100%; 3 | height: 100vh; 4 | } -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/bar-stack.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 160 | -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/bar-waterfall.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | navigationBarTitleText: "图表", 3 | }; 4 | -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/bar-waterfall.less: -------------------------------------------------------------------------------- 1 | .bar-chart { 2 | width: 100%; 3 | height: 100vh; 4 | } -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/bar-waterfall.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 93 | -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/candlestick-basic.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | navigationBarTitleText: "图表", 3 | }; 4 | -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/candlestick-basic.less: -------------------------------------------------------------------------------- 1 | .bar-chart { 2 | width: 100%; 3 | height: 100vh; 4 | } -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/candlestick-basic.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 49 | -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/index.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | navigationBarTitleText: "图表", 3 | }; 4 | -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/index.less: -------------------------------------------------------------------------------- 1 | .bar-chart { 2 | width: 100%; 3 | height: 100vh; 4 | } -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/index.vue: -------------------------------------------------------------------------------- 1 | 59 | 60 | 70 | -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/line-area.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | navigationBarTitleText: "图表", 3 | }; 4 | -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/line-area.less: -------------------------------------------------------------------------------- 1 | .bar-chart { 2 | width: 100%; 3 | height: 100vh; 4 | } -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/line-area.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 81 | -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/line-basic.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | navigationBarTitleText: "基础折线图", 3 | }; 4 | -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/line-basic.less: -------------------------------------------------------------------------------- 1 | .bar-chart { 2 | width: 100%; 3 | height: 100vh; 4 | } -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/line-basic.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 54 | -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/line-smooth.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | navigationBarTitleText: "基础折线图", 3 | }; 4 | -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/line-smooth.less: -------------------------------------------------------------------------------- 1 | .bar-chart { 2 | width: 100%; 3 | height: 100vh; 4 | } -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/line-smooth.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 79 | -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/line-stack.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | navigationBarTitleText: "基础折线图", 3 | }; 4 | -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/line-stack.less: -------------------------------------------------------------------------------- 1 | .bar-chart { 2 | width: 100%; 3 | height: 100vh; 4 | } -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/line-stack.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 92 | -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/mix-line-bar.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | navigationBarTitleText: "基础折线图", 3 | }; 4 | -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/mix-line-bar.less: -------------------------------------------------------------------------------- 1 | .bar-chart { 2 | width: 100%; 3 | height: 100vh; 4 | } -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/mix-line-bar.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 156 | -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/pie-basic.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | navigationBarTitleText: "基础折线图", 3 | }; 4 | -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/pie-basic.less: -------------------------------------------------------------------------------- 1 | .bar-chart { 2 | width: 100%; 3 | height: 100vh; 4 | } -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/pie-basic.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 68 | -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/pie-doughnut.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | navigationBarTitleText: "基础折线图", 3 | }; 4 | -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/pie-doughnut.less: -------------------------------------------------------------------------------- 1 | .bar-chart { 2 | width: 100%; 3 | height: 100vh; 4 | } -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/pie-doughnut.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 71 | -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/pie-nest.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | navigationBarTitleText: "基础折线图", 3 | }; 4 | -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/pie-nest.less: -------------------------------------------------------------------------------- 1 | .bar-chart { 2 | width: 100%; 3 | height: 100vh; 4 | } -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/pie-nest.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 124 | -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/pie-roseType.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | navigationBarTitleText: "基础折线图", 3 | }; 4 | -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/pie-roseType.less: -------------------------------------------------------------------------------- 1 | .bar-chart { 2 | width: 100%; 3 | height: 100vh; 4 | } -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/pie-roseType.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 69 | -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/radar-basic.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | navigationBarTitleText: "基础折线图", 3 | }; 4 | -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/radar-basic.less: -------------------------------------------------------------------------------- 1 | .bar-chart { 2 | width: 100%; 3 | height: 100vh; 4 | } -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/radar-basic.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 63 | -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/scatter-basic.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | navigationBarTitleText: "基础折线图", 3 | }; 4 | -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/scatter-basic.less: -------------------------------------------------------------------------------- 1 | .bar-chart { 2 | width: 100%; 3 | height: 100vh; 4 | } -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/ecchart/scatter-basic.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 67 | -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/index/index.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | navigationBarTitleText: "首页", 3 | }; 4 | -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/index/index.less: -------------------------------------------------------------------------------- 1 | .bar-chart { 2 | width: 100%; 3 | height: 100vh; 4 | } -------------------------------------------------------------------------------- /examples/demo-vue2/src/pages/index/index.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 56 | -------------------------------------------------------------------------------- /examples/demo-vue3/.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_style = space 6 | indent_size = 2 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | 11 | [*.md] 12 | trim_trailing_whitespace = false 13 | -------------------------------------------------------------------------------- /examples/demo-vue3/.eslintrc: -------------------------------------------------------------------------------- 1 | // ESLint 检查 .vue 文件需要单独配置编辑器: 2 | // https://eslint.vuejs.org/user-guide/#editor-integrations 3 | { 4 | "extends": ["taro/vue3"] 5 | } 6 | -------------------------------------------------------------------------------- /examples/demo-vue3/.gitignore: -------------------------------------------------------------------------------- 1 | dist/ 2 | deploy_versions/ 3 | .temp/ 4 | .rn_temp/ 5 | node_modules/ 6 | .DS_Store 7 | -------------------------------------------------------------------------------- /examples/demo-vue3/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2022 beezen 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /examples/demo-vue3/README.md: -------------------------------------------------------------------------------- 1 | # vue3-demo 2 | 3 | ## 安装 4 | 5 | ```bash 6 | yarn # 或 npm install 7 | ``` 8 | 9 | ## 运行 10 | 11 | ```bash 12 | yarn dev:h5 # 运行到H5 13 | yarn dev:weapp # 运行到微信小程序 14 | yarn dev:alipay # 运行到支付宝小程序 15 | yarn dev:tt # 运行到字节跳动小程序 16 | ``` 17 | -------------------------------------------------------------------------------- /examples/demo-vue3/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | ['taro', { 4 | framework: 'vue3', 5 | ts: false 6 | }] 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /examples/demo-vue3/config/dev.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | env: { 3 | NODE_ENV: '"development"' 4 | }, 5 | defineConstants: {}, 6 | mini: {}, 7 | h5: {} 8 | }; 9 | -------------------------------------------------------------------------------- /examples/demo-vue3/config/index.js: -------------------------------------------------------------------------------- 1 | const config = { 2 | projectName: "echarts-for-taro3-demo-vue3", 3 | designWidth: 750, 4 | deviceRatio: { 5 | 640: 2.34 / 2, 6 | 750: 1, 7 | 828: 1.81 / 2 8 | }, 9 | sourceRoot: "src", 10 | outputRoot: `dist/${process.env.TARO_ENV}`, 11 | plugins: [], 12 | defineConstants: {}, 13 | copy: { 14 | patterns: [], 15 | options: {} 16 | }, 17 | framework: "vue3", 18 | compiler: { 19 | type: "webpack5", 20 | prebundle: { 21 | enable: false 22 | } 23 | }, 24 | cache: { 25 | enable: false // Webpack 持久化缓存配置,建议开启。默认配置请参考:https://docs.taro.zone/docs/config-detail#cache 26 | }, 27 | mini: { 28 | postcss: { 29 | pxtransform: { 30 | enable: true, 31 | config: {} 32 | }, 33 | url: { 34 | enable: true, 35 | config: { 36 | limit: 1024 // 设定转换尺寸上限 37 | } 38 | }, 39 | cssModules: { 40 | enable: false, // 默认为 false,如需使用 css modules 功能,则设为 true 41 | config: { 42 | namingPattern: "module", // 转换模式,取值为 global/module 43 | generateScopedName: "[name]__[local]___[hash:base64:5]" 44 | } 45 | } 46 | } 47 | }, 48 | h5: { 49 | publicPath: "/", 50 | staticDirectory: "static", 51 | postcss: { 52 | autoprefixer: { 53 | enable: true, 54 | config: {} 55 | }, 56 | cssModules: { 57 | enable: false, // 默认为 false,如需使用 css modules 功能,则设为 true 58 | config: { 59 | namingPattern: "module", // 转换模式,取值为 global/module 60 | generateScopedName: "[name]__[local]___[hash:base64:5]" 61 | } 62 | } 63 | } 64 | } 65 | }; 66 | 67 | module.exports = function(merge) { 68 | if (process.env.NODE_ENV === "development") { 69 | return merge({}, config, require("./dev")); 70 | } 71 | return merge({}, config, require("./prod")); 72 | }; 73 | -------------------------------------------------------------------------------- /examples/demo-vue3/config/prod.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | env: { 3 | NODE_ENV: '"production"' 4 | }, 5 | defineConstants: {}, 6 | mini: {}, 7 | h5: { 8 | /** 9 | * WebpackChain 插件配置 10 | * @docs https://github.com/neutrinojs/webpack-chain 11 | */ 12 | // webpackChain (chain) { 13 | // /** 14 | // * 如果 h5 端编译后体积过大,可以使用 webpack-bundle-analyzer 插件对打包体积进行分析。 15 | // * @docs https://github.com/webpack-contrib/webpack-bundle-analyzer 16 | // */ 17 | // chain.plugin('analyzer') 18 | // .use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin, []) 19 | // /** 20 | // * 如果 h5 端首屏加载时间过长,可以使用 prerender-spa-plugin 插件预加载首页。 21 | // * @docs https://github.com/chrisvfritz/prerender-spa-plugin 22 | // */ 23 | // const path = require('path') 24 | // const Prerender = require('prerender-spa-plugin') 25 | // const staticDir = path.join(__dirname, '..', 'dist') 26 | // chain 27 | // .plugin('prerender') 28 | // .use(new Prerender({ 29 | // staticDir, 30 | // routes: [ '/pages/index/index' ], 31 | // postProcess: (context) => ({ ...context, outputPath: path.join(staticDir, 'index.html') }) 32 | // })) 33 | // } 34 | } 35 | }; 36 | -------------------------------------------------------------------------------- /examples/demo-vue3/jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es2017", 4 | "module": "commonjs", 5 | "removeComments": false, 6 | "preserveConstEnums": true, 7 | "moduleResolution": "node", 8 | "experimentalDecorators": true, 9 | "noImplicitAny": false, 10 | "allowSyntheticDefaultImports": true, 11 | "outDir": "lib", 12 | "noUnusedLocals": true, 13 | "noUnusedParameters": true, 14 | "strictNullChecks": true, 15 | "sourceMap": true, 16 | "baseUrl": ".", 17 | "rootDir": ".", 18 | "jsx": "preserve", 19 | "jsxFactory": "Taro.createElement", 20 | "allowJs": true, 21 | "resolveJsonModule": true, 22 | "typeRoots": ["node_modules/@types", "global.d.ts"], 23 | "paths": { 24 | "@/*": ["./src/*"] 25 | } 26 | }, 27 | "exclude": ["node_modules", "dist"], 28 | "compileOnSave": false 29 | } 30 | -------------------------------------------------------------------------------- /examples/demo-vue3/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "echarts-for-taro3-demo", 3 | "version": "1.0.0", 4 | "private": true, 5 | "description": "demo vue3", 6 | "templateInfo": { 7 | "name": "vue3", 8 | "typescript": false, 9 | "css": "less" 10 | }, 11 | "scripts": { 12 | "build:h5": "taro build --type h5", 13 | "dev:h5": "npm run build:h5 -- --watch ", 14 | "build:weapp": "taro build --type weapp", 15 | "dev:weapp": "npm run build:weapp -- --watch ", 16 | "build:alipay": "taro build --type alipay", 17 | "dev:alipay": "npm run build:alipay -- --watch ", 18 | "build:tt": "taro build --type tt", 19 | "dev:tt": "npm run build:tt -- --watch " 20 | }, 21 | "browserslist": [ 22 | "last 3 versions", 23 | "Android >= 4.1", 24 | "ios >= 8" 25 | ], 26 | "author": "", 27 | "dependencies": { 28 | "@babel/runtime": "^7.7.7", 29 | "@tarojs/components": "3.5.6", 30 | "@tarojs/helper": "3.5.6", 31 | "@tarojs/plugin-framework-vue3": "3.5.6", 32 | "@tarojs/plugin-platform-alipay": "3.5.6", 33 | "@tarojs/plugin-platform-jd": "3.5.6", 34 | "@tarojs/plugin-platform-qq": "3.5.6", 35 | "@tarojs/plugin-platform-swan": "3.5.6", 36 | "@tarojs/plugin-platform-tt": "3.5.6", 37 | "@tarojs/plugin-platform-weapp": "3.5.6", 38 | "@tarojs/router": "3.5.6", 39 | "@tarojs/runtime": "3.5.6", 40 | "@tarojs/shared": "3.5.6", 41 | "@tarojs/taro": "3.5.6", 42 | "@tarojs/taro-h5": "3.5.6", 43 | "echarts4taro3": "latest", 44 | "vue": "^3.0.0" 45 | }, 46 | "devDependencies": { 47 | "@babel/core": "^7.8.0", 48 | "@tarojs/cli": "3.5.6", 49 | "@tarojs/webpack5-runner": "3.5.6", 50 | "@types/webpack-env": "^1.13.6", 51 | "@vue/babel-plugin-jsx": "^1.0.6", 52 | "@vue/compiler-sfc": "^3.0.0", 53 | "babel-preset-taro": "3.5.6", 54 | "css-loader": "3.4.2", 55 | "eslint": "^8.12.0", 56 | "eslint-config-taro": "3.5.6", 57 | "eslint-plugin-vue": "^8.0.0", 58 | "style-loader": "1.3.0", 59 | "stylelint": "^14.4.0", 60 | "vue-loader": "^16.0.0-beta.8", 61 | "webpack": "5.69.0" 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /examples/demo-vue3/project.alipay.json: -------------------------------------------------------------------------------- 1 | { 2 | "miniprogramRoot": "./", 3 | "projectname": "demo-hola-0.1.7-vue3", 4 | "appid": "testAppId", 5 | "setting": { 6 | "es6": false, 7 | "minified": false 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /examples/demo-vue3/project.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "miniprogramRoot": "./dist", 3 | "projectname": "demo-hola-0.1.7-vue3", 4 | "description": "Just For Fun", 5 | "appid": "touristappid", 6 | "setting": { 7 | "urlCheck": true, 8 | "es6": false, 9 | "postcss": false, 10 | "minified": false 11 | }, 12 | "compileType": "miniprogram" 13 | } 14 | -------------------------------------------------------------------------------- /examples/demo-vue3/project.tt.json: -------------------------------------------------------------------------------- 1 | { 2 | "miniprogramRoot": "./", 3 | "projectname": "demo-hola-0.1.7-vue3", 4 | "appid": "testAppId", 5 | "setting": { 6 | "es6": false, 7 | "minified": false 8 | } 9 | } -------------------------------------------------------------------------------- /examples/demo-vue3/src/app.config.js: -------------------------------------------------------------------------------- 1 | export default defineAppConfig({ 2 | pages: [ 3 | "pages/index/index", 4 | "pages/ecchart/index", 5 | "pages/ecchart/line-basic", 6 | "pages/ecchart/line-smooth", 7 | "pages/ecchart/line-area", 8 | "pages/ecchart/line-stack", 9 | "pages/ecchart/bar-basic", 10 | "pages/ecchart/bar-negative", 11 | "pages/ecchart/bar-waterfall", 12 | "pages/ecchart/bar-stack", 13 | "pages/ecchart/mix-line-bar", 14 | "pages/ecchart/pie-basic", 15 | "pages/ecchart/pie-doughnut", 16 | "pages/ecchart/pie-roseType", 17 | "pages/ecchart/pie-nest", 18 | "pages/ecchart/candlestick-basic", 19 | "pages/ecchart/scatter-basic", 20 | "pages/ecchart/radar-basic" 21 | ], 22 | window: { 23 | backgroundTextStyle: "light", 24 | navigationBarBackgroundColor: "#ffffff", 25 | navigationBarTitleText: "DEMO", 26 | navigationBarTextStyle: "black" 27 | }, 28 | tabBar: { 29 | list: [ 30 | { 31 | pagePath: "pages/index/index", 32 | text: "首页", 33 | iconPath: "assert/01.png", 34 | selectedIconPath: "assert/01.png" 35 | }, 36 | { 37 | pagePath: "pages/ecchart/index", 38 | text: "图表列表", 39 | iconPath: "assert/02.png", 40 | selectedIconPath: "assert/02.png" 41 | } 42 | ] 43 | } 44 | }); 45 | -------------------------------------------------------------------------------- /examples/demo-vue3/src/app.js: -------------------------------------------------------------------------------- 1 | import { createApp } from "vue"; 2 | import "./app.less"; 3 | import * as echarts from "echarts4taro3/lib/assets/echarts"; // 这里用了内置的,也可以用自定义的 echarts.js 4 | import { loadEcharts } from "echarts4taro3"; 5 | loadEcharts(echarts); 6 | 7 | const App = createApp({ 8 | onShow(options) {} 9 | // 入口组件不需要实现 render 方法,即使实现了也会被 taro 所覆盖 10 | }); 11 | 12 | export default App; 13 | -------------------------------------------------------------------------------- /examples/demo-vue3/src/app.less: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beezen/echarts4taro3/a8bd50914124cc406d19d51f80ca6923b445302d/examples/demo-vue3/src/app.less -------------------------------------------------------------------------------- /examples/demo-vue3/src/assert/01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beezen/echarts4taro3/a8bd50914124cc406d19d51f80ca6923b445302d/examples/demo-vue3/src/assert/01.png -------------------------------------------------------------------------------- /examples/demo-vue3/src/assert/02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beezen/echarts4taro3/a8bd50914124cc406d19d51f80ca6923b445302d/examples/demo-vue3/src/assert/02.png -------------------------------------------------------------------------------- /examples/demo-vue3/src/assert/arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beezen/echarts4taro3/a8bd50914124cc406d19d51f80ca6923b445302d/examples/demo-vue3/src/assert/arrow.png -------------------------------------------------------------------------------- /examples/demo-vue3/src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | vue3 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/bar-basic.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | navigationBarTitleText: "图表", 3 | }; 4 | -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/bar-basic.less: -------------------------------------------------------------------------------- 1 | .bar-chart { 2 | width: 100%; 3 | height: 100vh; 4 | } -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/bar-basic.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 45 | -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/bar-negative.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | navigationBarTitleText: "图表", 3 | }; 4 | -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/bar-negative.less: -------------------------------------------------------------------------------- 1 | .bar-chart { 2 | width: 100%; 3 | height: 100vh; 4 | } -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/bar-negative.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 138 | -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/bar-stack.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | navigationBarTitleText: "图表", 3 | }; 4 | -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/bar-stack.less: -------------------------------------------------------------------------------- 1 | .bar-chart { 2 | width: 100%; 3 | height: 100vh; 4 | } -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/bar-stack.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 149 | -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/bar-waterfall.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | navigationBarTitleText: "图表", 3 | }; 4 | -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/bar-waterfall.less: -------------------------------------------------------------------------------- 1 | .bar-chart { 2 | width: 100%; 3 | height: 100vh; 4 | } -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/bar-waterfall.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 82 | -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/candlestick-basic.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | navigationBarTitleText: "图表", 3 | }; 4 | -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/candlestick-basic.less: -------------------------------------------------------------------------------- 1 | .bar-chart { 2 | width: 100%; 3 | height: 100vh; 4 | } -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/candlestick-basic.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 38 | -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/index.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | navigationBarTitleText: "图表", 3 | }; 4 | -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/index.less: -------------------------------------------------------------------------------- 1 | .bar-chart { 2 | width: 100%; 3 | height: 100vh; 4 | } -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/index.vue: -------------------------------------------------------------------------------- 1 | 35 | 36 | 39 | -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/line-area.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | navigationBarTitleText: "图表", 3 | }; 4 | -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/line-area.less: -------------------------------------------------------------------------------- 1 | .bar-chart { 2 | width: 100%; 3 | height: 100vh; 4 | } -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/line-area.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 45 | -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/line-basic.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | navigationBarTitleText: "基础折线图", 3 | }; 4 | -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/line-basic.less: -------------------------------------------------------------------------------- 1 | .bar-chart { 2 | width: 100%; 3 | height: 100vh; 4 | } -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/line-basic.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 44 | -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/line-smooth.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | navigationBarTitleText: "基础折线图", 3 | }; 4 | -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/line-smooth.less: -------------------------------------------------------------------------------- 1 | .bar-chart { 2 | width: 100%; 3 | height: 100vh; 4 | } -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/line-smooth.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 44 | -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/line-stack.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | navigationBarTitleText: "基础折线图", 3 | }; 4 | -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/line-stack.less: -------------------------------------------------------------------------------- 1 | .bar-chart { 2 | width: 100%; 3 | height: 100vh; 4 | } -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/line-stack.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 81 | -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/mix-line-bar.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | navigationBarTitleText: "折柱混合", 3 | }; 4 | -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/mix-line-bar.less: -------------------------------------------------------------------------------- 1 | .bar-chart { 2 | width: 100%; 3 | height: 100vh; 4 | } -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/mix-line-bar.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 105 | -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/pie-basic.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | navigationBarTitleText: "基础折线图", 3 | }; 4 | -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/pie-basic.less: -------------------------------------------------------------------------------- 1 | .bar-chart { 2 | width: 100%; 3 | height: 100vh; 4 | } -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/pie-basic.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 55 | -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/pie-doughnut.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | navigationBarTitleText: "基础折线图", 3 | }; 4 | -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/pie-doughnut.less: -------------------------------------------------------------------------------- 1 | .bar-chart { 2 | width: 100%; 3 | height: 100vh; 4 | } -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/pie-doughnut.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 58 | -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/pie-nest.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | navigationBarTitleText: "基础折线图", 3 | }; 4 | -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/pie-nest.less: -------------------------------------------------------------------------------- 1 | .bar-chart { 2 | width: 100%; 3 | height: 100vh; 4 | } -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/pie-nest.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 111 | -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/pie-roseType.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | navigationBarTitleText: "基础折线图", 3 | }; 4 | -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/pie-roseType.less: -------------------------------------------------------------------------------- 1 | .bar-chart { 2 | width: 100%; 3 | height: 100vh; 4 | } -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/pie-roseType.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 56 | -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/radar-basic.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | navigationBarTitleText: "基础折线图", 3 | }; 4 | -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/radar-basic.less: -------------------------------------------------------------------------------- 1 | .bar-chart { 2 | width: 100%; 3 | height: 100vh; 4 | } -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/radar-basic.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 53 | -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/scatter-basic.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | navigationBarTitleText: "基础折线图", 3 | }; 4 | -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/scatter-basic.less: -------------------------------------------------------------------------------- 1 | .bar-chart { 2 | width: 100%; 3 | height: 100vh; 4 | } -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/ecchart/scatter-basic.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 55 | -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/index/index.config.js: -------------------------------------------------------------------------------- 1 | export default definePageConfig({ 2 | navigationBarTitleText: "首页" 3 | }); 4 | -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/index/index.less: -------------------------------------------------------------------------------- 1 | .bar-chart { 2 | width: 100%; 3 | height: 100vh; 4 | } -------------------------------------------------------------------------------- /examples/demo-vue3/src/pages/index/index.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 72 | -------------------------------------------------------------------------------- /lib/common/index.js: -------------------------------------------------------------------------------- 1 | let currentEchartsModule; // 当前 echarts 模块 2 | 3 | /** 获取 echarts 模块 */ 4 | export function getEcharts() { 5 | if (!currentEchartsModule) 6 | return console.error("未找到 echarts 模块,请优先使用 loadEcharts 方法加载"); 7 | return currentEchartsModule; 8 | } 9 | 10 | /** 11 | * 加载 echarts 模块 12 | * @param echartsModule echarts 模块 13 | */ 14 | export function loadEcharts(echartsModule) { 15 | if (!echartsModule) return console.error("loadEcharts 未加载到 echarts 模块"); 16 | currentEchartsModule = echartsModule; 17 | } 18 | -------------------------------------------------------------------------------- /lib/common/polyfill.js: -------------------------------------------------------------------------------- 1 | // 支付宝小程序兼容 2 | if (process.env.TARO_ENV === "alipay") { 3 | Object.defineProperty(Object.prototype, "wx", { 4 | enumerable: false, 5 | value: my 6 | }); 7 | } 8 | -------------------------------------------------------------------------------- /lib/ec-canvas/index.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 161 | 162 | 168 | -------------------------------------------------------------------------------- /lib/ec-canvas/wx-canvas.js: -------------------------------------------------------------------------------- 1 | export default class WxCanvas { 2 | constructor(ctx, isNew, canvasNode) { 3 | this.ctx = ctx; 4 | this.chart = null; 5 | this.isNew = isNew; 6 | if (isNew) { 7 | this.canvasNode = canvasNode; 8 | } else { 9 | this._initStyle(ctx); 10 | } 11 | 12 | this._initEvent(); 13 | } 14 | 15 | getContext(contextType) { 16 | if (contextType === "2d") { 17 | return this.ctx; 18 | } 19 | } 20 | 21 | setChart(chart) { 22 | this.chart = chart; 23 | } 24 | 25 | addEventListener() { 26 | // noop 27 | } 28 | removeEventListener() { 29 | // noop 30 | } 31 | attachEvent() { 32 | // noop 33 | } 34 | 35 | detachEvent() { 36 | // noop 37 | } 38 | 39 | _initCanvas(zrender, ctx) { 40 | zrender.util.getContext = function() { 41 | return ctx; 42 | }; 43 | 44 | zrender.util.$override("measureText", function(text, font) { 45 | ctx.font = font || "12px sans-serif"; 46 | return ctx.measureText(text); 47 | }); 48 | } 49 | 50 | _initStyle(ctx) { 51 | ctx.createRadialGradient = () => { 52 | return ctx.createCircularGradient(arguments); 53 | }; 54 | } 55 | 56 | _initEvent() { 57 | this.event = {}; 58 | const eventNames = [ 59 | { 60 | wxName: "touchStart", 61 | ecName: "mousedown" 62 | }, 63 | { 64 | wxName: "touchMove", 65 | ecName: "mousemove" 66 | }, 67 | { 68 | wxName: "touchEnd", 69 | ecName: "mouseup" 70 | }, 71 | { 72 | wxName: "touchEnd", 73 | ecName: "click" 74 | } 75 | ]; 76 | 77 | eventNames.forEach((name) => { 78 | this.event[name.wxName] = (e) => { 79 | const touch = e.touches[0]; 80 | this.chart.getZr().handler.dispatch(name.ecName, { 81 | zrX: name.wxName === "tap" ? touch.clientX : touch.x, 82 | zrY: name.wxName === "tap" ? touch.clientY : touch.y, 83 | preventDefault: () => {}, 84 | stopImmediatePropagation: () => {}, 85 | stopPropagation: () => {} 86 | }); 87 | }; 88 | }); 89 | } 90 | 91 | set width(w) { 92 | if (this.canvasNode) this.canvasNode.width = w; 93 | } 94 | set height(h) { 95 | if (this.canvasNode) this.canvasNode.height = h; 96 | } 97 | 98 | get width() { 99 | if (this.canvasNode) return this.canvasNode.width; 100 | return 0; 101 | } 102 | get height() { 103 | if (this.canvasNode) return this.canvasNode.height; 104 | return 0; 105 | } 106 | } 107 | -------------------------------------------------------------------------------- /lib/echart/index.vue: -------------------------------------------------------------------------------- 1 | 5 | 6 | 106 | 107 | 113 | -------------------------------------------------------------------------------- /lib/index.js: -------------------------------------------------------------------------------- 1 | export { default as EChart } from "./echart/index"; 2 | export { loadEcharts, getEcharts } from "./common/index"; 3 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "echarts4taro3", 3 | "version": "1.8.0", 4 | "description": "是一个可运行在 Taro3 框架上的 Echarts 跨端组件,满足开发者使用一套 vue 或 vue3 代码,就让图表流畅的展示于 h5 和小程序端", 5 | "main": "./lib/index.js", 6 | "scripts": { 7 | "release": "standard-version", 8 | "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0" 9 | }, 10 | "keywords": [ 11 | "echarts4taro3", 12 | "echarts", 13 | "vue3", 14 | "vue" 15 | ], 16 | "files": [ 17 | "lib" 18 | ], 19 | "repository": { 20 | "type": "git", 21 | "url": "https://github.com/beezen/echarts4taro3" 22 | }, 23 | "author": "beezen", 24 | "license": "MIT", 25 | "dependencies": { 26 | "vue-demi": "^0.13.11" 27 | }, 28 | "peerDependencies": { 29 | "@vue/composition-api": "^1.0.0-rc.1", 30 | "vue": "^2.0.0 || >=3.0.0", 31 | "@tarojs/taro": ">=3.0.0" 32 | }, 33 | "peerDependenciesMeta": { 34 | "@vue/composition-api": { 35 | "optional": true 36 | } 37 | }, 38 | "devDependencies": { 39 | "vue": "^3.0.0" 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/parser@^7.16.4": 6 | version "7.20.15" 7 | resolved "https://registry.npmmirror.com/@babel/parser/-/parser-7.20.15.tgz#eec9f36d8eaf0948bb88c87a46784b5ee9fd0c89" 8 | integrity sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg== 9 | 10 | "@vue/compiler-core@3.2.47": 11 | version "3.2.47" 12 | resolved "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.47.tgz#3e07c684d74897ac9aa5922c520741f3029267f8" 13 | integrity sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig== 14 | dependencies: 15 | "@babel/parser" "^7.16.4" 16 | "@vue/shared" "3.2.47" 17 | estree-walker "^2.0.2" 18 | source-map "^0.6.1" 19 | 20 | "@vue/compiler-dom@3.2.47": 21 | version "3.2.47" 22 | resolved "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.47.tgz#a0b06caf7ef7056939e563dcaa9cbde30794f305" 23 | integrity sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ== 24 | dependencies: 25 | "@vue/compiler-core" "3.2.47" 26 | "@vue/shared" "3.2.47" 27 | 28 | "@vue/compiler-sfc@3.2.47": 29 | version "3.2.47" 30 | resolved "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.2.47.tgz#1bdc36f6cdc1643f72e2c397eb1a398f5004ad3d" 31 | integrity sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ== 32 | dependencies: 33 | "@babel/parser" "^7.16.4" 34 | "@vue/compiler-core" "3.2.47" 35 | "@vue/compiler-dom" "3.2.47" 36 | "@vue/compiler-ssr" "3.2.47" 37 | "@vue/reactivity-transform" "3.2.47" 38 | "@vue/shared" "3.2.47" 39 | estree-walker "^2.0.2" 40 | magic-string "^0.25.7" 41 | postcss "^8.1.10" 42 | source-map "^0.6.1" 43 | 44 | "@vue/compiler-ssr@3.2.47": 45 | version "3.2.47" 46 | resolved "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.2.47.tgz#35872c01a273aac4d6070ab9d8da918ab13057ee" 47 | integrity sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw== 48 | dependencies: 49 | "@vue/compiler-dom" "3.2.47" 50 | "@vue/shared" "3.2.47" 51 | 52 | "@vue/reactivity-transform@3.2.47": 53 | version "3.2.47" 54 | resolved "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.2.47.tgz#e45df4d06370f8abf29081a16afd25cffba6d84e" 55 | integrity sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA== 56 | dependencies: 57 | "@babel/parser" "^7.16.4" 58 | "@vue/compiler-core" "3.2.47" 59 | "@vue/shared" "3.2.47" 60 | estree-walker "^2.0.2" 61 | magic-string "^0.25.7" 62 | 63 | "@vue/reactivity@3.2.47": 64 | version "3.2.47" 65 | resolved "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.2.47.tgz#1d6399074eadfc3ed35c727e2fd707d6881140b6" 66 | integrity sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ== 67 | dependencies: 68 | "@vue/shared" "3.2.47" 69 | 70 | "@vue/runtime-core@3.2.47": 71 | version "3.2.47" 72 | resolved "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.2.47.tgz#406ebade3d5551c00fc6409bbc1eeb10f32e121d" 73 | integrity sha512-RZxbLQIRB/K0ev0K9FXhNbBzT32H9iRtYbaXb0ZIz2usLms/D55dJR2t6cIEUn6vyhS3ALNvNthI+Q95C+NOpA== 74 | dependencies: 75 | "@vue/reactivity" "3.2.47" 76 | "@vue/shared" "3.2.47" 77 | 78 | "@vue/runtime-dom@3.2.47": 79 | version "3.2.47" 80 | resolved "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.2.47.tgz#93e760eeaeab84dedfb7c3eaf3ed58d776299382" 81 | integrity sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA== 82 | dependencies: 83 | "@vue/runtime-core" "3.2.47" 84 | "@vue/shared" "3.2.47" 85 | csstype "^2.6.8" 86 | 87 | "@vue/server-renderer@3.2.47": 88 | version "3.2.47" 89 | resolved "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.2.47.tgz#8aa1d1871fc4eb5a7851aa7f741f8f700e6de3c0" 90 | integrity sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA== 91 | dependencies: 92 | "@vue/compiler-ssr" "3.2.47" 93 | "@vue/shared" "3.2.47" 94 | 95 | "@vue/shared@3.2.47": 96 | version "3.2.47" 97 | resolved "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.47.tgz#e597ef75086c6e896ff5478a6bfc0a7aa4bbd14c" 98 | integrity sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ== 99 | 100 | csstype@^2.6.8: 101 | version "2.6.21" 102 | resolved "https://registry.npmmirror.com/csstype/-/csstype-2.6.21.tgz#2efb85b7cc55c80017c66a5ad7cbd931fda3a90e" 103 | integrity sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w== 104 | 105 | estree-walker@^2.0.2: 106 | version "2.0.2" 107 | resolved "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" 108 | integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== 109 | 110 | magic-string@^0.25.7: 111 | version "0.25.9" 112 | resolved "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c" 113 | integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== 114 | dependencies: 115 | sourcemap-codec "^1.4.8" 116 | 117 | nanoid@^3.3.4: 118 | version "3.3.4" 119 | resolved "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" 120 | integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== 121 | 122 | picocolors@^1.0.0: 123 | version "1.0.0" 124 | resolved "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" 125 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 126 | 127 | postcss@^8.1.10: 128 | version "8.4.21" 129 | resolved "https://registry.npmmirror.com/postcss/-/postcss-8.4.21.tgz#c639b719a57efc3187b13a1d765675485f4134f4" 130 | integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg== 131 | dependencies: 132 | nanoid "^3.3.4" 133 | picocolors "^1.0.0" 134 | source-map-js "^1.0.2" 135 | 136 | source-map-js@^1.0.2: 137 | version "1.0.2" 138 | resolved "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" 139 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== 140 | 141 | source-map@^0.6.1: 142 | version "0.6.1" 143 | resolved "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 144 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 145 | 146 | sourcemap-codec@^1.4.8: 147 | version "1.4.8" 148 | resolved "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" 149 | integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== 150 | 151 | vue-demi@latest: 152 | version "0.13.11" 153 | resolved "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.13.11.tgz#7d90369bdae8974d87b1973564ad390182410d99" 154 | integrity sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A== 155 | 156 | vue@^3.0.0: 157 | version "3.2.47" 158 | resolved "https://registry.npmmirror.com/vue/-/vue-3.2.47.tgz#3eb736cbc606fc87038dbba6a154707c8a34cff0" 159 | integrity sha512-60188y/9Dc9WVrAZeUVSDxRQOZ+z+y5nO2ts9jWXSTkMvayiWxCWOWtBQoYjLeccfXkiiPZWAHcV+WTPhkqJHQ== 160 | dependencies: 161 | "@vue/compiler-dom" "3.2.47" 162 | "@vue/compiler-sfc" "3.2.47" 163 | "@vue/runtime-dom" "3.2.47" 164 | "@vue/server-renderer" "3.2.47" 165 | "@vue/shared" "3.2.47" 166 | --------------------------------------------------------------------------------