页面嵌出

最近更新时间:2024-08-23 10:47:21

我的收藏
页面嵌出功能支持将页面嵌出到第三方系统里,便于供第三方系统用户查看。

嵌出功能前置条件:
当前版本为基础版或专业版;
被嵌出的页面需要先发布后嵌出;
当前用户为企业管理员/项目管理员;
如需携带页面参数,则需要购买专业版。

通过本文档,您将了解:
如何嵌出单个页面;
如何在页面中加入页面参数。


页面嵌出设置

1. 进入项目 > 看板
2. 单击嵌出图标;


3. 在嵌出配置中,选择“当前页面”:



如需要使嵌出的地址失效,则可关闭嵌出,一旦关闭,用户再访问嵌出地址,则会报“页面无法访问”;
如期望对嵌出的页面进行鉴权访问,则可以开启嵌出校验,开启校验后,需要通过token来获得相应的权限,详见创建嵌出报表 Token申请延长 Token 可用时间接口
对于未开启嵌出校验,则该嵌出链接将可能被泄露,建议非公开数据务必打开嵌出校验。
如期望有效期内才可以被访问,则可设定有效期,一旦开启有效期,则用户在非有效期内访问会报“超出有效期范围”。
4. 单击更新设置,使设置生效。

嵌出页面中携带参数

如需要在嵌出页面中携带参数,以便通过页面参数去筛选页面中的数据,可通过两种方法实现:

方法一:以 params 明参形式传递
适用场景:传递的参数为公开参数,不担心被篡改,如部门员工数表,访问者可以通过修改“部门”来访问不同的部门数据。
操作如下:
1. 如上,在看板中开启嵌出,获得嵌出链接;
/*本例中,假设已获得嵌出链接如下,请记得修改pageId、projectId及token值 */
https://tcbi.qq.com/page/embed?authType=strong&pageId=222&projectId=111&scope=page&token=${请使用有效token替换此占位符}&withHead=false
2. 构造页面 url 参数;
参考 URL 页面参数构建 获得需要携带的页面参数,本例中,假设需要携带 department 参数,参数值为“质量组”。
params[]=value=质量组%26target%3Ddepartment
3. 将构造的 url 参数拼接到嵌出链接中。
https://tcbi.qq.com/page/embed?authType=strong&pageId=222&projectId=111&scope=page&token=13456&withHead=false&params[]=value=质量组%26target%3Ddepartment

方法二:以 token 形式传递
适用场景:传递的参数用来做数据的隔离,不能被篡改,如部门收入数据,访问者不能通过修改参数来查看其他部门的数据。
操作如下:
1. 如上,在看板中开启嵌出,获得嵌出链接;
/*本例中,假设已获得嵌出链接如下,请记得修改pageId、projectId及token值 */
https://tcbi.qq.com/page/embed?authType=strong&pageId=222&projectId=111&scope=page&token=${请使用有效token替换此占位符}
2. 通过 token 创建接口,在“GlobalParam”里写入携带的参数,请参考 创建嵌出报表 Token,下图以在 腾讯云 API Explorer 中操作举例:
创建嵌出报表 Token 页面,点击“点击调试”,进入 API Explorer。



填入相关参数,本例中,最主要的是 GlobalParam 参数,在参数值里输入:
/* state 为页面设置的页面参数 */
[{
"ParamKey": "state",
"JoinType": "AND",
"WhereList": [{
"Operator": "-eq",
"Value": [
"前端",
"后台"
]
}]
}]



复制上图中的 BIToken 值,即为token。
3. 将 token 替换到嵌出链接中:
https://tcbi.qq.com/page/embed?authType=strong&pageId=222&projectId=111&scope=page&token=a9e07157-7994-414b-a44c-ef32ffeaf6ab
4. 访问页面时,自动过滤出 state = “前端”或“后台” 的数据。