
# 使用离线构建新建屏幕
对于离线开发屏幕的场景，可以使用"导入屏幕"将开发好的离线屏幕上传到业务可视化平台。导入屏幕后，屏幕关联的资产如卡片、页面布局以及消息联动配置等也会一并导入。
可以给不同区域的租户、同一区域的不同租户进行导入使用。
#### 新建屏幕
1. 在开天集成工作台界面中，选择左侧导航栏中的"业务可视化 \> 我的屏幕"。
2. 选择屏幕分组，单击"新建屏幕"。
3. 在"选择构建方式"页面，单击"导入屏幕"下的"导入屏幕"。
4. 拖拽离线屏幕文件至页面中间或单击"点击上传"，上传离线屏幕文件。 
   ![](https://support.huaweicloud.com/usermanual-mssi/public_sys-resources/note_3.0-zh-cn.png)
   导入屏幕文件格式，可以通过其他屏幕导出获取。
   
   
5. 上传完成后，单击"确定"。 
   导入完成后的屏幕，默认显示在"我的屏幕"中的系统自动新建项目下。
   
   
6. 返回"我的屏幕"界面，在屏幕上，单击"更多 \> 发布"，在"发布"界面，根据需求开启分享状态，单击"确定"。 
   - 关闭分享状态：屏幕不分享，仅该租户下的用户可查看此屏幕。
   
   - 开启分享状态：屏幕分享，该租户及其他租户下的用户均可查看此屏幕。
     - 无限制：发布时，复制分享链接。发布后，输入分享链接查看此屏幕。
     
     - 分享码：发布时需要设置分享码及分享码的有效期，复制分享链接及分享码。发布后，输入分享链接及分享码查看此屏幕。
     
     - token：发布时，自动生成Token，复制分享链接及Token。发布后，通过Token校验获取新的访问链接，使用新的访问链接查看此屏幕。Token校验方法请参考[Token校验]。
      
   
   
   ![](https://support.huaweicloud.com/usermanual-mssi/public_sys-resources/note_3.0-zh-cn.png)
   - 当屏幕中的卡片使用了连接器或流，屏幕不能分享。
   
   - 当屏幕中存在非在线构建的卡片，屏幕不能分享。
    
   屏幕发布成功后，可在[我的屏幕轮播](https://support.huaweicloud.com/usermanual-mssi/mssi_02_0326.html)中使用。
   
   
 
 #### 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"。
1. 使用代码开发工具将大屏分享链接中的pageId和region拼接成如下格式的字符串。 
   ```
   pageId|region；
   ```
   
   
2. 使用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 + "&region=" + 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;
        }
    }
   ```
   
   
3. 将转换后的字符串赋值给sveSignature，sveSignature参数拼接到大屏分享链接中获取新的访问链接。 
   例如，新的访问链接https://console.ulanqab.huawei.com/sve/preview.html?sveSignature=1OP99N6yxCDmEiH4aNMU1GAwtKspSg4fJ/zh0679k=\&region=cn-north-7#/screen/share/18cd21df7bc-WPgj_GqRc
   
   
 
#### 更多操作
屏幕创建完成后，您还可以在"我的屏幕"界面执行如[表1]的操作。
 表1相关操作 
| 操作   | 说明                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|
| 编辑屏幕 | 在需要编辑的屏幕上，单击"编辑"，可以对相关配置进行修改。                                                                                                                                                                                                                                                                                                         |
| 查看详情 | 在需要查看的屏幕上，单击"更多 \> 详情"，可以查看屏幕详情。                                                                                                                                                                                                                                                                                                      |
| 预览效果 | 在需要预览的屏幕上，单击"更多 \> 预览"，可以预览屏幕配置效果。                                                                                                                                                                                                                                                                                                    |
| 发布屏幕 | 在需要发布的屏幕上，单击"更多 \> 发布"，可以发布屏幕。                                                                                                                                                                                                                                                                                                        |
| 移动屏幕 | 在需要移动的屏幕上，单击"更多 \> 移动"，可以将该屏幕移至该项目下的其他屏幕分组。                                                                                                                                                                                                                                                                                           |
| 导出屏幕 | 在需要导出的屏幕上，单击"更多 \> 导出"，可以导出该屏幕。 说明： 导出屏幕后，屏幕关联的资产如卡片、页面布局以及消息联动配置等也会一并导出。导出的屏幕可在[导入导出任务中心](https://support.huaweicloud.com/usermanual-mssi/mssi_02_0885.html)中查看。 导出的屏幕可以提供给不同区域的租户、同一区域的不同租户进行导入使用。 |
| 删除屏幕 | 在需要删除的屏幕上，单击"更多 \> 删除"，可以删除该屏幕。 说明： 删除后的屏幕会放入[回收站](https://support.huaweicloud.com/usermanual-mssi/mssi_02_0290.html)，回收站会保存近60天的删除数据。                                                                                                       |
   
