报表集成
三方集成报表的标准方式:注册外部应用拿 AppId/AppSecret,服务端签名换会话生成嵌入 URL,前端 iframe 嵌入;含查询/导出接口、外部数据集与官方 demo。
集成原理(三方如何集成)
第三方系统集成报表的标准方式:服务端签名 + 前端 iframe 嵌入。AppSecret 只放在服务端,由服务端签名生成嵌入 / 导出链接,前端嵌入展示。系统自带「第三方集成 demo」(samples/third-party-demo)演示完整链路。
第一步:注册外部应用
管理员在「外部应用」中注册,得到 AppId / AppSecret,并可限定:
- 允许的报表(allowedReportIds)
- 链接有效期(默认 60 分钟,最长 1440 分钟)
管理接口:/admin/external-app(增删改查、重置 Secret)。
第二步:服务端签名换会话 / 嵌入 URL
你的后端用 AppSecret 对请求签名,调平台嵌入接口:
POST /embed/auth— 签名换会话(携带 account / userName,自动建号、免登)。- 据此生成带签名的嵌入 URL,交给前端。
demo 把这些封装成
POST /api/demo/embed-url,直接返回可用的嵌入 URL。
第三步:前端 iframe 嵌入
<iframe src="<签名嵌入URL>" width="100%" height="600" frameborder="0"></iframe>
- 免登:account / userName 标识业务用户。
- 参数:parameters 传查询条件(对应报表参数
$param)。 - 呈现:hideToolbar、showQueryForm、viewMode;expireMinutes 控制有效期。
查询与导出接口
- 报表列表:
GET /embed/report/type-tree、/embed/report/tag-list、/embed/report/parameters。 - 导出:
GET /embed/export/pdf | excel | word | csv(Excel 支持异步任务)。
外部数据集(数据由第三方提供)
POST /embed/staged-dataset/set上传 datasets → 返回 token。- 嵌入 / 导出时在 parameters 加
"_dataIds": "<token>"。 - 用完调
POST /embed/staged-dataset/clear释放。
快速体验 demo
- 复制
samples/third-party-demo/backend-node/.env.example为.env,填入产品地址与 AppId / AppSecret。 - 运行
start-demo。 - 打开
http://localhost:3010/demo/,生成嵌入 URL、查询报表、触发导出。