From 8d5764b9a0ed7bd9c0473dddcbe5acc5f64e7e6a Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期日, 30 一月 2022 15:58:15 +0800
Subject: [PATCH] 优化信令配置展示界面

---
 web_src/src/components/channelList.vue |    9 ++-
 web_src/src/components/control.vue     |  122 ++++++++++++++++++++++++++++++++++------
 web_src/package.json                   |    2 
 web_src/package-lock.json              |   24 ++++----
 4 files changed, 122 insertions(+), 35 deletions(-)

diff --git a/web_src/package-lock.json b/web_src/package-lock.json
index 9a0ce7f..dffa57e 100644
--- a/web_src/package-lock.json
+++ b/web_src/package-lock.json
@@ -261,8 +261,8 @@
     },
     "async-validator": {
       "version": "1.8.5",
-      "resolved": "https://registry.nlark.com/async-validator/download/async-validator-1.8.5.tgz",
-      "integrity": "sha1-3D4I7B/Q3dtn5ghC8CwM0c7G1/A=",
+      "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-1.8.5.tgz",
+      "integrity": "sha512-tXBM+1m056MAX0E8TL2iCjg8WvSyXu0Zc8LNtYqrVeyoL3+esHRZ4SieE9fKQyyU09uONjnMEjrNBMqT0mbvmA==",
       "requires": {
         "babel-runtime": "6.x"
       }
@@ -3091,8 +3091,8 @@
     },
     "deepmerge": {
       "version": "1.5.2",
-      "resolved": "https://registry.npm.taobao.org/deepmerge/download/deepmerge-1.5.2.tgz?cache=0&sync_timestamp=1572279556265&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdeepmerge%2Fdownload%2Fdeepmerge-1.5.2.tgz",
-      "integrity": "sha1-EEmdhohEza1P7ghC34x/bwyVp1M="
+      "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz",
+      "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ=="
     },
     "define-properties": {
       "version": "1.1.3",
@@ -3381,9 +3381,9 @@
       "dev": true
     },
     "element-ui": {
-      "version": "2.15.1",
-      "resolved": "https://registry.npm.taobao.org/element-ui/download/element-ui-2.15.1.tgz?cache=0&sync_timestamp=1614082623756&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felement-ui%2Fdownload%2Felement-ui-2.15.1.tgz",
-      "integrity": "sha1-raAKpuMsAndKLndWPdhGaPgTzf8=",
+      "version": "2.15.6",
+      "resolved": "https://registry.npmjs.org/element-ui/-/element-ui-2.15.6.tgz",
+      "integrity": "sha512-rcYXEKd/j2G0AgficAOk1Zd1AsnHRkhmrK4yLHmNOiimU2JfsywgfKUjMoFuT6pQx0luhovj8lFjpE4Fnt58Iw==",
       "requires": {
         "async-validator": "~1.8.1",
         "babel-helper-vue-jsx-merge-props": "^2.0.0",
@@ -5990,7 +5990,7 @@
     },
     "normalize-wheel": {
       "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/normalize-wheel/download/normalize-wheel-1.0.1.tgz",
+      "resolved": "https://registry.npmjs.org/normalize-wheel/-/normalize-wheel-1.0.1.tgz",
       "integrity": "sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU="
     },
     "npm-run-path": {
@@ -9380,8 +9380,8 @@
     },
     "resize-observer-polyfill": {
       "version": "1.5.1",
-      "resolved": "https://registry.nlark.com/resize-observer-polyfill/download/resize-observer-polyfill-1.5.1.tgz",
-      "integrity": "sha1-DpAg3T0hAkRY1OvSfiPkAmmBBGQ="
+      "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz",
+      "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg=="
     },
     "resolve": {
       "version": "1.17.0",
@@ -10316,8 +10316,8 @@
     },
     "throttle-debounce": {
       "version": "1.1.0",
-      "resolved": "https://registry.npm.taobao.org/throttle-debounce/download/throttle-debounce-1.1.0.tgz",
-      "integrity": "sha1-UYU9o3vmihVctugns1FKPEIuic0="
+      "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-1.1.0.tgz",
+      "integrity": "sha512-XH8UiPCQcWNuk2LYePibW/4qL97+ZQ1AN3FNXwZRBNPPowo/NRU5fAlDCSNBJIYCKbioZfuYtMhG4quqoJhVzg=="
     },
     "through2": {
       "version": "2.0.5",
diff --git a/web_src/package.json b/web_src/package.json
index 5025266..20fc3a2 100644
--- a/web_src/package.json
+++ b/web_src/package.json
@@ -13,7 +13,7 @@
     "axios": "^0.24.0",
     "core-js": "^2.6.5",
     "echarts": "^4.9.0",
-    "element-ui": "^2.15.1",
+    "element-ui": "^2.15.6",
     "fingerprintjs2": "^2.1.2",
     "moment": "^2.29.1",
     "postcss-pxtorem": "^5.1.1",
diff --git a/web_src/src/components/channelList.vue b/web_src/src/components/channelList.vue
index 2b06870..7dda69a 100644
--- a/web_src/src/components/channelList.vue
+++ b/web_src/src/components/channelList.vue
@@ -212,10 +212,10 @@
                 url: '/api/play/start/' + deviceId + '/' + channelId
             }).then(function (res) {
                 that.isLoging = false;
-                if (res.data.code == 0) {
+                if (res.data.code === 0) {
 
                   setTimeout(()=>{
-                    console.log("涓嬭浇鎴浘")
+
                     let snapId = deviceId + "_" + channelId;
                     that.loadSnap[snapId] = 0;
                     that.getSnapErrorEvent(snapId)
@@ -224,7 +224,10 @@
                     streamInfo: res.data.data,
                     hasAudio: itemData.hasAudio
                   });
-                  that.initData();
+                  setTimeout(()=>{
+                    that.initData();
+                  },1000)
+
                 }else {
                   that.$message.error(res.data.msg);
                 }
diff --git a/web_src/src/components/control.vue b/web_src/src/components/control.vue
index b5990da..71872fc 100644
--- a/web_src/src/components/control.vue
+++ b/web_src/src/components/control.vue
@@ -30,27 +30,68 @@
                         </div>
                         <el-button type="primary" slot="reference" size="mini" @click="getServerConfig()">濯掍綋鏈嶅姟鍣ㄩ厤缃�</el-button>
                     </el-popover>
-                    <el-popover placement="bottom" width="750" height="300" trigger="click">
-                        <div style="height: 600px;overflow:auto;">
-                          <div v-for="(value, key, index) in wvpServerConfig">
-                            {{ key }}锛�
-                            <table v-if="key != 'server.port'" class="table-c" cellspacing="0">
-                              <tr  v-for="(subValue, subKey, subIndex) in value">
-                                <td style="width: 18rem; text-align: right;">{{ subKey }}</td>
-                                <td style="width: 33rem; text-align:left">{{ subValue }}</td>
-                              </tr>
-                            </table>
-                            <span v-if="key == 'server.port'">{{ value }}</span>
-                          </div>
+                    <el-popover placement="bottom" width="900" height="300" trigger="click">
+                        <div style="height: 600px;overflow:auto; padding: 20px">
 
+                          <el-descriptions title="鍩虹閰嶇疆" border>
+                              <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">
+                                <template slot="label" >
+                                  {{ getNameFromKey(key) }}
+                                </template>
+                                <div v-if="key === 'interfaceAuthenticationExcludes'">
+                                  <el-dropdown>
+                                      <span class="el-dropdown-link">
+                                        鏌ョ湅<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-menu>
+                                  </el-dropdown>
+                                </div>
+                                <div v-if="key !== 'interfaceAuthenticationExcludes'">
+                                  <div v-if="value === true">
+                                    宸插惎鐢�
+                                  </div>
+                                  <div v-if="value === false">
+                                    鏈惎鐢�
+                                  </div>
+                                  <div v-if="value !== true && value !== false">
+                                    {{ value }}
+                                  </div>
+                                </div>
+
+                              </el-descriptions-item>
+                            </el-descriptions>
                           <div style="margin-top: 1rem">
-                            鐗堟湰淇℃伅锛�
-                            <table class="table-c" cellspacing="0">
-                              <tr v-for="(value, key, index) in wvpServerVersion">
-                                <td style="width: 18rem; text-align: right;">{{ key }}</td>
-                                <td style="width: 33rem; text-align:left">{{ value }}</td>
-                              </tr>
-                            </table>
+                            <el-descriptions title="鍥芥爣閰嶇疆" border>
+                              <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">
+                                <template slot="label">
+                                  {{ getNameFromKey(key) }}
+                                </template>
+                                {{ value }}
+                              </el-descriptions-item>
+                            </el-descriptions>
+                          </div>
+                          <div style="margin-top: 1rem">
+                            <el-descriptions title="鐗堟湰淇℃伅" border>
+                              <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">
+                                <template slot="label">
+                                 {{ getNameFromKey(key) }}
+                                </template>
+                                {{ value }}
+                              </el-descriptions-item>
+                            </el-descriptions>
+
+
                           </div>
                         </div>
                       <el-button type="primary" slot="reference" size="mini" @click="getWVPServerConfig()">淇′护鏈嶅姟鍣ㄩ厤缃�</el-button>
@@ -410,6 +451,49 @@
                     message: '鍒犻櫎鎴愬姛!'
                 });
             });
+        },
+        getNameFromKey: 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