提问 发文

如何快速绑定引用面板

微微菌

| 2023-12-26 13:58 66 0 0

首先你要准备一个被引用大屏的名称数组,如下所示(这里需要注意,一定要保证大屏名称是唯一的,旧的大屏扔进回收站):

["面板1","面板2","面板3"]

2. 获取到引用面板的id

289773

3. 按下F12,打开控制台,将以下代码复制粘贴到console面板中,然后回车

function bindPanels(panels, id){
  //第一步,获取到所有大屏
  fetch(`${window.location.origin}/api/easyv/v3/screen/list`)
  .then(res=>res.json())
  .then(res=>{
    if(res.success){
      let map = new Map();
      //筛选出所有未删除的大屏,并将他们的名字和id存入map中
      res.data.screens.map(d=>{
        if(!d.deletedAt){
          map.set(d.name,d.id)
        }
      });
      //根据panels将引用面板和大屏进行绑定
      fetch(`${window.location.origin}/api/easyv/v3/panel/update`,{
        method:"POST",
        headers: {
          'Content-Type': 'application/json'
        },
         body:JSON.stringify({
          configs:[
            {
                //config:后面的内容是引用面板的样式配置,根据需要调整宽高
                "config": "{\"left\":0,\"top\":0,\"width\":1080,\"height\":1920,\"hideDefault\":false}",
                "id": id,	//引用面板的id
                "states":panels.map(d=>{
                  return map.get(d)
                })		//大屏id数组,可以通过接口4根据名称来反查id
            }
          ]
        })
      })
      .then(res1=>res1.json())
      .then(data=>console.log(data));
    }else{
       console.log("获取大屏列表失败") 
    }
  });
}

4. 最后在控制台中输入以下代码,将1,2步骤中准备的数组和大屏ID填入函数中,然后按下回车。

bindPanels(["面板1","面板2","面板3"],289773)

收藏 0
分享
分享方式
微信

评论

游客

全部 0条评论

轻松设计高效搭建,减少3倍设计改稿与开发运维工作量

开始免费试用 预约演示

扫一扫关注公众号 扫一扫联系客服

©Copyrights 2016-2022 杭州易知微科技有限公司 浙ICP备2021017017号-3 浙公网安备33011002011932号

互联网信息服务业务 合字B2-20220090

400-8505-905 复制
免费试用
微信社区
易知微-数据可视化
微信扫一扫入群