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版本的。
Dataease2.10 二次开发详细步骤的更多相关文章
- 使用Android-studio开发移动app与weex结合开发详细步骤
详细步骤如下: 首先,确保机器已经安装了node.js,并且把npm更新到最新版本 下载完毕后,我们可以看到全局目录下的node_modules下面多出一个weex-toolkit 同时,我们留意 ...
- 微信公众平台开发详细步骤与java代码
1.微信公众平台设置 首先在https://mp.weixin.qq.com/注册一个公众平台账号(服务号.订阅号.企业号的区别) 微信公众平台地址:https://mp.weixin.qq.com ...
- YApi二次开发环境部署
YApi 是去哪儿网大前端技术中心开源的一个可视化的接口管理平台.下面是在CentOS7下搭建二次开发环境步骤. 1 安装MongoDB 具体安装参考CentOS7安装MongoDB 2 安装Node ...
- [开源地址] 放弃Flink,.NET5.0开发CSharpFlink,简要设计、部署及二次开发说明。
github地址:https://github.com/wxzz/CSharpFlinkgitee地址:https://gitee.com/wxzz/CSharpFlink 1 概述及背景 我们有一个 ...
- 用grunt搭建自动化的web前端开发环境实战教程(详细步骤)
用grunt搭建自动化的web前端开发环境实战教程(详细步骤) jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用!前端自动化, ...
- ArcGIS 10.2 二次开发,兼容Visual Studio 2012二次开发,完美安装教程
GIS 经常安装是常有的事,每次重装系统都要浪费大半天去安装这个.所以凑这一次安装,把这个软件重新安装的步骤整理了一下,希望对大家有所帮助.这次整理的内容的关键优点是,对常见的出错内容进行了归纳整理. ...
- 【Linux开发】【Qt开发】ARM QT移植详细步骤教程
ARM QT移植详细步骤教程 米尔SAM9X5和A5D3X上默认的Qt版本是4.5.3,当这个版本的Qt库不能满足实际开发需求时,可通过此方法制定Qt开发.运行环境. 移植的步骤如下: 1.下载新版q ...
- magento二次开发的基本步骤分享
Magento后台添加新模块的体会 确定命名空间(Namespace)和模块(Modulename)的命名: 在app/etc/modules/ 路径下,创建 Namespace_Modulename ...
- phpcms二次开发步骤
文件目录结构 根目录 | – api 接口文件目录 | – caches 缓存文件目录 | – configs 系统配置文件目录 | – caches_* 系统缓存目录 | – phpcms phpc ...
- C#/AutoCAD 2018/ObjectArx/二次开发添加图形对象步骤和添加直线的例子(三)
1.创建一个图形对象的步骤如下(1)得到创建对象的图形数据库:(2)在内存中创建实体类的一个对象:(3)定义一个指向当前数据库的事务处理:(4)打开图形数据库的块表:(5)打开一个存储实体的块表记录( ...
随机推荐
- Arrays工具类--java进阶day06
1.Arrays工具类 这些方法都是针对数组,并且都被static修饰,可以直接使用类名进行调用 1.toString 将数组拼接成带有相对应格式的字符串,可用于展示数组 2.equals 比较两个数 ...
- 痞子衡嵌入式:恩智浦i.MX RT1xxx上特色外设XBAR那些事(1)- 初识
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦i.MX RT1xxx系列上的XBAR外设. 得益于 Arm Cortex-M 内核的普及,现如今 MCU 厂商遍地开花,只要能取 ...
- Asp.net mvc基础(五)Redirect和View
1.重定向 (1)return RedirectToAction("Action名称"); //重定向到在同一个Controller下的Action方法下 (2)return Re ...
- macOS终端修改DNS
以WiFi为例 networksetup -listallnetworkservices networksetup -setdnsservers Wi-Fi 8.8.8.8 networksetup ...
- 俩天完美复刻DeepWiki,并且免费开源!
俩天完美复刻DeepWiki,并且免费开源! 大家好!今天非常高兴为大家介绍KoalaWiki项目 - 这是我们团队花费两天时间完美复刻一个免费开源的AI驱动代码知识库系统,可以说是DeepWiki的 ...
- 重载(Overloading)与重写(Override)的区别?
重载(Overloading)与重写(Override)的区别? No. 区别 重载 重写 1 英文单词 Overloading Override 2 发生范围 发生在一个类里面 发生在继承关系中 3 ...
- 【记录】MATLAB|Python NumPy|两种语言的数组/矩阵中元素修改方式的总结和对比
文章目录 二维矩阵 操作 1. 将数组大于0的数全部加1 2. 删除元素 ①删除单个元素 ②删除一列元素 3. 添加一行或多行 ①添加一行 ②添加多行 4. 获取行/列数 5. 格式化输出数组 结构数 ...
- ESP32S3 OTA升级
ESP32S3 OTA升级 学习自b站视频[ESP-IDF-OTA远程升级简单介绍-宋工]https://www.bilibili.com/video/BV1X1zbYGEix?vd_source=a ...
- Vue最新面试攻略
@charset "UTF-8"; .markdown-body { line-height: 1.75; font-weight: 400; font-size: 15px; o ...
- 判别式 AI 与生成式 AI
本文摘选来自: AI 智能体开发指南 一.背景 为了解决不同的应用场景,在AI的发展过程中,机器学习模型逐步分化为 判别式(Discriminative)和生成式(Generative) 两各技术路线 ...