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

相关推荐
梦帮科技1 天前
RNS 代币架构:ERC20 五件套扩展与六钱包分配
人工智能·sql·区块链·database·合成复用原则·加密货币
黄骨鱼骨5 天前
DatI:给AI接入数据库,Agent时代的NL2SQL问数与多维表格应该怎么做
java·database·text2sql·nl2sql·chatbi·mcp·data agent
JOker_Chu_23 天前
知识图谱详解:从图结构、关系建模到查询与应用
数据库·知识图谱·database·neo4j
2601_9609067224 天前
全球AI产业正加速迈入全域渗透
elasticsearch·百度·database·时序数据库·memcache
qyyyyy5701 个月前
芯片 Datasheet PDF 怎么翻译?寄存器表、时序图和电气参数阅读实战
嵌入式硬件·mcu·database·机器翻译·石墨文档