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

相关推荐
这个DBA有点耶15 天前
热点行更新:秒杀场景下一条UPDATE语句的锁等待与性能优化
数据库·sql·mysql·性能优化·database·dba
这个DBA有点耶17 天前
交易型数据库是什么?OLTP核心能力与2026选型指南
数据库·数据仓库·sql·database·数据库架构·olap·dba
2501_9423895518 天前
为支撑持续攀升的AI资本开支
人工智能·oracle·hbase·database·storm
sg_knight19 天前
MySQL 存储过程详解:从入门到实战
android·数据库·mysql·database·dba·关系型数据库·db
hh真是个慢性子1 个月前
GaussDB Inside 2.23.01.280 集中式一主一备安装
数据库·database·gaussdb·国产数据库·高斯
不知疲倦的仄仄1 个月前
ShardingSphere:高效管理数据库集群的终极方案
sql·mysql·oracle·database
承渊政道2 个月前
【MySQL数据库学习】(MySQL复合查询)
数据库·学习·mysql·bash·database·数据库开发·数据库架构