页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

名词解释说明

X模块:主要是基于Vue2前端框架开发的系统功能模块,如仪表盘、数据模型、自主ETL、V11的即席查询、V11的透视分析
V模块:主要是基于原始JS前端技术开发的系统功能模块,如电子表格、web电子表格、旧即席查询、旧透视分析,系统主界面框架等

背景说明

背景

现场因为数据量大或者数据库性能或网络配置等原因,经查出现查询数据报错或者查询数据超时等情况,每次出现报错都需要找到BI团队排查,导致BI维护团队的工作量和维护压力很大。

所以,客户期望在数据查询报错或者查询超时等情况,可以通过前端的错误提示信息来引导用户找相关的维护团队解决问题。例如:查询超时可以找数据库维护团队、网络超时可以找网络团队等。

目前V模块是有统一的js入口可以定制开发处理,X模块需要提供对应的接口。目前是有统一的js入口可以定制开发处理,X模块需要提供对应的接口。

之前在后端实现了一套扩展接口,但客户使用了中间件,中间件的报错没有经过smartbi后端,无法扩展,需要提供前端二开接口支持。

...

setHttpErrorDialOPHander

作用:在报表初始化时设置报错弹窗处理函数


名称

类型

说明

输入参数

option

JSON

报错传参option信息

返回值

option

JSON

经过处理之后的报option信息

接口说明

不同的报表类型,二开接口的调用时机不一样

仪表盘,时机:PAGE_ON_INIT,调用对象iPage.setHttpErrorDialOPHander【针对V10.setHttpErrorDialOPHander5.15及以上版本有效】

新透视,时机:AD_HOC_ANALYSIS_ON_INIT,调用对象iAdHocAnalysis.setHttpErrorDialOPHandersetHttpErrorDialOPHander 【针对V11及以上版本有效】

新即席,时机:DETAILED_QUERY_ON_INIT,调用对象iDetailQuery.setHttpErrorDialOPHandersetHttpErrorDialOPHander 【针对V11及以上版本有效】

使用示例


代码块
//仪表盘调用示范
this.on(PAGE_ON_INIT, (iPage) => {
    iPage.setHttpErrorDialOPHander(function (option) {
        if (option.message.indexOf('504') >= 0 || option.message.indexOf('502') >= 0) {
            option.message = '服务器请求网络超时'
        }
        return option;
    })
})

//透视分析调用示范
this.on(AD_HOC_ANALYSIS_ON_INIT, (iAdHocAnalysis) => {
    iAdHocAnalysis.setHttpErrorDialOPHander(function (option) {
        debugger
        if (option.message.indexOf('504') >= 0 || option.message.indexOf('502') >= 0) {
            option.message = '服务器请求网络超时-透视'
        }
        return option;
    })
})

//即席查询调用示范
this.on(DETAILED_QUERY_ON_INIT, (iDetailQuery) => {
    iDetailQuery.setHttpErrorDialOPHander(function (option) {
        debugger
        if (option.message.indexOf('504') >= 0 || option.message.indexOf('502') >= 0) {
            option.message = '服务器请求网络超时-即席查询'
        }
        return option;
    })
})

...