主题
使用 appParam 传入参数信息
在仪表盘制作过程中会使用参数控制仪表盘内容的展示。在嵌入场景下,可以通过 appParam 将参数信息拼接到 URL 后面,系统在预览时会将 appParam 中的参数信息转发到最终执行的 SQL 代码中,查看不同参数值下的仪表盘数据信息。
appParam 是数组,可包含多个项目,每个项目是一个 object,为一个参数信息,由3个键值构成。参数可通过 id 或 name 来指定,所以 appParam 的 object 支持两种形式{"appId":1,"id":1,"value":"参数值"}
或{"appId":1,"name":"参数名称","value":"参数值"}]
。
每个键值代表的含义如下:
appId
是创建参数的数据包或应用的 ID。id
是参数的id
,可通过网络请求消息获取。name
是参数名称。value
是参数值,类型与参数类型保持一致。
嵌入的 URL 和 appParam 拼接后格式为嵌入 url?appParam=[{"appId":1,"name":"参数名称","value":"参数值"}]
说明
格式为 {url}?appParam={appParam}
, 注意 appParam 参数的值需要 JSON.stringify 及 URL 编码后传递,appParam=
字符本身不需要被编码。 您可以使用下方URL编码工具来方便的生成 URL 编码后的 appParam 参数值及完成 URL。
提示
appParam 使用说明
- appParam 中可使用参数 id 或参数 name 来确定参数,二者选一个即可。
- appParam 的 appId 指的是参数创建时的应用 ID,不是参数使用中的应用 ID。如参数在数据集市中数据包 A(appId 为3)中创建,在应用创作中应用 A(appId 为5)中使用,那么在 appParam 中需要输入的 appId 为3。
- appParam 的 appId 和参数 id(或参数名称)一起确定参数,如果 appId 省略,可能会导致结果不正确。
- appParam 中支持传入多个参数。
URL 编码
结果(点击复制)
https://preview.hengshi.com/share/app/S23C1AA81F984C9822B354838730D3AF2/dashboard/1?appParam=%5B%7B%22name%22%3A%22prime_genre%22%2C%22value%22%3A%22%E5%89%A7%E6%83%85%22%7D%5D
appParam 举例
参数控制仪表盘内容展示的方式有很多种,可参照参数使用场景中介绍的方法。 下面以数据集制作图表过程中使用参数为例,介绍如何在嵌入场景下通过 appParam 传入参数。
如图所示,在某医院的就诊信息展示过程中,诊室和出诊医生信息使用科室参数进行内容控制,当改变科室参数时,图表的信息会跟随改变。
仪表盘的 URL 地址为https://develop.hengshi.org/app/127572/dashboard/93
,展示内容如下:
使用 appParam 传入科室参数,仅展示消化内科、神经内科两个科室的信息,JSON 结果为 [{"appId":127572,"name":"科室参数","value":["消化内科","神经内科"]}]
,在 URL 后面拼接 appParam 为https://develop.hengshi.org/app/127572/dashboard/93?appParam=%5B%7B%22appId%22%3A127572%2C%22name%22%3A%22%E7%A7%91%E5%AE%A4%E5%8F%82%E6%95%B0%22%2C%22value%22%3A%5B%22%E6%B6%88%E5%8C%96%E5%86%85%E7%A7%91%22%2C%22%E7%A5%9E%E7%BB%8F%E5%86%85%E7%A7%91%22%5D%7D%5D
,仪表盘展示如下。
当 appParam 中包含多个参数,如通过科室参数控制科室相关信息,通过地域参数控制就诊用户地域相关信息。JSON 结果为 [{"appId":127572,"name":"科室参数","value":["消化内科","神经内科"]},{"appId":127572,"name":"地域参数","value":["北京","天津"]}]
,此时拼接后的 URL 为https://develop.hengshi.org/app/127572/dashboard/93?appParam=%5B%7B%22appId%22%3A127572%2C%22name%22%3A%22%E7%A7%91%E5%AE%A4%E5%8F%82%E6%95%B0%22%2C%22value%22%3A%5B%22%E6%B6%88%E5%8C%96%E5%86%85%E7%A7%91%22%2C%22%E7%A5%9E%E7%BB%8F%E5%86%85%E7%A7%91%22%5D%7D%2C%7B%22appId%22%3A127572%2C%22name%22%3A%22%E5%9C%B0%E5%9F%9F%E5%8F%82%E6%95%B0%22%2C%22value%22%3A%5B%22%E5%8C%97%E4%BA%AC%22%2C%22%E5%A4%A9%E6%B4%A5%22%5D%7D%5D
,仪表盘展示如下。