Merge branch 'wvp-28181-2.0' into main-dev
# Conflicts: # src/main/java/com/genersoft/iot/vmp/conf/UserSetting.java # src/main/java/com/genersoft/iot/vmp/gb28181/bean/Device.java # src/main/java/com/genersoft/iot/vmp/gb28181/transmit/callback/DeferredResultHolder.java # src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/ISIPCommanderForPlatform.java # src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/InviteRequestProcessor.java # src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/response/impl/InviteResponseProcessor.java # src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRTPServerFactory.java # src/main/java/com/genersoft/iot/vmp/service/IPlayService.java # src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java # src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java # src/main/resources/all-application.yml # web_src/config/index.js # web_src/src/components/dialog/devicePlayer.vue
This commit is contained in:
316
web_src/package-lock.json
generated
316
web_src/package-lock.json
generated
@@ -8,7 +8,7 @@
|
||||
"name": "gb_web",
|
||||
"version": "1.0.0",
|
||||
"dependencies": {
|
||||
"@liveqing/liveplayer": "^2.7.0",
|
||||
"@liveqing/liveplayer": "^2.7.10",
|
||||
"axios": "^0.24.0",
|
||||
"core-js": "^2.6.5",
|
||||
"echarts": "^4.9.0",
|
||||
@@ -71,9 +71,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@liveqing/liveplayer": {
|
||||
"version": "2.7.0",
|
||||
"resolved": "https://registry.npmmirror.com/@liveqing/liveplayer/-/liveplayer-2.7.0.tgz",
|
||||
"integrity": "sha512-SWveQRqhhfJzkcpmHZxL6eLn+xLQuub888/JiBtUDHgt1eVwYYsorDiGcAKciNcyD70PuMfQ3+QrLoLbWE2vWA=="
|
||||
"version": "2.7.10",
|
||||
"resolved": "https://registry.npmmirror.com/@liveqing/liveplayer/-/liveplayer-2.7.10.tgz",
|
||||
"integrity": "sha512-OrRzy2t0WZvO/h+hxMYL2+Ips7ON75l+PH8rjZDT7sps1zKW6dct6qPJm3EsVQuttUQ0dVGu3UXaSUm5gEM4dQ=="
|
||||
},
|
||||
"node_modules/@mapbox/jsonlint-lines-primitives": {
|
||||
"version": "2.0.2",
|
||||
@@ -184,15 +184,19 @@
|
||||
}
|
||||
},
|
||||
"node_modules/ajv": {
|
||||
"version": "5.5.2",
|
||||
"resolved": "https://registry.npm.taobao.org/ajv/download/ajv-5.5.2.tgz?cache=0&sync_timestamp=1600886864349&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv%2Fdownload%2Fajv-5.5.2.tgz",
|
||||
"integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
|
||||
"version": "6.12.6",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
|
||||
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"co": "^4.6.0",
|
||||
"fast-deep-equal": "^1.0.0",
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
"fast-json-stable-stringify": "^2.0.0",
|
||||
"json-schema-traverse": "^0.3.0"
|
||||
"json-schema-traverse": "^0.4.1",
|
||||
"uri-js": "^4.2.2"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/epoberezkin"
|
||||
}
|
||||
},
|
||||
"node_modules/ajv-keywords": {
|
||||
@@ -2111,8 +2115,8 @@
|
||||
},
|
||||
"node_modules/co": {
|
||||
"version": "4.6.0",
|
||||
"resolved": "https://registry.npm.taobao.org/co/download/co-4.6.0.tgz",
|
||||
"integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
|
||||
"resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
|
||||
"integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"iojs": ">= 1.0.0",
|
||||
@@ -4620,9 +4624,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/fast-deep-equal": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-1.1.0.tgz",
|
||||
"integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=",
|
||||
"version": "3.1.3",
|
||||
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
|
||||
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/fast-json-stable-stringify": {
|
||||
@@ -4665,30 +4669,6 @@
|
||||
"webpack": "^2.0.0 || ^3.0.0 || ^4.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/file-loader/node_modules/ajv": {
|
||||
"version": "6.12.5",
|
||||
"resolved": "https://registry.npm.taobao.org/ajv/download/ajv-6.12.5.tgz?cache=0&sync_timestamp=1600886864349&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv%2Fdownload%2Fajv-6.12.5.tgz",
|
||||
"integrity": "sha1-GbDouuj0duW6ZmMAOHd1+xoApNo=",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
"fast-json-stable-stringify": "^2.0.0",
|
||||
"json-schema-traverse": "^0.4.1",
|
||||
"uri-js": "^4.2.2"
|
||||
}
|
||||
},
|
||||
"node_modules/file-loader/node_modules/fast-deep-equal": {
|
||||
"version": "3.1.3",
|
||||
"resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz",
|
||||
"integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/file-loader/node_modules/json-schema-traverse": {
|
||||
"version": "0.4.1",
|
||||
"resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz?cache=0&sync_timestamp=1599334207614&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-0.4.1.tgz",
|
||||
"integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/file-loader/node_modules/schema-utils": {
|
||||
"version": "0.4.7",
|
||||
"resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-0.4.7.tgz?cache=0&sync_timestamp=1601922251376&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fschema-utils%2Fdownload%2Fschema-utils-0.4.7.tgz",
|
||||
@@ -6126,9 +6106,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/json-schema-traverse": {
|
||||
"version": "0.3.1",
|
||||
"resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.3.1.tgz?cache=0&sync_timestamp=1599334207614&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-0.3.1.tgz",
|
||||
"integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
|
||||
"version": "0.4.1",
|
||||
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
|
||||
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/json-stringify-pretty-compact": {
|
||||
@@ -8770,30 +8750,6 @@
|
||||
"node": ">= 4"
|
||||
}
|
||||
},
|
||||
"node_modules/postcss-loader/node_modules/ajv": {
|
||||
"version": "6.12.5",
|
||||
"resolved": "https://registry.npm.taobao.org/ajv/download/ajv-6.12.5.tgz?cache=0&sync_timestamp=1600886864349&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv%2Fdownload%2Fajv-6.12.5.tgz",
|
||||
"integrity": "sha1-GbDouuj0duW6ZmMAOHd1+xoApNo=",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
"fast-json-stable-stringify": "^2.0.0",
|
||||
"json-schema-traverse": "^0.4.1",
|
||||
"uri-js": "^4.2.2"
|
||||
}
|
||||
},
|
||||
"node_modules/postcss-loader/node_modules/fast-deep-equal": {
|
||||
"version": "3.1.3",
|
||||
"resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz",
|
||||
"integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/postcss-loader/node_modules/json-schema-traverse": {
|
||||
"version": "0.4.1",
|
||||
"resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz?cache=0&sync_timestamp=1599334207614&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-0.4.1.tgz",
|
||||
"integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/postcss-loader/node_modules/schema-utils": {
|
||||
"version": "0.4.7",
|
||||
"resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-0.4.7.tgz?cache=0&sync_timestamp=1601922251376&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fschema-utils%2Fdownload%2Fschema-utils-0.4.7.tgz",
|
||||
@@ -11500,6 +11456,30 @@
|
||||
"node": ">= 4.3 < 5.0.0 || >= 5.10"
|
||||
}
|
||||
},
|
||||
"node_modules/schema-utils/node_modules/ajv": {
|
||||
"version": "5.5.2",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
|
||||
"integrity": "sha512-Ajr4IcMXq/2QmMkEmSvxqfLN5zGmJ92gHXAeOXq1OekoH2rfDNsgdDoL2f7QaRCy7G/E6TpxBVdRuNraMztGHw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"co": "^4.6.0",
|
||||
"fast-deep-equal": "^1.0.0",
|
||||
"fast-json-stable-stringify": "^2.0.0",
|
||||
"json-schema-traverse": "^0.3.0"
|
||||
}
|
||||
},
|
||||
"node_modules/schema-utils/node_modules/fast-deep-equal": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
|
||||
"integrity": "sha512-fueX787WZKCV0Is4/T2cyAdM4+x1S3MXXOAhavE1ys/W42SHAPacLTQhucja22QBYrfGw50M2sRiXPtTGv9Ymw==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/schema-utils/node_modules/json-schema-traverse": {
|
||||
"version": "0.3.1",
|
||||
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
|
||||
"integrity": "sha512-4JD/Ivzg7PoW8NzdrBSr3UFwC9mHgvI7Z6z3QGBsSHgKaRTUDmyZAAKJo2UbG1kUVfS9WS8bi36N49U1xw43DA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/select": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npm.taobao.org/select/download/select-1.1.2.tgz",
|
||||
@@ -12721,36 +12701,12 @@
|
||||
"webpack": "^2.0.0 || ^3.0.0 || ^4.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/uglifyjs-webpack-plugin/node_modules/ajv": {
|
||||
"version": "6.12.5",
|
||||
"resolved": "https://registry.npm.taobao.org/ajv/download/ajv-6.12.5.tgz?cache=0&sync_timestamp=1600886864349&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv%2Fdownload%2Fajv-6.12.5.tgz",
|
||||
"integrity": "sha1-GbDouuj0duW6ZmMAOHd1+xoApNo=",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
"fast-json-stable-stringify": "^2.0.0",
|
||||
"json-schema-traverse": "^0.4.1",
|
||||
"uri-js": "^4.2.2"
|
||||
}
|
||||
},
|
||||
"node_modules/uglifyjs-webpack-plugin/node_modules/commander": {
|
||||
"version": "2.13.0",
|
||||
"resolved": "https://registry.npm.taobao.org/commander/download/commander-2.13.0.tgz?cache=0&sync_timestamp=1598576136669&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.13.0.tgz",
|
||||
"integrity": "sha1-aWS8pnaF33wfFDDFhPB9dZeIW5w=",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/uglifyjs-webpack-plugin/node_modules/fast-deep-equal": {
|
||||
"version": "3.1.3",
|
||||
"resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz",
|
||||
"integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/uglifyjs-webpack-plugin/node_modules/json-schema-traverse": {
|
||||
"version": "0.4.1",
|
||||
"resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz?cache=0&sync_timestamp=1599334207614&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-0.4.1.tgz",
|
||||
"integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/uglifyjs-webpack-plugin/node_modules/schema-utils": {
|
||||
"version": "0.4.7",
|
||||
"resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-0.4.7.tgz?cache=0&sync_timestamp=1601922251376&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fschema-utils%2Fdownload%2Fschema-utils-0.4.7.tgz",
|
||||
@@ -14082,24 +14038,6 @@
|
||||
"source-map": "~0.6.1"
|
||||
}
|
||||
},
|
||||
"node_modules/webpack/node_modules/ajv": {
|
||||
"version": "6.12.5",
|
||||
"resolved": "https://registry.npm.taobao.org/ajv/download/ajv-6.12.5.tgz?cache=0&sync_timestamp=1600886864349&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv%2Fdownload%2Fajv-6.12.5.tgz",
|
||||
"integrity": "sha1-GbDouuj0duW6ZmMAOHd1+xoApNo=",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
"fast-json-stable-stringify": "^2.0.0",
|
||||
"json-schema-traverse": "^0.4.1",
|
||||
"uri-js": "^4.2.2"
|
||||
}
|
||||
},
|
||||
"node_modules/webpack/node_modules/fast-deep-equal": {
|
||||
"version": "3.1.3",
|
||||
"resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz",
|
||||
"integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/webpack/node_modules/has-flag": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-2.0.0.tgz",
|
||||
@@ -14109,12 +14047,6 @@
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/webpack/node_modules/json-schema-traverse": {
|
||||
"version": "0.4.1",
|
||||
"resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz?cache=0&sync_timestamp=1599334207614&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-0.4.1.tgz",
|
||||
"integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/webpack/node_modules/source-map": {
|
||||
"version": "0.5.7",
|
||||
"resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz",
|
||||
@@ -14464,9 +14396,9 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@liveqing/liveplayer": {
|
||||
"version": "2.7.0",
|
||||
"resolved": "https://registry.npmmirror.com/@liveqing/liveplayer/-/liveplayer-2.7.0.tgz",
|
||||
"integrity": "sha512-SWveQRqhhfJzkcpmHZxL6eLn+xLQuub888/JiBtUDHgt1eVwYYsorDiGcAKciNcyD70PuMfQ3+QrLoLbWE2vWA=="
|
||||
"version": "2.7.10",
|
||||
"resolved": "https://registry.npmmirror.com/@liveqing/liveplayer/-/liveplayer-2.7.10.tgz",
|
||||
"integrity": "sha512-OrRzy2t0WZvO/h+hxMYL2+Ips7ON75l+PH8rjZDT7sps1zKW6dct6qPJm3EsVQuttUQ0dVGu3UXaSUm5gEM4dQ=="
|
||||
},
|
||||
"@mapbox/jsonlint-lines-primitives": {
|
||||
"version": "2.0.2",
|
||||
@@ -14551,15 +14483,15 @@
|
||||
}
|
||||
},
|
||||
"ajv": {
|
||||
"version": "5.5.2",
|
||||
"resolved": "https://registry.npm.taobao.org/ajv/download/ajv-5.5.2.tgz?cache=0&sync_timestamp=1600886864349&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv%2Fdownload%2Fajv-5.5.2.tgz",
|
||||
"integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
|
||||
"version": "6.12.6",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
|
||||
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"co": "^4.6.0",
|
||||
"fast-deep-equal": "^1.0.0",
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
"fast-json-stable-stringify": "^2.0.0",
|
||||
"json-schema-traverse": "^0.3.0"
|
||||
"json-schema-traverse": "^0.4.1",
|
||||
"uri-js": "^4.2.2"
|
||||
}
|
||||
},
|
||||
"ajv-keywords": {
|
||||
@@ -16303,8 +16235,8 @@
|
||||
},
|
||||
"co": {
|
||||
"version": "4.6.0",
|
||||
"resolved": "https://registry.npm.taobao.org/co/download/co-4.6.0.tgz",
|
||||
"integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
|
||||
"resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
|
||||
"integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==",
|
||||
"dev": true
|
||||
},
|
||||
"coa": {
|
||||
@@ -18423,9 +18355,9 @@
|
||||
}
|
||||
},
|
||||
"fast-deep-equal": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-1.1.0.tgz",
|
||||
"integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=",
|
||||
"version": "3.1.3",
|
||||
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
|
||||
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
|
||||
"dev": true
|
||||
},
|
||||
"fast-json-stable-stringify": {
|
||||
@@ -18459,30 +18391,6 @@
|
||||
"schema-utils": "^0.4.5"
|
||||
},
|
||||
"dependencies": {
|
||||
"ajv": {
|
||||
"version": "6.12.5",
|
||||
"resolved": "https://registry.npm.taobao.org/ajv/download/ajv-6.12.5.tgz?cache=0&sync_timestamp=1600886864349&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv%2Fdownload%2Fajv-6.12.5.tgz",
|
||||
"integrity": "sha1-GbDouuj0duW6ZmMAOHd1+xoApNo=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
"fast-json-stable-stringify": "^2.0.0",
|
||||
"json-schema-traverse": "^0.4.1",
|
||||
"uri-js": "^4.2.2"
|
||||
}
|
||||
},
|
||||
"fast-deep-equal": {
|
||||
"version": "3.1.3",
|
||||
"resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz",
|
||||
"integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=",
|
||||
"dev": true
|
||||
},
|
||||
"json-schema-traverse": {
|
||||
"version": "0.4.1",
|
||||
"resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz?cache=0&sync_timestamp=1599334207614&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-0.4.1.tgz",
|
||||
"integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=",
|
||||
"dev": true
|
||||
},
|
||||
"schema-utils": {
|
||||
"version": "0.4.7",
|
||||
"resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-0.4.7.tgz?cache=0&sync_timestamp=1601922251376&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fschema-utils%2Fdownload%2Fschema-utils-0.4.7.tgz",
|
||||
@@ -19648,9 +19556,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"json-schema-traverse": {
|
||||
"version": "0.3.1",
|
||||
"resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.3.1.tgz?cache=0&sync_timestamp=1599334207614&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-0.3.1.tgz",
|
||||
"integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
|
||||
"version": "0.4.1",
|
||||
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
|
||||
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
|
||||
"dev": true
|
||||
},
|
||||
"json-stringify-pretty-compact": {
|
||||
@@ -21822,30 +21730,6 @@
|
||||
"schema-utils": "^0.4.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"ajv": {
|
||||
"version": "6.12.5",
|
||||
"resolved": "https://registry.npm.taobao.org/ajv/download/ajv-6.12.5.tgz?cache=0&sync_timestamp=1600886864349&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv%2Fdownload%2Fajv-6.12.5.tgz",
|
||||
"integrity": "sha1-GbDouuj0duW6ZmMAOHd1+xoApNo=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
"fast-json-stable-stringify": "^2.0.0",
|
||||
"json-schema-traverse": "^0.4.1",
|
||||
"uri-js": "^4.2.2"
|
||||
}
|
||||
},
|
||||
"fast-deep-equal": {
|
||||
"version": "3.1.3",
|
||||
"resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz",
|
||||
"integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=",
|
||||
"dev": true
|
||||
},
|
||||
"json-schema-traverse": {
|
||||
"version": "0.4.1",
|
||||
"resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz?cache=0&sync_timestamp=1599334207614&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-0.4.1.tgz",
|
||||
"integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=",
|
||||
"dev": true
|
||||
},
|
||||
"schema-utils": {
|
||||
"version": "0.4.7",
|
||||
"resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-0.4.7.tgz?cache=0&sync_timestamp=1601922251376&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fschema-utils%2Fdownload%2Fschema-utils-0.4.7.tgz",
|
||||
@@ -24097,6 +23981,32 @@
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ajv": "^5.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"ajv": {
|
||||
"version": "5.5.2",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
|
||||
"integrity": "sha512-Ajr4IcMXq/2QmMkEmSvxqfLN5zGmJ92gHXAeOXq1OekoH2rfDNsgdDoL2f7QaRCy7G/E6TpxBVdRuNraMztGHw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"co": "^4.6.0",
|
||||
"fast-deep-equal": "^1.0.0",
|
||||
"fast-json-stable-stringify": "^2.0.0",
|
||||
"json-schema-traverse": "^0.3.0"
|
||||
}
|
||||
},
|
||||
"fast-deep-equal": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
|
||||
"integrity": "sha512-fueX787WZKCV0Is4/T2cyAdM4+x1S3MXXOAhavE1ys/W42SHAPacLTQhucja22QBYrfGw50M2sRiXPtTGv9Ymw==",
|
||||
"dev": true
|
||||
},
|
||||
"json-schema-traverse": {
|
||||
"version": "0.3.1",
|
||||
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
|
||||
"integrity": "sha512-4JD/Ivzg7PoW8NzdrBSr3UFwC9mHgvI7Z6z3QGBsSHgKaRTUDmyZAAKJo2UbG1kUVfS9WS8bi36N49U1xw43DA==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"select": {
|
||||
@@ -25116,36 +25026,12 @@
|
||||
"worker-farm": "^1.5.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"ajv": {
|
||||
"version": "6.12.5",
|
||||
"resolved": "https://registry.npm.taobao.org/ajv/download/ajv-6.12.5.tgz?cache=0&sync_timestamp=1600886864349&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv%2Fdownload%2Fajv-6.12.5.tgz",
|
||||
"integrity": "sha1-GbDouuj0duW6ZmMAOHd1+xoApNo=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
"fast-json-stable-stringify": "^2.0.0",
|
||||
"json-schema-traverse": "^0.4.1",
|
||||
"uri-js": "^4.2.2"
|
||||
}
|
||||
},
|
||||
"commander": {
|
||||
"version": "2.13.0",
|
||||
"resolved": "https://registry.npm.taobao.org/commander/download/commander-2.13.0.tgz?cache=0&sync_timestamp=1598576136669&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.13.0.tgz",
|
||||
"integrity": "sha1-aWS8pnaF33wfFDDFhPB9dZeIW5w=",
|
||||
"dev": true
|
||||
},
|
||||
"fast-deep-equal": {
|
||||
"version": "3.1.3",
|
||||
"resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz",
|
||||
"integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=",
|
||||
"dev": true
|
||||
},
|
||||
"json-schema-traverse": {
|
||||
"version": "0.4.1",
|
||||
"resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz?cache=0&sync_timestamp=1599334207614&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-0.4.1.tgz",
|
||||
"integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=",
|
||||
"dev": true
|
||||
},
|
||||
"schema-utils": {
|
||||
"version": "0.4.7",
|
||||
"resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-0.4.7.tgz?cache=0&sync_timestamp=1601922251376&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fschema-utils%2Fdownload%2Fschema-utils-0.4.7.tgz",
|
||||
@@ -25846,36 +25732,12 @@
|
||||
"yargs": "^8.0.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"ajv": {
|
||||
"version": "6.12.5",
|
||||
"resolved": "https://registry.npm.taobao.org/ajv/download/ajv-6.12.5.tgz?cache=0&sync_timestamp=1600886864349&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv%2Fdownload%2Fajv-6.12.5.tgz",
|
||||
"integrity": "sha1-GbDouuj0duW6ZmMAOHd1+xoApNo=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
"fast-json-stable-stringify": "^2.0.0",
|
||||
"json-schema-traverse": "^0.4.1",
|
||||
"uri-js": "^4.2.2"
|
||||
}
|
||||
},
|
||||
"fast-deep-equal": {
|
||||
"version": "3.1.3",
|
||||
"resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz",
|
||||
"integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=",
|
||||
"dev": true
|
||||
},
|
||||
"has-flag": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-2.0.0.tgz",
|
||||
"integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
|
||||
"dev": true
|
||||
},
|
||||
"json-schema-traverse": {
|
||||
"version": "0.4.1",
|
||||
"resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz?cache=0&sync_timestamp=1599334207614&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-0.4.1.tgz",
|
||||
"integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=",
|
||||
"dev": true
|
||||
},
|
||||
"source-map": {
|
||||
"version": "0.5.7",
|
||||
"resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz",
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
"build": "node build/build.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"@liveqing/liveplayer": "^2.7.0",
|
||||
"@liveqing/liveplayer": "^2.7.10",
|
||||
"axios": "^0.24.0",
|
||||
"core-js": "^2.6.5",
|
||||
"echarts": "^4.9.0",
|
||||
|
||||
@@ -41,8 +41,8 @@
|
||||
<el-table-column label="状态" min-width="120">
|
||||
<template slot-scope="scope">
|
||||
<div slot="reference" class="name-wrapper">
|
||||
<el-tag size="medium" v-if="scope.row.online == 1">在线</el-tag>
|
||||
<el-tag size="medium" type="info" v-if="scope.row.online == 0">离线</el-tag>
|
||||
<el-tag size="medium" v-if="scope.row.onLine">在线</el-tag>
|
||||
<el-tag size="medium" type="info" v-if="!scope.row.onLine">离线</el-tag>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
@@ -144,7 +144,7 @@ export default {
|
||||
},
|
||||
chooseChannel: function(platform) {
|
||||
console.log("platform.name: " + platform.name)
|
||||
this.$refs.chooseChannelDialog.openDialog(platform.serverGBId,platform.deviceGBId, platform.name, platform.catalogId, platform.treeType, this.initData)
|
||||
this.$refs.chooseChannelDialog.openDialog(platform.serverGBId,platform.deviceGBId, platform.name, platform.catalogId, this.initData)
|
||||
},
|
||||
initData: function() {
|
||||
this.getPlatformList();
|
||||
|
||||
@@ -22,8 +22,8 @@
|
||||
{{scope.row.url}}
|
||||
</el-tag>
|
||||
<el-tag size="medium" v-if="scope.row.type != 'default'">
|
||||
<i class="cpoy-btn el-icon-document-copy" title="点击拷贝" v-clipboard="scope.row.src_url" @success="$message({type:'success', message:'成功拷贝到粘贴板'})"></i>
|
||||
{{scope.row.src_url}}
|
||||
<i class="cpoy-btn el-icon-document-copy" title="点击拷贝" v-clipboard="scope.row.srcUrl" @success="$message({type:'success', message:'成功拷贝到粘贴板'})"></i>
|
||||
{{scope.row.srcUrl}}
|
||||
</el-tag>
|
||||
</div>
|
||||
</template>
|
||||
@@ -58,25 +58,25 @@
|
||||
<el-table-column label="音频" min-width="120" >
|
||||
<template slot-scope="scope">
|
||||
<div slot="reference" class="name-wrapper">
|
||||
<el-tag size="medium" v-if="scope.row.enable_audio">已启用</el-tag>
|
||||
<el-tag size="medium" type="info" v-if="!scope.row.enable_audio">未启用</el-tag>
|
||||
<el-tag size="medium" v-if="scope.row.enableAudio">已启用</el-tag>
|
||||
<el-tag size="medium" type="info" v-if="!scope.row.enableAudio">未启用</el-tag>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="录制" min-width="120" >
|
||||
<template slot-scope="scope">
|
||||
<div slot="reference" class="name-wrapper">
|
||||
<el-tag size="medium" v-if="scope.row.enable_mp4">已启用</el-tag>
|
||||
<el-tag size="medium" type="info" v-if="!scope.row.enable_mp4">未启用</el-tag>
|
||||
<el-tag size="medium" v-if="scope.row.enableMp4">已启用</el-tag>
|
||||
<el-tag size="medium" type="info" v-if="!scope.row.enableMp4">未启用</el-tag>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="无人观看" min-width="160" >
|
||||
<template slot-scope="scope">
|
||||
<div slot="reference" class="name-wrapper">
|
||||
<el-tag size="medium" v-if="scope.row.enable_remove_none_reader">移除</el-tag>
|
||||
<el-tag size="medium" v-if="scope.row.enable_disable_none_reader">停用</el-tag>
|
||||
<el-tag size="medium" type="info" v-if="!scope.row.enable_remove_none_reader && !scope.row.enable_disable_none_reader">不做处理</el-tag>
|
||||
<el-tag size="medium" v-if="scope.row.enableRemoveNoneReader">移除</el-tag>
|
||||
<el-tag size="medium" v-if="scope.row.enableDisableNoneReader">停用</el-tag>
|
||||
<el-tag size="medium" type="info" v-if="!scope.row.enableRemoveNoneReader && !scope.row.enableDisableNoneReader">不做处理</el-tag>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@@ -197,7 +197,7 @@
|
||||
this.$refs.onvifEdit.openDialog(res.data.data, (url)=>{
|
||||
if (url != null) {
|
||||
this.$refs.onvifEdit.close();
|
||||
this.$refs.streamProxyEdit.openDialog({type: "default", url: url, src_url: url}, this.initData())
|
||||
this.$refs.streamProxyEdit.openDialog({type: "default", url: url, srcUrl: url}, this.initData())
|
||||
}
|
||||
})
|
||||
}else {
|
||||
@@ -245,18 +245,25 @@
|
||||
},
|
||||
deleteStreamProxy: function(row){
|
||||
let that = this;
|
||||
that.$axios({
|
||||
method:"delete",
|
||||
url:"/api/proxy/del",
|
||||
params:{
|
||||
app: row.app,
|
||||
stream: row.stream
|
||||
}
|
||||
}).then((res)=>{
|
||||
that.initData()
|
||||
}).catch(function (error) {
|
||||
console.log(error);
|
||||
});
|
||||
this.$confirm('确定删除此代理吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
that.$axios({
|
||||
method:"delete",
|
||||
url:"/api/proxy/del",
|
||||
params:{
|
||||
app: row.app,
|
||||
stream: row.stream
|
||||
}
|
||||
}).then((res)=>{
|
||||
that.initData()
|
||||
}).catch(function (error) {
|
||||
console.log(error);
|
||||
});
|
||||
}).catch(() => {
|
||||
});
|
||||
},
|
||||
start: function(row){
|
||||
this.stopUpdateList()
|
||||
|
||||
@@ -26,6 +26,12 @@
|
||||
<el-option label="在线" value="true"></el-option>
|
||||
<el-option label="离线" value="false"></el-option>
|
||||
</el-select>
|
||||
清晰度:
|
||||
<el-select size="mini" style="margin-right: 1rem;" @change="search" v-model="isSubStream" placeholder="请选择"
|
||||
default-first-option>
|
||||
<el-option label="原画" :value="false"></el-option>
|
||||
<el-option label="流畅" :value="true"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<el-button icon="el-icon-refresh-right" circle size="mini" @click="refresh()"></el-button>
|
||||
<el-button v-if="showTree" icon="iconfont icon-list" circle size="mini" @click="switchList()"></el-button>
|
||||
@@ -79,8 +85,8 @@
|
||||
<el-table-column label="状态" min-width="120">
|
||||
<template slot-scope="scope">
|
||||
<div slot="reference" class="name-wrapper">
|
||||
<el-tag size="medium" v-if="scope.row.status === 1">在线</el-tag>
|
||||
<el-tag size="medium" type="info" v-if="scope.row.status === 0">离线</el-tag>
|
||||
<el-tag size="medium" v-if="scope.row.status === true">在线</el-tag>
|
||||
<el-tag size="medium" type="info" v-if="scope.row.status === false">离线</el-tag>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@@ -146,6 +152,7 @@ export default {
|
||||
searchSrt: "",
|
||||
channelType: "",
|
||||
online: "",
|
||||
isSubStream: false,
|
||||
winHeight: window.innerHeight - 200,
|
||||
currentPage: 1,
|
||||
count: 15,
|
||||
@@ -237,7 +244,10 @@ export default {
|
||||
let that = this;
|
||||
this.$axios({
|
||||
method: 'get',
|
||||
url: '/api/play/start/' + deviceId + '/' + channelId
|
||||
url: '/api/play/start/' + deviceId + '/' + channelId,
|
||||
params:{
|
||||
isSubStream: this.isSubStream
|
||||
}
|
||||
}).then(function (res) {
|
||||
console.log(res)
|
||||
that.isLoging = false;
|
||||
@@ -277,7 +287,10 @@ export default {
|
||||
var that = this;
|
||||
this.$axios({
|
||||
method: 'get',
|
||||
url: '/api/play/stop/' + this.deviceId + "/" + itemData.channelId
|
||||
url: '/api/play/stop/' + this.deviceId + "/" + itemData.channelId,
|
||||
params:{
|
||||
isSubStream: this.isSubStream
|
||||
}
|
||||
}).then(function (res) {
|
||||
that.initData();
|
||||
}).catch(function (error) {
|
||||
|
||||
@@ -33,13 +33,13 @@
|
||||
<el-form-item label="拉流地址" prop="url" v-if="proxyParam.type=='default'">
|
||||
<el-input v-model="proxyParam.url" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="拉流地址" prop="src_url" v-if="proxyParam.type=='ffmpeg'">
|
||||
<el-input v-model="proxyParam.src_url" clearable></el-input>
|
||||
<el-form-item label="拉流地址" prop="srcUrl" v-if="proxyParam.type=='ffmpeg'">
|
||||
<el-input v-model="proxyParam.srcUrl" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="超时时间:毫秒" prop="timeout_ms" v-if="proxyParam.type=='ffmpeg'">
|
||||
<el-input v-model="proxyParam.timeout_ms" clearable></el-input>
|
||||
<el-form-item label="超时时间:毫秒" prop="timeoutMs" v-if="proxyParam.type=='ffmpeg'">
|
||||
<el-input v-model="proxyParam.timeoutMs" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="节点选择" prop="rtp_type">
|
||||
<el-form-item label="节点选择" prop="rtpType">
|
||||
<el-select
|
||||
v-model="proxyParam.mediaServerId"
|
||||
@change="mediaServerIdChange"
|
||||
@@ -54,10 +54,9 @@
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="FFmpeg命令模板" prop="ffmpeg_cmd_key" v-if="proxyParam.type=='ffmpeg'">
|
||||
<!-- <el-input v-model="proxyParam.ffmpeg_cmd_key" clearable></el-input>-->
|
||||
<el-form-item label="FFmpeg命令模板" prop="ffmpegCmdKey" v-if="proxyParam.type=='ffmpeg'">
|
||||
<el-select
|
||||
v-model="proxyParam.ffmpeg_cmd_key"
|
||||
v-model="proxyParam.ffmpegCmdKey"
|
||||
style="width: 100%"
|
||||
placeholder="请选择FFmpeg命令模板"
|
||||
>
|
||||
@@ -72,9 +71,9 @@
|
||||
<el-form-item label="国标编码" prop="gbId">
|
||||
<el-input v-model="proxyParam.gbId" placeholder="设置国标编码可推送到国标" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="拉流方式" prop="rtp_type" v-if="proxyParam.type=='default'">
|
||||
<el-form-item label="拉流方式" prop="rtpType" v-if="proxyParam.type=='default'">
|
||||
<el-select
|
||||
v-model="proxyParam.rtp_type"
|
||||
v-model="proxyParam.rtpType"
|
||||
style="width: 100%"
|
||||
placeholder="请选择拉流方式"
|
||||
>
|
||||
@@ -83,10 +82,10 @@
|
||||
<el-option label="组播" value="2"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="无人观看" prop="rtp_type" >
|
||||
<el-form-item label="无人观看" prop="rtpType" >
|
||||
<el-select
|
||||
@change="noneReaderHandler"
|
||||
v-model="proxyParam.none_reader"
|
||||
v-model="proxyParam.noneReader"
|
||||
style="width: 100%"
|
||||
placeholder="请选择无人观看的处理方式"
|
||||
>
|
||||
@@ -98,8 +97,8 @@
|
||||
<el-form-item label="其他选项">
|
||||
<div style="float: left;">
|
||||
<el-checkbox label="启用" v-model="proxyParam.enable" ></el-checkbox>
|
||||
<el-checkbox label="开启音频" v-model="proxyParam.enable_audio" ></el-checkbox>
|
||||
<el-checkbox label="录制" v-model="proxyParam.enable_mp4" ></el-checkbox>
|
||||
<el-checkbox label="开启音频" v-model="proxyParam.enableAudio" ></el-checkbox>
|
||||
<el-checkbox label="录制" v-model="proxyParam.enableMp4" ></el-checkbox>
|
||||
</div>
|
||||
|
||||
</el-form-item>
|
||||
@@ -155,17 +154,17 @@ export default {
|
||||
app: null,
|
||||
stream: null,
|
||||
url: "",
|
||||
src_url: null,
|
||||
timeout_ms: null,
|
||||
ffmpeg_cmd_key: null,
|
||||
srcUrl: null,
|
||||
timeoutMs: null,
|
||||
ffmpegCmdKey: null,
|
||||
gbId: null,
|
||||
rtp_type: null,
|
||||
rtpType: null,
|
||||
enable: true,
|
||||
enable_audio: true,
|
||||
enable_mp4: false,
|
||||
none_reader: null,
|
||||
enable_remove_none_reader: false,
|
||||
enable_disable_none_reader: false,
|
||||
enableAudio: true,
|
||||
enableMp4: false,
|
||||
noneReader: null,
|
||||
enableRemoveNoneReader: false,
|
||||
enableDisableNoneReader: false,
|
||||
platformGbId: null,
|
||||
mediaServerId: null,
|
||||
},
|
||||
@@ -177,9 +176,9 @@ export default {
|
||||
app: [{ required: true, message: "请输入应用名", trigger: "blur" }],
|
||||
stream: [{ required: true, message: "请输入流ID", trigger: "blur" }],
|
||||
url: [{ required: true, message: "请输入要代理的流", trigger: "blur" }],
|
||||
src_url: [{ required: true, message: "请输入要代理的流", trigger: "blur" }],
|
||||
timeout_ms: [{ required: true, message: "请输入FFmpeg推流成功超时时间", trigger: "blur" }],
|
||||
ffmpeg_cmd_key: [{ required: false, message: "请输入FFmpeg命令参数模板(可选)", trigger: "blur" }],
|
||||
srcUrl: [{ required: true, message: "请输入要代理的流", trigger: "blur" }],
|
||||
timeoutMs: [{ required: true, message: "请输入FFmpeg推流成功超时时间", trigger: "blur" }],
|
||||
ffmpegCmdKey: [{ required: false, message: "请输入FFmpeg命令参数模板(可选)", trigger: "blur" }],
|
||||
},
|
||||
};
|
||||
},
|
||||
@@ -189,7 +188,7 @@ export default {
|
||||
this.listChangeCallback = callback;
|
||||
if (proxyParam != null) {
|
||||
this.proxyParam = proxyParam;
|
||||
this.proxyParam.none_reader = null;
|
||||
this.proxyParam.noneReader = null;
|
||||
}
|
||||
|
||||
let that = this;
|
||||
@@ -218,7 +217,7 @@ export default {
|
||||
}
|
||||
}).then(function (res) {
|
||||
that.ffmpegCmdList = res.data.data;
|
||||
that.proxyParam.ffmpeg_cmd_key = Object.keys(res.data.data)[0];
|
||||
that.proxyParam.ffmpegCmdKey = Object.keys(res.data.data)[0];
|
||||
}).catch(function (error) {
|
||||
console.log(error);
|
||||
});
|
||||
@@ -275,15 +274,15 @@ export default {
|
||||
}
|
||||
},
|
||||
noneReaderHandler: function() {
|
||||
if (this.proxyParam.none_reader === null || this.proxyParam.none_reader === "0") {
|
||||
this.proxyParam.enable_disable_none_reader = false;
|
||||
this.proxyParam.enable_remove_none_reader = false;
|
||||
}else if (this.proxyParam.none_reader === "1"){
|
||||
this.proxyParam.enable_disable_none_reader = true;
|
||||
this.proxyParam.enable_remove_none_reader = false;
|
||||
}else if (this.proxyParam.none_reader ==="2"){
|
||||
this.proxyParam.enable_disable_none_reader = false;
|
||||
this.proxyParam.enable_remove_none_reader = true;
|
||||
if (this.proxyParam.noneReader === null || this.proxyParam.noneReader === "0") {
|
||||
this.proxyParam.enableDisableNoneReader = false;
|
||||
this.proxyParam.enableRemoveNoneReader = false;
|
||||
}else if (this.proxyParam.noneReader === "1"){
|
||||
this.proxyParam.enableDisableNoneReader = true;
|
||||
this.proxyParam.enableRemoveNoneReader = false;
|
||||
}else if (this.proxyParam.noneReader ==="2"){
|
||||
this.proxyParam.enableDisableNoneReader = false;
|
||||
this.proxyParam.enableRemoveNoneReader = true;
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
@@ -46,12 +46,11 @@
|
||||
export default {
|
||||
name: "catalogEdit",
|
||||
computed: {},
|
||||
props: ['platformId'],
|
||||
props: ['platformId', 'platformDeviceId'],
|
||||
created() {},
|
||||
data() {
|
||||
let checkId = (rule, value, callback) => {
|
||||
console.log("checkId")
|
||||
console.log(this.treeType)
|
||||
console.log(rule)
|
||||
console.log(value)
|
||||
console.log(value.length)
|
||||
@@ -59,21 +58,34 @@ export default {
|
||||
if (!value) {
|
||||
return callback(new Error('编号不能为空'));
|
||||
}
|
||||
if (this.treeType === "BusinessGroup" && value.length !== 20) {
|
||||
return callback(new Error('编号必须由20位数字组成'));
|
||||
}
|
||||
if (this.treeType === "CivilCode" && value.length <= 8 && value.length%2 !== 0) {
|
||||
return callback(new Error('行政区划必须是八位以下的偶数个数字组成'));
|
||||
}
|
||||
if (this.treeType === "BusinessGroup") {
|
||||
if (value.trim().length <= 8) {
|
||||
if (value.trim().length%2 !== 0) {
|
||||
return callback(new Error('行政区划编号必须为2/4/6/8位'));
|
||||
}
|
||||
if (this.form.parentId !== this.platformDeviceId && this.form.parentId.length >= value.trim().length) {
|
||||
return callback(new Error('行政区划编号长度应该每次两位递增'));
|
||||
}
|
||||
}else {
|
||||
if (value.trim().length !== 20) {
|
||||
return callback(new Error('编号必须为2/4/6/8位的行政区划或20位的虚拟组织/业务分组'));
|
||||
}
|
||||
let catalogType = value.substring(10, 13);
|
||||
console.log(catalogType)
|
||||
// 216 为虚拟组织 215 为业务分组;目录第一级必须为业务分组, 业务分组下为虚拟组织,虚拟组织下可以有其他虚拟组织
|
||||
if (this.level === 1 && catalogType !== "215") {
|
||||
return callback(new Error('业务分组模式下第一层目录的编号11到13位必须为215'));
|
||||
if (catalogType !== "215" && catalogType !== "216") {
|
||||
return callback(new Error('编号错误,业务分组11-13位为215,虚拟组织11-13位为216'));
|
||||
}
|
||||
if (this.level > 1 && catalogType !== "216") {
|
||||
return callback(new Error('业务分组模式下第一层以下目录的编号11到13位必须为216'));
|
||||
if (catalogType === "216") {
|
||||
|
||||
if (this.form.parentId !== this.platformDeviceId){
|
||||
if (this.form.parentId.length <= 8) {
|
||||
return callback(new Error('编号错误,建立虚拟组织前必须先建立业务分组(11-13位为215)'));
|
||||
}
|
||||
}
|
||||
}
|
||||
if (catalogType === "215") {
|
||||
if (this.form.parentId.length === "215") {
|
||||
return callback(new Error('编号错误,业务分组下只能建立虚拟组织(11-13位为216)'));
|
||||
}
|
||||
}
|
||||
}
|
||||
callback();
|
||||
@@ -83,7 +95,6 @@ export default {
|
||||
showDialog: false,
|
||||
isLoging: false,
|
||||
isEdit: false,
|
||||
treeType: null,
|
||||
level: 0,
|
||||
form: {
|
||||
id: null,
|
||||
@@ -98,7 +109,7 @@ export default {
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
openDialog: function (isEdit, id, name, parentId, treeType, level, callback) {
|
||||
openDialog: function (isEdit, id, name, parentId, level, callback) {
|
||||
console.log("parentId: " + parentId)
|
||||
console.log(this.form)
|
||||
this.isEdit = isEdit;
|
||||
@@ -108,7 +119,6 @@ export default {
|
||||
this.form.parentId = parentId;
|
||||
this.showDialog = true;
|
||||
this.submitCallback = callback;
|
||||
this.treeType = treeType;
|
||||
this.level = level;
|
||||
},
|
||||
onSubmit: function () {
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<el-tab-pane label="目录结构" name="catalog">
|
||||
<el-container>
|
||||
<el-main v-bind:style="{backgroundColor: '#FFF', maxHeight: winHeight + 'px'}">
|
||||
<chooseChannelForCatalog ref="chooseChannelForCatalog" :platformId=platformId :platformDeviceId=platformDeviceId :platformName=platformName :defaultCatalogId=defaultCatalogId :catalogIdChange="catalogIdChange" :treeType=treeType ></chooseChannelForCatalog>
|
||||
<chooseChannelForCatalog ref="chooseChannelForCatalog" :platformId=platformId :platformDeviceId=platformDeviceId :platformName=platformName :defaultCatalogId=defaultCatalogId :catalogIdChange="catalogIdChange" ></chooseChannelForCatalog>
|
||||
</el-main>
|
||||
</el-container>
|
||||
</el-tab-pane>
|
||||
@@ -67,14 +67,13 @@ export default {
|
||||
platformName: "",
|
||||
defaultCatalogId: "",
|
||||
showDialog: false,
|
||||
treeType: null,
|
||||
chooseData: {},
|
||||
winHeight: window.innerHeight - 250,
|
||||
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
openDialog(platformId, platformDeviceId, platformName, defaultCatalogId, treeType, closeCallback) {
|
||||
openDialog(platformId, platformDeviceId, platformName, defaultCatalogId, closeCallback) {
|
||||
console.log("defaultCatalogId: " + defaultCatalogId)
|
||||
this.platformId = platformId
|
||||
this.platformDeviceId = platformDeviceId
|
||||
@@ -82,7 +81,6 @@ export default {
|
||||
this.defaultCatalogId = defaultCatalogId
|
||||
this.showDialog = true
|
||||
this.closeCallback = closeCallback
|
||||
this.treeType = treeType
|
||||
},
|
||||
tabClick (tab, event){
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
</span>
|
||||
</el-tree>
|
||||
</div>
|
||||
<catalogEdit ref="catalogEdit" :platformId="platformId"></catalogEdit>
|
||||
<catalogEdit ref="catalogEdit" :platformId="platformId" :platformDeviceId="platformDeviceId"></catalogEdit>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
import catalogEdit from './catalogEdit.vue'
|
||||
export default {
|
||||
name: 'chooseChannelForCatalog',
|
||||
props: ['platformId', 'platformDeviceId', 'platformName', 'defaultCatalogId', 'catalogIdChange', 'treeType'],
|
||||
props: ['platformId', 'platformDeviceId', 'platformName', 'defaultCatalogId', 'catalogIdChange'],
|
||||
created() {
|
||||
this.chooseId = this.defaultCatalogId;
|
||||
this.defaultCatalogIdSign = this.defaultCatalogId;
|
||||
@@ -101,9 +101,10 @@ export default {
|
||||
},
|
||||
addCatalog: function (parentId, node){
|
||||
let that = this;
|
||||
console.log(this.treeType)
|
||||
console.log(this.platformId)
|
||||
console.log(parentId)
|
||||
// 打开添加弹窗
|
||||
that.$refs.catalogEdit.openDialog(false, null, null, parentId, this.treeType, node.level, ()=>{
|
||||
that.$refs.catalogEdit.openDialog(false, null, null, parentId, node.level, ()=>{
|
||||
node.loaded = false
|
||||
node.expand();
|
||||
});
|
||||
|
||||
@@ -52,12 +52,6 @@
|
||||
<el-option key="GCJ02" label="GCJ02" value="GCJ02"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="目录结构" prop="treeType" >
|
||||
<el-select v-model="form.treeType" style="float: left; width: 100%" >
|
||||
<el-option key="WGS84" label="行政区划" value="CivilCode"></el-option>
|
||||
<el-option key="GCJ02" label="业务分组" value="BusinessGroup"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="this.isEdit" label="目录订阅" title="0为取消订阅" prop="subscribeCycleForCatalog" >
|
||||
<el-input v-model="form.subscribeCycleForCatalog" clearable ></el-input>
|
||||
</el-form-item>
|
||||
@@ -67,6 +61,12 @@
|
||||
<el-form-item v-if="form.subscribeCycleForMobilePosition > 0" label="移动位置报送间隔" prop="subscribeCycleForCatalog" >
|
||||
<el-input v-model="form.mobilePositionSubmissionInterval" clearable ></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="主子码流开关" prop="switchPrimarySubStream" >
|
||||
<el-select v-model="form.switchPrimarySubStream" style="float: left; width: 100%" >
|
||||
<el-option key="true" label="开启" :value="true"></el-option>
|
||||
<el-option key="false" label="关闭" :value="false"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="其他选项">
|
||||
<el-checkbox label="SSRC校验" v-model="form.ssrcCheck" style="float: left"></el-checkbox>
|
||||
<el-checkbox label="作为消息通道" v-model="form.asMessageChannel" style="float: left"></el-checkbox>
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
:hasAudio="hasAudio" fluent autoplay live></rtc-player>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="h265web">h265web敬请期待</el-tab-pane>
|
||||
<el-tab-pane label="wsPlayer">wsPlayer 敬请期待</el-tab-pane>
|
||||
</el-tabs>
|
||||
<jessibucaPlayer v-if="Object.keys(this.player).length == 1 && this.player.jessibuca" ref="jessibuca"
|
||||
:visible.sync="showVideoDialog" :videoUrl="videoUrl" :error="videoError" :message="videoError"
|
||||
@@ -540,25 +539,31 @@ export default {
|
||||
// if (callback )callback();
|
||||
},
|
||||
|
||||
playFromStreamInfo: function (realHasAudio, streamInfo) {
|
||||
this.showVideoDialog = true;
|
||||
this.hasaudio = realHasAudio && this.hasaudio;
|
||||
this.$refs[this.activePlayer].play(this.getUrlByStreamInfo(streamInfo))
|
||||
},
|
||||
close: function () {
|
||||
console.log('关闭视频');
|
||||
if (!!this.$refs[this.activePlayer]) {
|
||||
this.$refs[this.activePlayer].pause();
|
||||
}
|
||||
this.videoUrl = '';
|
||||
this.coverPlaying = false;
|
||||
this.showVideoDialog = false;
|
||||
if (this.convertKey != '') {
|
||||
this.convertStop();
|
||||
}
|
||||
this.convertKey = ''
|
||||
this.stopBroadcast()
|
||||
},
|
||||
playFromStreamInfo: function (realHasAudio, streamInfo) {
|
||||
this.showVideoDialog = true;
|
||||
this.hasaudio = realHasAudio && this.hasaudio;
|
||||
if (this.$refs[this.activePlayer]) {
|
||||
this.$refs[this.activePlayer].play(this.getUrlByStreamInfo(streamInfo))
|
||||
}else {
|
||||
this.$nextTick(() => {
|
||||
this.$refs[this.activePlayer].play(this.getUrlByStreamInfo(streamInfo))
|
||||
});
|
||||
}
|
||||
},
|
||||
close: function () {
|
||||
console.log('关闭视频');
|
||||
if (!!this.$refs[this.activePlayer]){
|
||||
this.$refs[this.activePlayer].pause();
|
||||
}
|
||||
this.videoUrl = '';
|
||||
this.coverPlaying = false;
|
||||
this.showVideoDialog = false;
|
||||
if (this.convertKey != '') {
|
||||
this.convertStop();
|
||||
}
|
||||
this.convertKey = ''
|
||||
this.stopBroadcast()
|
||||
},
|
||||
|
||||
copySharedInfo: function (data) {
|
||||
console.log('复制内容:' + data);
|
||||
|
||||
@@ -78,12 +78,6 @@
|
||||
<el-option label="8" value="8"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="目录结构" prop="treeType" >
|
||||
<el-select v-model="platform.treeType" style="width: 100%" @change="treeTypeChange">
|
||||
<el-option key="WGS84" label="行政区划" value="CivilCode"></el-option>
|
||||
<el-option key="GCJ02" label="业务分组" value="BusinessGroup"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="字符集" prop="characterSet">
|
||||
<el-select
|
||||
v-model="platform.characterSet"
|
||||
@@ -164,7 +158,6 @@ export default {
|
||||
startOfflinePush: false,
|
||||
catalogGroup: 1,
|
||||
administrativeDivision: null,
|
||||
treeType: "BusinessGroup",
|
||||
},
|
||||
rules: {
|
||||
name: [{ required: true, message: "请输入平台名称", trigger: "blur" }],
|
||||
@@ -203,7 +196,6 @@ export default {
|
||||
that.platform.devicePort = res.data.data.devicePort;
|
||||
that.platform.username = res.data.data.username;
|
||||
that.platform.password = res.data.data.password;
|
||||
that.platform.treeType = "BusinessGroup";
|
||||
that.platform.administrativeDivision = res.data.data.username.substr(0, 6);
|
||||
}
|
||||
|
||||
@@ -234,7 +226,6 @@ export default {
|
||||
this.platform.startOfflinePush = platform.startOfflinePush;
|
||||
this.platform.catalogGroup = platform.catalogGroup;
|
||||
this.platform.administrativeDivision = platform.administrativeDivision;
|
||||
this.platform.treeType = platform.treeType;
|
||||
this.onSubmit_text = "保存";
|
||||
this.saveUrl = "/api/platform/save";
|
||||
}
|
||||
@@ -252,7 +243,6 @@ export default {
|
||||
if (this.platform.administrativeDivision == null) {
|
||||
this.platform.administrativeDivision = this.platform.deviceGBId.substr(0, 6);
|
||||
}
|
||||
|
||||
},
|
||||
onSubmit: function () {
|
||||
this.saveForm()
|
||||
@@ -309,7 +299,6 @@ export default {
|
||||
keepTimeout: 60,
|
||||
transport: "UDP",
|
||||
characterSet: "GB2312",
|
||||
treeType: "BusinessGroup",
|
||||
startOfflinePush: false,
|
||||
catalogGroup: 1,
|
||||
}
|
||||
@@ -344,13 +333,6 @@ export default {
|
||||
});
|
||||
}
|
||||
},
|
||||
treeTypeChange: function (){
|
||||
this.$message({
|
||||
showClose: true,
|
||||
message: "修改目录结构会导致关联目录与通道数据被清空,保存后生效",
|
||||
type: "warning",
|
||||
});
|
||||
}
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
@@ -22,10 +22,10 @@
|
||||
<el-descriptions-item label="行政区域" >{{channel.civilCode}}</el-descriptions-item>
|
||||
<el-descriptions-item label="设备归属" >{{channel.owner}}</el-descriptions-item>
|
||||
<el-descriptions-item label="安装地址" >{{channel.address == null?'未知': channel.address}}</el-descriptions-item>
|
||||
<el-descriptions-item label="云台类型" >{{channel.ptztypeText}}</el-descriptions-item>
|
||||
<el-descriptions-item label="状态">
|
||||
<el-tag size="small" v-if="channel.status === 1">在线</el-tag>
|
||||
<el-tag size="small" type="info" v-if="channel.status === 0">离线</el-tag>
|
||||
<el-descriptions-item label="云台类型" >{{channel.PTZTypeText}}</el-descriptions-item>
|
||||
<el-descriptions-item label="通道状态">
|
||||
<el-tag size="small" v-if="channel.status === true">在线</el-tag>
|
||||
<el-tag size="small" type="info" v-if="channel.status === false">离线</el-tag>
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
<div style="padding-top: 10px">
|
||||
|
||||
Reference in New Issue
Block a user