SuperAPI AI 工具集

jsapi-filters

数据与分析

查看项目

更新于 10-15 23:25

技能介绍

用途:在嵌入的 Domo 内容加载后,从宿主页面动态应用客户端筛选器,无需重新获取令牌即可即时更新,适合下拉框、日期选择器等 UI 驱动的过滤、钻取响应、多个嵌入间筛选同步,以及向 App Studio 应用传递上下文。

主要能力:Domo iframe 与宿主页面通过 MessagePort(JSON-RPC 2.0)通信。宿主可调用 /v1/filters/apply 应用或清除筛选器、/v1/appData/apply 向 App Studio 应用发送上下文;Domo 会回传 /v1/onDrill(钻取)、/v1/onFiltersChange(筛选变更)、/v1/onAppReady(应用就绪)、/v1/onAppData、/v1/onFrameSizeChange 等事件。

使用方式:需先初始化全局 message 监听器捕获握手端口并保存 referenceId,尽早挂载初始化组件;在 Domo 后台 Network Security 中添加 Embed Authorized Domains(自定义应用还需 Custom Apps Authorized Domains);必须使用基于令牌的认证嵌入,公开嵌入 URL 不支持。筛选对象字段为 column、operand、values,可选 dataType 与 dataSourceId。不依赖 JS 的替代方案是 PFilter URL 参数,但会触发 iframe 刷新且暴露于 URL。

限制:客户端筛选仅供 UX 使用,用户可见可修改,不能覆盖服务端限制,数据隔离须用服务端 programmatic filters;握手完成前调用会静默失败,App Studio 应用需等待 /v1/onAppReady,使用 overrideFilters=true 时至少发送一次 /v1/filters/apply。注意客户端用 operand、服务端用 operator;公开嵌入不支持 JS API;不支持客户端 SQL 筛选。