一、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版本的。

Dataease2.10 二次开发详细步骤的更多相关文章

  1. 使用Android-studio开发移动app与weex结合开发详细步骤

    详细步骤如下:   首先,确保机器已经安装了node.js,并且把npm更新到最新版本 下载完毕后,我们可以看到全局目录下的node_modules下面多出一个weex-toolkit 同时,我们留意 ...

  2. 微信公众平台开发详细步骤与java代码

    1.微信公众平台设置 首先在https://mp.weixin.qq.com/注册一个公众平台账号(服务号.订阅号.企业号的区别) 微信公众平台地址:https://mp.weixin.qq.com ...

  3. YApi二次开发环境部署

    YApi 是去哪儿网大前端技术中心开源的一个可视化的接口管理平台.下面是在CentOS7下搭建二次开发环境步骤. 1 安装MongoDB 具体安装参考CentOS7安装MongoDB 2 安装Node ...

  4. [开源地址] 放弃Flink,.NET5.0开发CSharpFlink,简要设计、部署及二次开发说明。

    github地址:https://github.com/wxzz/CSharpFlinkgitee地址:https://gitee.com/wxzz/CSharpFlink 1 概述及背景 我们有一个 ...

  5. 用grunt搭建自动化的web前端开发环境实战教程(详细步骤)

    用grunt搭建自动化的web前端开发环境实战教程(详细步骤) jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用!前端自动化, ...

  6. ArcGIS 10.2 二次开发,兼容Visual Studio 2012二次开发,完美安装教程

    GIS 经常安装是常有的事,每次重装系统都要浪费大半天去安装这个.所以凑这一次安装,把这个软件重新安装的步骤整理了一下,希望对大家有所帮助.这次整理的内容的关键优点是,对常见的出错内容进行了归纳整理. ...

  7. 【Linux开发】【Qt开发】ARM QT移植详细步骤教程

    ARM QT移植详细步骤教程 米尔SAM9X5和A5D3X上默认的Qt版本是4.5.3,当这个版本的Qt库不能满足实际开发需求时,可通过此方法制定Qt开发.运行环境. 移植的步骤如下: 1.下载新版q ...

  8. magento二次开发的基本步骤分享

    Magento后台添加新模块的体会 确定命名空间(Namespace)和模块(Modulename)的命名: 在app/etc/modules/ 路径下,创建 Namespace_Modulename ...

  9. phpcms二次开发步骤

    文件目录结构 根目录 | – api 接口文件目录 | – caches 缓存文件目录 | – configs 系统配置文件目录 | – caches_* 系统缓存目录 | – phpcms phpc ...

  10. C#/AutoCAD 2018/ObjectArx/二次开发添加图形对象步骤和添加直线的例子(三)

    1.创建一个图形对象的步骤如下(1)得到创建对象的图形数据库:(2)在内存中创建实体类的一个对象:(3)定义一个指向当前数据库的事务处理:(4)打开图形数据库的块表:(5)打开一个存储实体的块表记录( ...

随机推荐

  1. 【Markdown】简明语法手册

    Cmd Markdown 简明语法手册 标签: Cmd-Markdown 1. 斜体和粗体 使用 * 和 ** 表示斜体和粗体. 示例: 这是 *斜体*,这是 **粗体** 这是 斜体,这是 粗体. ...

  2. Oracle 归档模式

    sqlplus / as sysdba # 以下操作在`sqlplus`中执行 查看日志模式 SQL> archive log list; 数据库日志模式 非存档模式 自动存档 禁用 存档终点 ...

  3. golang的条件编译

    写c/c++或者rust的开发者应该对条件编译不陌生,条件编译顾名思义就是在编译时让代码中的一部分生效或者失效,从而控制编译时的代码执行路径,进而影响编译出来的程序的行为. 这有啥用呢?通常在编写跨平 ...

  4. FireDAC 下的批量 SQL 命令执行

    一.{逐条插入} procedure TForm1.Button1Click(Sender: TObject); const strInsert = 'INSERT INTO MyTable(Name ...

  5. Sql查询(Select)语句实例

    span { color: rgba(255, 0, 0, 1) } Select 结构: 句子结构: Select 列名 [all/distinct] from 表名 where 条件 group ...

  6. 初学嵌入式是弄linux还是单片机?

    作为一个从机械转行到嵌入式的工程师,我深刻理解初学者面临的困惑.嵌入式领域分支众多,初期选择Linux还是单片机确实是个让人纠结的问题.我当年就在这个问题上纠结了好久,走了不少弯路. 其实,我之所以能 ...

  7. 一文速通Python并行计算:09 Python多进程编程-进程之间的数据同步-基于互斥锁、递归锁、信号量、条件变量、事件和屏障

    一文速通 Python 并行计算:09 Python 多进程编程-进程之间的数据同步-基于互斥锁.递归锁.信号量.条件变量.事件和屏障 摘要: 多进程同步机制包括互斥锁.递归锁.信号量.条件变量.事件 ...

  8. Fortify工具安装以及使用

    ​工具简介: Fortify是一款强大的静态代码扫描分析工具,其发现代码漏洞缺陷的能力十分强悍,主要是将代码经过编译,依托于其强大的内置规则库来发现漏洞的.Fortify 是一个静态的.白盒的软件源代 ...

  9. Java编程--观察者(Observer)设计模式

    观察者设计模式 观察者设计模式是一种行为设计模式,允许对象在其状态改变时通知其他依赖对象.它创建了一种发布者(Subject)和订阅者(Observer)之间的依赖关系.这种模式经常用于实现事件处理系 ...

  10. 【记录】C语言|获取其他文件的绝对路径转为相对路径的两种代码

    GetModuleFileName获取当前程序的绝对路径.然后对比再strcat之类的. 只能获得同一盘符下的相对路径: #include <string.h> /*pa是绝对路径,rel ...