找回密码
 立即注册
首页 业界区 业界 Dataease2.10 二次开发详细步骤

Dataease2.10 二次开发详细步骤

赵淳美 2025-7-3 15:11:10
1.png

一、DataEase简介

DataEase 是开源的数据可视化分析工具,帮助用户快速分析数据并洞察业务趋势,从而实现业务的改进与优化。
DataEase 支持丰富的数据源连接,能够通过拖拉拽方式快速制作图表,并可以方便地与他人分享。
之前写过dataease1.17版的二开,新版本做了很大的升级,架构也不同了。很多朋友看了之前的文章,前来咨询,因此写了这篇文章。
二、基础准备


  • Java 21
  • node.js
  • maven
  • idea ≥ 2023.3
三、环境准备

3.1 下载源码

这里以最新的分支为例:
  1. git clone -b v2.10.11 https://github.com/dataease/dataease.git
复制代码
3.2 MySQL准备

为快速演示,这里使用docker。
镜像拉取
  1. docker pull mysql:8.0.31
复制代码
dataease对mysql的配置有要,新建一个 my.cnf 文件,内容如下:
注意 cnf中 NO_AUTO_CREATE_USER 已经弃用,创建镜像时会报错,可以删除。
  1. [mysqld]
  2. datadir=/var/lib/mysql
  3. default-storage-engine=INNODB
  4. character_set_server=utf8
  5. lower_case_table_names=1
  6. table_open_cache=128
  7. max_connections=2000
  8. max_connect_errors=6000
  9. innodb_file_per_table=1
  10. innodb_buffer_pool_size=1G
  11. max_allowed_packet=64M
  12. transaction_isolation=READ-COMMITTED
  13. innodb_flush_method=O_DIRECT
  14. innodb_lock_wait_timeout=1800
  15. innodb_flush_log_at_trx_commit=0
  16. sync_binlog=0
  17. group_concat_max_len=1024000
  18. sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
  19. skip-name-resolve
  20. [mysql]
  21. default-character-set=utf8
  22. [mysql.server]
  23. default-character-set=utf8
复制代码
创建容器
这里要注意 -v 的参数路径,要与你的路径一致
  1. docker run -p 3306:3306 \
  2. --restart=always \
  3. --name mysql8 \
  4. --privileged=true \
  5. -v /opt/mysql_docker/log:/var/log/mysql \
  6. -v /opt/mysql_docker/data:/var/lib/mysql \
  7. -v /opt/mysql_docker/my.cnf:/etc/mysql/my.cnf \
  8. -e MYSQL_ROOT_PASSWORD=abc123456 \
  9. -e TZ=Asia/Shanghai \
  10. mysql:8.0.31
复制代码
创建库
  1. CREATE DATABASE `dataeaseV2demo` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
复制代码
修改代码中数据源连接,如下:
2.png

3.3 前端运行

进入 目录 core/core-frontend, 执行 npm run dev
如果遇到报错: 'NODE_OPTIONS' 不是内部或外部命令,也不是可运行的程序 问题
3.png

执行如下命令
  1. npm install cross-env --save-dev
复制代码
然后 在core-frontend/package.json中添加 cross-env 命令
4.png

解决后,再次运行前端
  1. # 运行
  2. npm run dev
复制代码
如果执行还遇到问题,建议使用自修复,然后再run
  1. npm run lint
复制代码
3.4 后端运行

如果core文件夹没有高亮显示,则说明IDEA没有将该文件夹识别为一个有效的maven子项目,此刻需要手动添加Maven Project,等待IDEA扫描完成。
5.png

6.png

然后添加后端依赖
  1. mvn clean install
复制代码
修改驱动加载目录
7.png

修改成
  1.    private final String FILE_PATH =
  2.             System.getProperty("user.dir") + File.separator + "drivers";
  3.     private final String CUSTOM_PATH =
  4.             System.getProperty("user.dir") + File.separator + "custom-drivers" + File.separator;
复制代码
3.5 启动

启动application,和前端
访问 localhost:8100
账号:admin
初始密码ataEase@123456
四、二开demo

这里举个例子,如何具体修改。比如我要屏蔽掉下面的小助手。
8.png

只要找到前端代码,如下
9.png

注释掉 下面内容
  1. <el-tooltip effect="dark" :content="t('commons.assistant')" placement="bottom">
  2.         <el-icon
  3.          
  4.          
  5.           v-if="aiBaseUrl && !showOverlay && appearanceStore.getShowAi"
  6.         >
  7.           <Icon name="dv-ai"><dvAi @click="handleAiClick"  /></Icon>
  8.         </el-icon>
  9.       </el-tooltip>
复制代码
再回到页面,即可完成。
五、写在最后

新版的dataease架构复杂多了,二开的难度也大幅度增加,如果没有很强的需求,建议还是二开1.17版本的。

来源:豆瓜网用户自行投稿发布,如果侵权,请联系站长删除

相关推荐

您需要登录后才可以回帖 登录 | 立即注册