Dataease2.10 二次开发详细步骤

一、DataEase简介

DataEase 是开源的数据可视化分析工具,帮助用户快速分析数据并洞察业务趋势,从而实现业务的改进与优化。
DataEase 支持丰富的数据源连接,能够通过拖拉拽方式快速制作图表,并可以方便地与他人分享。

之前写过dataease1.17版的二开,新版本做了很大的升级,架构也不同了。很多朋友看了之前的文章,前来咨询,因此写了这篇文章。

二、基础准备

  • Java 21

  • node.js

  • maven

  • idea ≥ 2023.3

三、环境准备

3.1 下载源码

这里以最新的分支为例:

git clone -b v2.10.11 https://github.com/dataease/dataease.git

3.2 MySQL准备

为快速演示,这里使用docker。

镜像拉取

docker pull mysql:8.0.31 

dataease对mysql的配置有要,新建一个 my.cnf 文件,内容如下:

注意 cnf中 NO_AUTO_CREATE_USER 已经弃用,创建镜像时会报错,可以删除。

[mysqld]
datadir=/var/lib/mysql

default-storage-engine=INNODB
character_set_server=utf8
lower_case_table_names=1
table_open_cache=128
max_connections=2000
max_connect_errors=6000
innodb_file_per_table=1
innodb_buffer_pool_size=1G
max_allowed_packet=64M
transaction_isolation=READ-COMMITTED
innodb_flush_method=O_DIRECT
innodb_lock_wait_timeout=1800
innodb_flush_log_at_trx_commit=0
sync_binlog=0
group_concat_max_len=1024000
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
skip-name-resolve

[mysql]
default-character-set=utf8

[mysql.server]
default-character-set=utf8

创建容器

这里要注意 -v 的参数路径,要与你的路径一致

docker run -p 3306:3306 \
--restart=always \
--name mysql8 \
--privileged=true \
-v /opt/mysql_docker/log:/var/log/mysql \
-v /opt/mysql_docker/data:/var/lib/mysql \
-v /opt/mysql_docker/my.cnf:/etc/mysql/my.cnf \
-e MYSQL_ROOT_PASSWORD=abc123456 \
-e TZ=Asia/Shanghai \
mysql:8.0.31 

创建库

CREATE DATABASE `dataeaseV2demo` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;

修改代码中数据源连接,如下:

3.3 前端运行

进入 目录 core/core-frontend, 执行 npm run dev

如果遇到报错: 'NODE_OPTIONS' 不是内部或外部命令,也不是可运行的程序 问题

执行如下命令

npm install cross-env --save-dev

然后 在core-frontend/package.json中添加 cross-env 命令

解决后,再次运行前端

# 运行
npm run dev

如果执行还遇到问题,建议使用自修复,然后再run

npm run lint

3.4 后端运行

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

然后添加后端依赖

mvn clean install

修改驱动加载目录

修改成

   private final String FILE_PATH =
            System.getProperty("user.dir") + File.separator + "drivers";
    private final String CUSTOM_PATH =
            System.getProperty("user.dir") + File.separator + "custom-drivers" + File.separator;

3.5 启动

启动application,和前端

访问 localhost:8100

账号:admin

初始密码:DataEase@123456

四、二开demo

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

只要找到前端代码,如下

注释掉 下面内容

 <el-tooltip effect="dark" :content="t('commons.assistant')" placement="bottom">
        <el-icon
          style="margin: 0 10px"
          class="ai-icon"
          v-if="aiBaseUrl && !showOverlay && appearanceStore.getShowAi"
        >
          <Icon name="dv-ai"><dvAi @click="handleAiClick" class="svg-icon" /></Icon>
        </el-icon>
      </el-tooltip> 

再回到页面,即可完成。

五、写在最后

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

posted @ 2025-07-03 14:25  风_间  阅读(129)  评论(0)    收藏  举报