使用离线构建新建屏幕
对于离线开发屏幕的场景,可以使用“导入屏幕”将开发好的离线屏幕上传到业务可视化平台。导入屏幕后,屏幕关联的资产如卡片、页面布局以及消息联动配置等也会一并导入。
可以给不同区域的租户、同一区域的不同租户进行导入使用。
新建屏幕
- 在开天集成工作台界面中,选择左侧导航栏中的“业务可视化 > 我的屏幕”。
- 选择屏幕分组,单击“新建屏幕”。
- 在“选择构建方式”页面,单击“导入屏幕”下的“导入屏幕”。
- 拖拽离线屏幕文件至页面中间或单击“点击上传”,上传离线屏幕文件。
导入屏幕文件格式,可以通过其他屏幕导出获取。
- 上传完成后,单击“确定”。
导入完成后的屏幕,默认显示在“我的屏幕”中的系统自动新建项目下。
- 返回“我的屏幕”界面,在屏幕上,单击“更多 > 发布”,在“发布”界面,根据需求开启分享状态,单击“确定”。
- 关闭分享状态:屏幕不分享,仅该租户下的用户可查看此屏幕。
- 开启分享状态:屏幕分享,该租户及其他租户下的用户均可查看此屏幕。
- 无限制:发布时,复制分享链接。发布后,输入分享链接查看此屏幕。
- 分享码:发布时需要设置分享码及分享码的有效期,复制分享链接及分享码。发布后,输入分享链接及分享码查看此屏幕。
- token:发布时,自动生成Token,复制分享链接及Token。发布后,通过Token校验获取新的访问链接,使用新的访问链接查看此屏幕。Token校验方法请参考Token校验。
- 当屏幕中的卡片使用了连接器或流,屏幕不能分享。
- 当屏幕中存在非在线构建的卡片,屏幕不能分享。
屏幕发布成功后,可在我的屏幕轮播中使用。
Token校验
客户端在使用Token校验的流程如下。
已获取大屏分享链接和Token。
例如,分享链接https://console.ulanqab.huawei.com/sve/preview.html?region=cn-north-7#/screen/share/18cd21df7bc-WPgj_GqRc。其中“region”的值为“cn-north-7”,“pageId”的值为“18cd21df7bc-WPgj_GqRc”。
- 使用代码开发工具将大屏分享链接中的pageId和region拼接成如下格式的字符串。
pageId|region;
- 使用HmacSHA256算法对拼接的字符串进行签名,并将签名后的字符串使用Base64进行转换。签名时需要使用对应的Token。
HmacSHA256签名和Base64转换的示例如下:
import java.security.*; import javax.crypto.*; import javax.crypto.spec.SecretKeySpec; import org.apache.commons.codec.binary.Base64; import java.net.URLEncoder; public class ShareWithTokenTest { public static void main(String[] args) throws Exception { System.out.println(getShareUrlWithToken("********722467a9477b5b*******", "cn-7", "*******r1tyy1C7Jenni3p*********")); } public static String getShareUrlWithToken(String pageId, String region, String token){ String data = pageId + "|" + region; String signature = HMACSHA256(data.getBytes(), token.getBytes()); String url = "https://console.huaweicloud.com/sve/share/page.html?id=" + pageId + "®ion=" + region + "&sve_signature=" + signature; return url; } //采用HmacSHA256进行签名并进行Base64转换 public static String HMACSHA256(byte[] data, byte[] key) { try { SecretKeySpec signingKey = new SecretKeySpec(key, "HmacSHA256"); Mac mac = Mac.getInstance("HmacSHA256"); mac.init(signingKey); return URLEncoder.encode(Base64.encodeBase64String(mac.doFinal(data))); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } catch (InvalidKeyException e) { e.printStackTrace(); } return null; } }
- 将转换后的字符串赋值给sveSignature,sveSignature参数拼接到大屏分享链接中获取新的访问链接。
例如,新的访问链接https://console.ulanqab.huawei.com/sve/preview.html?sveSignature=1OP99N6yxCDmEiH4aNMU1GAwtKspSg4fJ/zh0679k=®ion=cn-north-7#/screen/share/18cd21df7bc-WPgj_GqRc
更多操作
屏幕创建完成后,您还可以在“我的屏幕”界面执行如表1的操作。
操作 |
说明 |
---|---|
编辑屏幕 |
在需要编辑的屏幕上,单击“编辑”,可以对相关配置进行修改。 |
查看详情 |
在需要查看的屏幕上,单击“更多 > 详情”,可以查看屏幕详情。 |
预览效果 |
在需要预览的屏幕上,单击“更多 > 预览”,可以预览屏幕配置效果。 |
发布屏幕 |
在需要发布的屏幕上,单击“更多 > 发布”,可以发布屏幕。 |
移动屏幕 |
在需要移动的屏幕上,单击“更多 > 移动”,可以将该屏幕移至该项目下的其他屏幕分组。 |
导出屏幕 |
在需要导出的屏幕上,单击“更多 > 导出”,可以导出该屏幕。
说明:
导出屏幕后,屏幕关联的资产如卡片、页面布局以及消息联动配置等也会一并导出。导出的屏幕可在导入导出任务中心中查看。 导出的屏幕可以提供给不同区域的租户、同一区域的不同租户进行导入使用。 |
删除屏幕 |
在需要删除的屏幕上,单击“更多 > 删除”,可以删除该屏幕。
说明:
删除后的屏幕会放入回收站,回收站会保存近60天的删除数据。 |