dataease 2.10.21 版本 处理社区版 iframe内嵌

问题:提示 仅嵌入式版和企业版支持iframe方式内嵌公共链接!

通过离线部署方式基于docker运行的可按如下方式处理

访问: https://github.com/dataease/dataease/tree/v2.10.21 下载源代码

在liunx环境安装:

  • jdk21

  • nodejs 18+

  • maven

设置maven setting 注意关键红色部分 踩坑过来的

<mirror>

<id>aliyunmaven</id>

<mirrorOf>*,!fit2cloud-public</mirrorOf>

<name>阿里云公共仓库</name>

<url>https://maven.aliyun.com/repository/public\</url>

</mirror>

<mirror>

<id>aliyun-central</id>

<name>阿里云中央仓库</name>

<mirrorOf>central</mirrorOf>

<url>https://maven.aliyun.com/repository/central\</url>

</mirror>

修改的源文件

  1. 后端 - XpackShareProxyVO.java(改默认值)

vim sdk/api/api-base/src/main/java/io/dataease/api/xpack/share/vo/XpackShareProxyVO.java

// private boolean inIframeError = true;

private boolean inIframeError = false;


  1. 后端 - XpackShareManage.java

vim core/core-backend/src/main/java/io/dataease/share/manage/XpackShareManage.java

//boolean inIframeError = request.isInIframe() && !LicenseUtil.licenseValid();

boolean inIframeError = false;


  1. 前端 - index.vue

//const iframeError = ref(true)

const iframeError = ref(false)

//const disableError = ref(true)

const disableError = ref(false)


  1. 前端 - mobile.vue

vim core/core-frontend/src/views/share/link/mobile.vue

第37行,将:

//const disableError = ref(true)

const disableError = ref(false)

第42行,将:

//const iframeError = ref(true)

const iframeError = ref(false)

按官网说明打包构建

后续命令以我实际部署路径为例:

前置环境
export JAVA_HOME=/opt/dataease2.0/sourcefile/jdk21
export PATH=/opt/dataease2.0/sourcefile/jdk21/bin:PATH export MAVEN_HOME=/opt/dataease2.0/sourcefile/maven3.9.16 export PATH=/opt/dataease2.0/sourcefile/maven3.9.16/bin:PATH

构建

cd core

/opt/dataease2.0/sourcefile/maven3.9.16/bin/mvn clean package -Pstandalone -U -Dmaven.test.skip=true \

-Dmaven.repo.local=/opt/dataease2.0/sourcefile/repo

项目构建说明:

构建链路:

core-frontend/ npm run build:base

→ 产出 core-frontend/dist/ 目录

→ maven antrun 插件在 generate-resources 阶段

将 dist/ 拷贝到 core-backend/src/main/resources/static/

→ 打进 CoreApplication.jar 的 BOOT-INF/classes/static/

→ Dockerfile 把 jar 放进容器

前端不是独立的 nginx 静态文件,而是打进 Spring Boot jar 的 static 目录里,由后端一起提供服务。

服务器上的完整操作步骤

→ 产出 core-frontend/dist/ 目录

→ maven antrun 插件在 generate-resources 阶段

将 dist/ 拷贝到 core-backend/src/main/resources/static/

→ 打进 CoreApplication.jar 的 BOOT-INF/classes/static/

→ Dockerfile 把 jar 放进容器

前端不是独立的 nginx 静态文件,而是打进 Spring Boot jar 的 static 目录里,由后端一起提供服务。

替换docker容器

docker cp /opt/dataease2.0/buildfile/app-patched.jar dataease:/opt/apps/app.jar

docker restart dataease

相关推荐
从零数据分析7 天前
零基础学SQL 23:和上月比总对不上?LAG/LEAD 一步取出上一次(附 4 个模板)
java·数据库·sql·mysql·oracle·sqlite·database
远方160910 天前
118-五大进程LGWR DBWn CKPT SMON PMON 与存储故障-文件系统对照
大数据·数据库·sql·oracle·database
远方160910 天前
119-Oracle CDB 下修改和重置 SYS SYSTEM密码记录
大数据·数据库·sql·oracle·database
这个DBA有点耶15 天前
MySQL B-tree索引并发控制优化:写密集场景的锁瓶颈与内核级解法
java·数据库·程序人生·算法·database·dba
这个DBA有点耶16 天前
ELT工具选型:ETL与ELT差异、CDC同步机制与主流工具对比`
数据库·数据仓库·sql·database·dba·etl·数据库管理员