文档首页 > > 用户指南> 开发大屏> 发布大屏

发布大屏

分享
更新时间: 2019/12/06 GMT+08:00

大屏开发完成后,您可以通过发布功能向其他用户分享大屏。

操作步骤

  1. 发布大屏的入口有如下两个:

    • 在大屏开发页面右上方,单击发布图标。
      图1 发布大屏(入口一)
    • “我的大屏”页面,单击大屏名称,显示大屏的管理按钮,单击“发布”
      图2 发布大屏(入口二)

  2. 在弹出的“发布”页面,配置发布参数。

    图3 配置发布参数

    发布状态

    开启发布按钮(如图3所示),让其他用户也能访问该大屏。

    版本管理

    设置用户通过分享链接访问大屏时,允许查看的大屏版本。

    • 实时更新发布:当大屏内容有修改时,用户可以即时查看到最新的大屏内容。系统默认选项,不支持删除。
    • 历史快照:将当前的大屏内容作为一个版本进行存档,存档后大屏内容的修改不会同步到该历史快照中。当某一个历史快照设置为“分享中”时,用户可以查看该版本的大屏内容。

    分享密钥

    设置大屏的分享方式。

    • 公开分享:不设置密码访问和Token验证时,即为公开分享,用户通过分享链接直接访问大屏。
    • 密码访问:在“设置访问密码”选项卡开启密码访问,设置密码成功后,用户通过分享链接访问大屏时,输入该密码就能访问。
      图4 输入发布密码

      您不需要登录到DLV系统中,但是每次访问时您都需要输入密码。

    • Token访问:在“设置Token验证”选项卡开启Token验证访问。

      系统会随机生成验证码,您需要记录下这个Token。

      图5 设置Token验证

      在这个时候,如果您尝试直接打开您所分享的页面,您会收到一个认证失败提示。表示您的访问被拒绝了。

      如果您想要打开您所分享的页面,需要完成如下几个步骤:

      为了防止重放攻击,请确保您的服务器时间为东8区标准时间,DLV只会提供1分钟的误差,如果时间误差超过1分钟将会验证失败。

      1. 发布大屏,记录分享的大屏编码(分享链接中share后面的一串字符串)。
      2. 将大屏编码和当前时间(毫秒)连起来,并用 |(竖线)分隔开。
      3. 使用 token 通过 HMAC-SHA256 base64 对2.b中的字符串进行加密。
      4. 将时间和加密后的签名分别命名为dlv_time,dlv_signature。
      5. 将它们依次放入分享链接的querystring中。

      示例如下:

      Java:

       package com.test;
       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("b668e3b44722467a9477b5b888211bca", "nrU4iher1tyy1C7Jenni3pzJxeIlPz8P"));
           }
      
           public static String getShareUrlWithToken(String shareID, String token){
               long time = System.currentTimeMillis();
               String data = shareID + "|" + time;
               String signature = HMACSHA256(data.getBytes(), token.getBytes());
               String url = "https://console.huaweicloud.com/dlvapp/share/?id="+shareID +"&dlv_time="+time+"&dlv_signature="+ signature+"&locale=zh-cn&region=cn-north-4";
               return url;
           }
      
           //采用HmacSHA256进行签名
           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;
           }
       }
    上述代码中的以下参数,请根据实际情况进行替换:
    System.out.println(getShareUrlWithToken("b668e3b44722467a9477b5b888211bca", "nrU4iher1tyy1C7Jenni3pzJxeIlPz8P")中的b668e3b44722467a9477b5b888211bca为分享链接中share后的参数,nrU4iher1tyy1C7Jenni3pzJxeIlPz8P为分享秘钥中的参数。
    String url = "https://console.huaweicloud.com/dlvapp/share/?id="+shareID +"&dlv_time="+time+"&dlv_signature="+ signature+"&locale=zh-cn&region=cn-north-4"中的locale=zh-cn为语言标识,英文为en-us;region=cn-north-4为服务所在区域,cn-north-4为华北-北京四,您也可以在华北-北京一和华南-广州区域中分享大屏。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区