From 2eb1ca2d94a09c2d3ced69de28de72d2d6d77d8e Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期四, 03 三月 2022 15:57:28 +0800
Subject: [PATCH] 国标录像支持多端同时播放

---
 web_src/src/components/control.vue |   90 +++++++++++++++++++++++++++++++++++++--------
 1 files changed, 74 insertions(+), 16 deletions(-)

diff --git a/web_src/src/components/control.vue b/web_src/src/components/control.vue
index 71872fc..4928077 100644
--- a/web_src/src/components/control.vue
+++ b/web_src/src/components/control.vue
@@ -19,25 +19,30 @@
                   <span >{{loadCount}}</span>
                 </div>
                 <div style="position: absolute; right: 1rem; top: 0.3rem;">
-                    <el-popover placement="bottom" width="750" height="300" trigger="click">
-                        <div style="height: 600px;overflow:auto;">
-                            <table class="table-c" cellspacing="0">
-                                <tr v-for="(value, key, index) in serverConfig">
-                                    <td style="width: 18rem; text-align: right;">{{ key }}</td>
-                                    <td style="width: 33rem; text-align:left">{{ value }}</td>
-                                </tr>
-                            </table>
+                    <el-popover placement="bottom" width="900" height="300" trigger="click">
+                        <div style="height: 600px; overflow:auto; padding: 20px">
+                          <el-descriptions v-for="(value, key, index) in serverConfig" :key="key" border column="1" style="margin-bottom: 1rem">
+                            <template slot="title">
+                              {{key}}
+                            </template>
+                            <el-descriptions-item v-for="(value1, key1, index1) in serverConfig[key]" :key="key1">
+                              <template slot="label" >
+                                {{ getMediaKeyNameFromKey(key1) }}
+                              </template>
+                              {{ value1 }}
+                            </el-descriptions-item>
+                          </el-descriptions>
                         </div>
                         <el-button type="primary" slot="reference" size="mini" @click="getServerConfig()">濯掍綋鏈嶅姟鍣ㄩ厤缃�</el-button>
                     </el-popover>
                     <el-popover placement="bottom" width="900" height="300" trigger="click">
                         <div style="height: 600px;overflow:auto; padding: 20px">
 
-                          <el-descriptions title="鍩虹閰嶇疆" border>
+                          <el-descriptions title="鍩虹閰嶇疆" border column="1">
                               <template slot="extra">
                                 <el-button style="float: right;" type="primary" size="mini" icon="el-icon-document-copy"  title="鐐瑰嚮鎷疯礉" v-clipboard="JSON.stringify(wvpServerConfig.base)" @success="$message({type:'success', message:'鎴愬姛鎷疯礉鍒扮矘璐存澘'})"></el-button>
                               </template>
-                              <el-descriptions-item v-for="(value, key, index) in wvpServerConfig.base">
+                              <el-descriptions-item v-for="(value, key, index) in wvpServerConfig.base" :key="key">
                                 <template slot="label" >
                                   {{ getNameFromKey(key) }}
                                 </template>
@@ -47,7 +52,7 @@
                                         鏌ョ湅<i class="el-icon-arrow-down el-icon--right"></i>
                                       </span>
                                     <el-dropdown-menu slot="dropdown">
-                                      <el-dropdown-item v-for="(value, key, index) in wvpServerConfig.base.interfaceAuthenticationExcludes">{{value}}</el-dropdown-item>
+                                      <el-dropdown-item v-for="(value, key, index) in wvpServerConfig.base.interfaceAuthenticationExcludes" :key="key">{{value}}</el-dropdown-item>
                                     </el-dropdown-menu>
                                   </el-dropdown>
                                 </div>
@@ -66,11 +71,11 @@
                               </el-descriptions-item>
                             </el-descriptions>
                           <div style="margin-top: 1rem">
-                            <el-descriptions title="鍥芥爣閰嶇疆" border>
+                            <el-descriptions title="鍥芥爣閰嶇疆" border column="1">
                               <template slot="extra">
                                 <el-button style="float: right;" type="primary" size="mini" icon="el-icon-document-copy"  title="鐐瑰嚮鎷疯礉" v-clipboard="JSON.stringify(wvpServerConfig.sip)" @success="$message({type:'success', message:'鎴愬姛鎷疯礉鍒扮矘璐存澘'})"></el-button>
                               </template>
