注:使用嵌入式对接时,请更新至 v2.5 及以上版本。
嵌入式在线体验环境 :https://embedded-bi.dataease.cn/#/home/index
1、更新至企业版(如已设置,请忽略此步骤)
修改配置,加载企业版相关的镜像容器
# 编辑配置文件
vim /opt/dataease2.0/.env
# 将配置项 DE_INSTALL_MODE 改为 enterprise
DE_INSTALL_MODE=enterprise
# 保存退出
# 加载新镜像
dectl reload
如果你的服务器有防火墙或访问限制,需开放以下端口:
登陆 DataEase 页面,更新 license
2、创建嵌入式应用
点击【系统设置】,进入【嵌入式管理】页面创建嵌入式应用。
注:每个 DataEase 实例默认最多可创建 5 个嵌入式应用。
应用名称:自定义
跨域设置:此处填写被嵌入的目标系统的地址,需要注意,此处和目标系统的协议一致。
3、编辑 /opt/dataease2.0/conf/application.yml 文件,修改配置信息
vim /opt/dataease2.0/conf/application.yml
# 修改origin-list配置信息,如下图所示,origin-list配置的访问地址是DataEase的实际访问地址(使用域名访问则配置域名地址,如:https://live.fit2cloud.com,没有域名则配置apisix的访问地址:http://${DataEase的IP}:9080)
origin-list: https://live.fit2cloud.com
# 添加完成后,重新创建 dataease 容器
docker rm -vf dataease
dectl reload
注:如果通过域名访问,域名代理的地址也应当是 apisix 的访问地址,即:http://${DataEase的IP}:9080
4、嵌入式代码示例
示例代码 GitHub 仓库地址:https://github.com/dataease/embedded-demo.git
仓库代码中包含两个分支:main 分支和 isv-embedded-demo 分支。
主分支(main 分支):前端使用 Layui,后端使用 Java,如果您想查看嵌入后的实现效果,可直接运行此分支代码,运行后配置系统设置页面的参数即可查看效果。
isv-embedded-demo 分支:前端使用 Vue 3,后端使用 Java,如果您的项目前端使用的是 Vue,可参考此分支代码进行开发。
5、主分支代码运行及效果示例
运行代码,浏览器打开ip+端口,默认是(localhost:8000),界面如下
仪表板嵌入、数据大屏、试图嵌入示例:
【序号 1】 DataEase 服务的 ip+port(注意,此处 port 为apisix端口,默认9080);
【序号 2】DataEase 创建第 2 步嵌入式应用的账户,此处示例为 admin 用户;
【序号 3】第 2 步创建的嵌入式应用 APP ID;
【序号 4】第 2 步创建的嵌入式应用 APP Secret;
【序号 5】仪表板的resourceId ,获取方式见 5.1;
【序号 6】数据大屏的dvld,获取方式见 5.2;
【序号7】视图所属的仪表板或者数据大屏的 resourceId 或 dvld ;
【序号8】视图 id,获取方式见 5.3;
5.1 resourceId 的获取方式如下:
5.2 dvld 的获取方式如下:
5.3 视图 id 获取方式如下:
注:如果代码运行较慢可以换一下源为国内源,注意嵌入式应用的跨域设置。
6、isv-embedded-demo 分支代码运行及效果示例
运行代码,浏览器打开ip+端口,默认是(localhost:8848),界面如下
本工程为 DataEase 嵌入式 Vue3 代码示例,代码结构如下所示:
backend: 后端代码,包含嵌入式 Token 的 JWT 认证代码示例。
frontend:前端代码,包含嵌入式 DIV 以及 iframe 多维嵌入的代码示例。
需要注意的是,div 嵌入需要在 html 页面的 <head> 标签内引入 dataease 相关的 js 文件,否则,div 容器渲染,创建 DataEaseBi 对象时,会抛出异常。