历史版本5 :实时数据仪表板定时刷新 返回文档
编辑时间:
内容长度:图片数:目录数:
修改原因:
1、描述编辑
使用FineBI实时数据直连数据库的用户经常会将BI的dashboard用作大屏展示,因此常常会需要将模板进行定时刷新,那么在BI中如何实现模板自动的定时刷新呢?下面我们来介绍一下实现方案。
2、实现步骤编辑
2.1 定时刷新的js
模板的定时刷新通过定制的JS来实现,复制如下代码创建refresh.js文件。
setTimeout(function () {
var b =document.title;
var a =BI.designConfigure.reportId;//获取模板id
//对模板id进行判断,实现指定模板刷新
if (a=="4e152a061f894c20937d385efa47b8fa") {
setInterval(function () {
BI.SharingPool.put("controlFilters", BI.Utils.getControlCalculations());
//Data.SharingPool.put("controlFilters", BI.Utils.getControlCalculations());
BI.Utils.broadcastAllWidgets2Refresh(true);
}, 3000);//3000为定时刷新的频率,单位ms
}
}, 2000);
其中在对模板ID进行判断时,需要修改判断条件为自身需要刷新的模板ID;且3000为定时刷新的间隔时间,也可根据自身需要进行修改。
模板ID可直接通过编辑仪表板时的链接地址获取,比如新建仪表板时的链接地址为http://120.27.40.246:37799/webroot/decision/v5/design/report/222958729ec644d1ab130a209521192c/edit,则该仪表板的ID为222958729ec644d1ab130a209521192c,如下图:
将创建好的refresh.js文件放至FineBI安装目录%FineBI%/webapps/webroot中,如下图:
2.2 调用JS
在%FineBI%/webapps/webroot/WEB_INF/lib下的fine-bi-adapter-5.0.jar中找到show.html,如下图:
在该html文件中插入下面的代码调用之前新建的refresh.js文件,如下图:
<!-- 增加刷新功能 -->
<script type="text/javascript" src="/webroot/refresh.js"></script>
修改完成后保存至该jar包中。
3、效果查看编辑
配置完成后,在该模板预览页面中按F12查看网页源代码判断js是否加载成功。如下图,模板成功加载了定时刷新的js。
注:若在js里面改频率的话,修改完文件保存之后,清除浏览器缓存就可以了,不需要重启FineBI。