-                              <el-descriptions-item v-for="(value, key, index) in wvpServerConfig.sip">
+                              <el-descriptions-item v-for="(value, key, index) in wvpServerConfig.sip" :key="key">
                                 <template slot="label">
                                   {{ getNameFromKey(key) }}
                                 </template>
@@ -79,11 +84,11 @@
                             </el-descriptions>
                           </div>
                           <div style="margin-top: 1rem">
-                            <el-descriptions title="鐗堟湰淇℃伅" border>
+                            <el-descriptions title="鐗堟湰淇℃伅" border column="1">
                               <template slot="extra">
                                 <el-button style="float: right;" type="primary" size="mini" icon="el-icon-document-copy"  title="鐐瑰嚮鎷疯礉" v-clipboard="JSON.stringify(wvpServerVersion)" @success="$message({type:'success', message:'鎴愬姛鎷疯礉鍒扮矘璐存澘'})"></el-button>
                               </template>
-                              <el-descriptions-item v-for="(value, key, index) in wvpServerVersion">
+                              <el-descriptions-item v-for="(value, key, index) in wvpServerVersion" :key="key">
                                 <template slot="label">
                                  {{ getNameFromKey(key) }}
                                 </template>
@@ -375,7 +380,17 @@
                 method: 'get',
                 url: '/zlm/' + that.mediaServerChoose +'/index/api/getServerConfig'
             }).then(function (res) {
-                that.serverConfig = res.data.data[0];
+                let info = res.data.data[0];
+                let serverInfo = {}
+                for (let i = 0; i < Object.keys(info).length; i++) {
+                  let key = Object.keys(info)[i];
+                  let group = key.substring(0, key.indexOf("."))
+                  let itemKey = key.substring(key.indexOf(".") + 1)
+                  if (!serverInfo[group]) serverInfo[group] = {}
+                  serverInfo[group][itemKey] = info[key]
+                }
+
+                that.serverConfig = serverInfo;
                 that.visible = true;
             });
         },
@@ -494,6 +509,49 @@
           }else {
             return key;
           }
+        },
+        getMediaKeyNameFromKey: function(key) {
+          let nameData = {
+            "waitTrack": "绛夊緟缂栫爜淇℃伅",
+            "interfaceAuthenticationExcludes": "涓嶈繘琛岄壌鏉冪殑鎺ュ彛",
+            "playTimeout": "鐐规挱瓒呮椂鏃堕棿",
+            "autoApplyPlay": "鑷姩鐐规挱",
+            "recordPushLive": "鎺ㄦ祦褰曞儚",
+            "redisConfig": "鑷姩閰嶇疆redis",
+            "thirdPartyGBIdReg": "stream淇℃伅姝e垯",
+            "savePositionHistory": "淇濆瓨杞ㄨ抗淇℃伅",
+            "interfaceAuthentication": "鎺ュ彛閴存潈",
+            "serverId": "鏈嶅姟ID",
+            "logInDatebase": "鏃ュ織瀛樺偍杩涙暟鎹簱",
+            "seniorSdp": "鎵╁睍SDP",
+            "password": "瀵嗙爜",
+            "port": "绔彛鍙�",
+            "keepaliveTimeOut": "蹇冭烦瓒呮椂",
+            "domain": "鍥芥爣鍩�",
+            "ip": "IP鍦板潃",
+            "monitorIp": "鐩戝惉IP",
+            "alarm": "瀛樺偍鎶ヨ淇℃伅",
+            "ptzSpeed": "浜戝彴鎺у埗閫熷害",
+            "id": "鍥芥爣ID",
+            "registerTimeInterval": "娉ㄥ唽闂撮殧",
+            "artifactId": "妯″潡鍚嶇О",
+            "version": "鐗堟湰",
+            "project": "宸ョ▼",
+            "git_Revision": "GIT淇鐗堟湰",
+            "git_BRANCH": "GIT鍒嗘敮",
+            "git_URL": "GIT鍦板潃",
+            "build_DATE": "鏋勫缓鏃堕棿",
+            "create_By": "浣滆��",
+            "git_Revision_SHORT": "GIT淇鐗堟湰锛堢煭锛�",
+            "build_Jdk": "鏋勫缓鐢↗DK",
+          };
+          console.log(key + ": " + nameData[key])
+
+          if (nameData[key]) {
+            return nameData[key]
+          }else {
+            return key;
+          }
         }
     }
 };

--
Gitblit v1.8.0