您可以在发布开关处知晓各个应用的发布状态。开关为开时则表示应用已经发布,反之亦然。
发布功能提供了三种方式:
您可以选择合适您的方式以方便内外部用户进行可视化应用的访问。
公开分享
- 单击以下链接,登录 DataV 控制台。
http://datav.aliyun.com
单击[backcolor=transparent]我的可视化,进入可视化应用管理页面。
选择一个可视化应用,单击[backcolor=transparent]发布。
打开[backcolor=transparent]发布按钮,即可通过下方 URL 链接进行公开访问。
密码访问(企业版功能)
单击以下链接,登录 DataV 控制台。
http://datav.aliyun.com
单击[backcolor=transparent]我的可视化,进入可视化应用管理页面。
选择一个可视化应用,单击[backcolor=transparent]发布。
在发布弹窗中,打开[backcolor=transparent]验证密码开关。
输入您的验证密码。
单击[backcolor=transparent]确认后即生效。
当您再次访问链接当中的 URL 时,系统会提示需要输入密码。
Token验证(企业版功能)
如果您希望跟您的权限体系进行集成,您可以通过 Token 验证的方式实现。
单击以下链接,登录 DataV 控制台。
http://datav.aliyun.com
单击[backcolor=transparent]我的可视化,进入可视化应用管理页面。
选择一个可视化应用,单击[backcolor=transparent]发布。
在发布弹窗中,打开[backcolor=transparent]验证 Token 开关。
在开启“验证 Token”时,DataV 会为您生成一个 Token,您需要记录下这个 Token,以备后用。
在这个时候,如果您尝试直接打开您所分享的页面,您会收到一个 Access Denied。表示您的访问被拒绝了。
如果想要打开您的页面,就需要完成下面几个步骤:
发布大屏,记录大屏编码(url 的最后一段)。
将编码与当前时间(毫秒)连起来,并用 |(竖线)分隔开。
使用 token 通过 HMAC-SHA256 base64 对上一步得到的字符串进行加密。
将时间和加密后的签名分别命名为 [backcolor=transparent]_datav_time,[backcolor=transparent]_datav_signature。
将它们依次放入 [backcolor=transparent]url 的 [backcolor=transparent]querystring 中。
下面是示例:
PHP:
- [backcolor=transparent]<?[backcolor=transparent]php
- [backcolor=transparent] $token [backcolor=transparent]=[backcolor=transparent] [backcolor=transparent]"kBwoX9rFX9v4zbOT0Gjd_wr65DZ3P_WW"[backcolor=transparent];
- [backcolor=transparent] $screenID [backcolor=transparent]=[backcolor=transparent] [backcolor=transparent]"03d1b68faeb09671046d1ef43f588c33"[backcolor=transparent];
- [backcolor=transparent] $time [backcolor=transparent]=[backcolor=transparent] time[backcolor=transparent]()*[backcolor=transparent]1000[backcolor=transparent];
- [backcolor=transparent] $stringToSign [backcolor=transparent]=[backcolor=transparent] $screenID[backcolor=transparent].[backcolor=transparent]'|'[backcolor=transparent].[backcolor=transparent]$time[backcolor=transparent];
- [backcolor=transparent] $signature [backcolor=transparent]=[backcolor=transparent] urlencode[backcolor=transparent]([backcolor=transparent]base64_encode[backcolor=transparent]([backcolor=transparent]hash_hmac[backcolor=transparent]([backcolor=transparent]'sha256'[backcolor=transparent],[backcolor=transparent] $stringToSign[backcolor=transparent],[backcolor=transparent] $token[backcolor=transparent],[backcolor=transparent] [backcolor=transparent]true[backcolor=transparent])));
- [backcolor=transparent] $url [backcolor=transparent]=[backcolor=transparent] [backcolor=transparent]"http://local.datav.aliyun.com:9999/share/"[backcolor=transparent].[backcolor=transparent]$screenID[backcolor=transparent].[backcolor=transparent]"?_datav_time="[backcolor=transparent].[backcolor=transparent]$time[backcolor=transparent].[backcolor=transparent]"&_datav_signature="[backcolor=transparent].[backcolor=transparent]$signature[backcolor=transparent];
- [backcolor=transparent]?>
- [backcolor=transparent]<iframe width=100% height=100% src="[backcolor=transparent]<?=[backcolor=transparent]$url[backcolor=transparent]?>[backcolor=transparent]"/>
NODE.JS:
- [backcolor=transparent]const[backcolor=transparent] crypto [backcolor=transparent]=[backcolor=transparent] [backcolor=transparent]require[backcolor=transparent]([backcolor=transparent]'crypto'[backcolor=transparent]);
- [backcolor=transparent]var[backcolor=transparent] token [backcolor=transparent]=[backcolor=transparent] [backcolor=transparent]"Ev97wOUSAtJusc3Vsd9O2ngr_vfVFH67"[backcolor=transparent];
- [backcolor=transparent]var[backcolor=transparent] screenID [backcolor=transparent]=[backcolor=transparent]"14c5448c00ecde02b065c231d1659f38"[backcolor=transparent];
- [backcolor=transparent]var[backcolor=transparent] time [backcolor=transparent]=[backcolor=transparent] [backcolor=transparent]Date[backcolor=transparent].[backcolor=transparent]now[backcolor=transparent]();
- [backcolor=transparent]var[backcolor=transparent] stringToSign [backcolor=transparent]=[backcolor=transparent] screenID [backcolor=transparent]+[backcolor=transparent]'|'[backcolor=transparent]+[backcolor=transparent] time[backcolor=transparent];
- [backcolor=transparent]var[backcolor=transparent] signature [backcolor=transparent]=[backcolor=transparent] crypto[backcolor=transparent].[backcolor=transparent]createHmac[backcolor=transparent]([backcolor=transparent]'sha256'[backcolor=transparent],[backcolor=transparent] token[backcolor=transparent]).[backcolor=transparent]update[backcolor=transparent]([backcolor=transparent]str[backcolor=transparent]).[backcolor=transparent]digest[backcolor=transparent]().[backcolor=transparent]toString[backcolor=transparent]([backcolor=transparent]'base64'[backcolor=transparent]);
- [backcolor=transparent]var[backcolor=transparent] url[backcolor=transparent]=[backcolor=transparent]"http://datav.aliyun.com/share/"[backcolor=transparent]+[backcolor=transparent] screenID [backcolor=transparent]+[backcolor=transparent]"?_datav_time="[backcolor=transparent]+[backcolor=transparent]time[backcolor=transparent]+[backcolor=transparent]"&_datav_signature="[backcolor=transparent]+[backcolor=transparent] encodeURIComponent[backcolor=transparent]([backcolor=transparent]signature[backcolor=transparent]);