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