[技術チュートリアル]国家標準GB28181カスケード/ストリーミングプロトコルビデオインテリジェントアラーム分析プラットフォームメニューバーのカスタマイズ3つ以上のサブディレクトリを追加

TSINGSEE Qingxi Video R&Dチームは、ユーザーから多くのカスタマイズリクエストを受け取りました。ユーザー向けにカスタマイズされたバージョンを開発するために最善を尽くします。国家標準のGB28181プロトコルビデオプラットフォームEasyGBSはカスケードをサポートしているため、EasyGBSをカスケードに使用する場合、多くのユーザーはカスケードに関するカスタマイズされた項目をいくつか持っています。

New.png

現在、EasyGBSビデオプラットフォームのメニューは3レベルのディレクトリです。一部のユーザーは、EasyGBSがカスケードされた後、3番目のレベルのディレクトリである左側のメニューバーのチャネルレイヤーがサブディレクトリとして表示されることを要求します。メニュー。4つに区別できるマルチレベルのディレクトリメニューになります。レベル以上。

GBS10.png

EasyGBSプラットフォームのディレクトリツリー図データのSubCountフィールドは、サブディレクトリの数です。コンパイルアーキテクチャでは、レベル0をチャネルレベルとして設定します。つまり、このディレクトリの下にサブディレクトリはありません。が0より大きい場合、サブディレクトリです。アライメント処理を実行します。

18.png

19.png

参照コード:

1はフォルダアイコンに変更され、2は展開でき、3は展開すると、システムは下位レベルのメニューデータを取得してフロントエンドにレンダリングし、レベル3より下のメニューデータを表示できます。

-  getsubfolderData(node, resolve, type) {
      if (type == "list") {
        $.get("/api/v1/device/info", {
          serial: node.data.DeviceID,
          dir_serial: node.data.ID,
        }).then((ret) => {
          let aa = [];
          for (const i in ret.ChannelList) {
            let arr = {};
            arr.Name =
              ret.ChannelList[i].Name == ""
                ? ret.ChannelList[i].ID
                : ret.ChannelList[i].Name;
            arr.DeviceID = ret.ChannelList[i].DeviceID;
            arr.ID = ret.ChannelList[i].ID;
            arr.online = ret.ChannelList[i].Status == "ON" ? true : false;
            arr.leaf = ret.ChannelList[i].SubCount == 0;
            arr.SubCount = ret.ChannelList[i].SubCount;
            arr.Type = 2;
            arr.rank = 3;
            aa.push(arr);
          }
          return resolve(aa);
        });
      }
    },
 

参照効果は次のとおりです。第4レベルのカタログとチャネル番号は、第3レベルのメニューの下に表示できます。

20.png

EasyGBSのカスタマイズ可能なプロジェクトはそれだけではありません。国家標準のGB28181プロトコルビデオプラットフォームに興味がある場合は、EasyGBSをお試しください。試用期間中は、APIインターフェイスを自由に呼び出して二次開発と統合を行うことができます。

おすすめ

転載: blog.csdn.net/Black_3717/article/details/111353393