648540858
2022-01-30 8d5764b9a0ed7bd9c0473dddcbe5acc5f64e7e6a
优化信令配置展示界面
4个文件已修改
157 ■■■■ 已修改文件
web_src/package-lock.json 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/package.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/channelList.vue 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/control.vue 122 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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",
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",
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);
                }
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信息正则",
            "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": "构建用JDK",
          };
          console.log(key + ": " + nameData[key])
          if (nameData[key]) {
            return nameData[key]
          }else {
            return key;
          }
        }
    }
};