From 7a98d6724da914d86b6ec2912dba9bfdf2423c39 Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@smartai.com> Date: 星期二, 22 二月 2022 15:14:27 +0800 Subject: [PATCH] 添加rtsp用户信息urlencode功能 --- src/pages/cameraPlayer/index/App.vue | 48 ++++++++++++++++++++++++++++++++++-------------- 1 files changed, 34 insertions(+), 14 deletions(-) diff --git a/src/pages/cameraPlayer/index/App.vue b/src/pages/cameraPlayer/index/App.vue index dcdb03c..45d0e10 100644 --- a/src/pages/cameraPlayer/index/App.vue +++ b/src/pages/cameraPlayer/index/App.vue @@ -1,6 +1,6 @@ <template> <div style="width:100%; height: 100%;"> - <camera-player :cameraID="query.cameraId" :rtspUrl="query.rtspUrl" :isGb="query.gb28181 ==='1'"></camera-player> + <camera-player :cameraID="query.cameraId" :rtspUrl="query.rtspUrl" :isGb="query.gb28181 === '1'"></camera-player> </div> </template> @@ -9,7 +9,7 @@ // 鍙傛暟 cameraId 鎽勫儚鏈篿d, rtspUrl 鎽勫儚鏈簉tsp鍦板潃, gb28181 鏄惁鏄浗鏍囨憚鍍忔満(1 鎴� 0) // http://192.168.20.191:7003/view/cameraPlayer/index.html?cameraId=e7e6157a-5929-4e78-b390-e365141169c8&rtspUrl=rtsp://admin:a1234567@192.168.5.51:554/h264/ch1/main/av_stream -import CameraPlayer from "../components/player"; +import CameraPlayer from "../components/player" export default { name: "BasicCameraPlayer", @@ -26,25 +26,45 @@ } }, mounted() { - this.urlParse(); + this.urlParse() }, methods: { urlParse() { - let url = window.location.search; - let obj = {}; - let reg = /[?&][^?&]+=[^?&]+/g; - let arr = url.match(reg); + let url = window.location.search + let obj = {} + let reg = /[?&][^?&]+=[^?&]+/g + let arr = url.match(reg) if (arr) { arr.forEach((item) => { - let temArr = item.substring(1).split('='); - let key = decodeURIComponent(temArr[0]); - let value = decodeURIComponent(temArr[1]); - obj[key] = value; - }); + let temArr = item.substring(1).split("=") + let key = decodeURIComponent(temArr[0]) + let value = decodeURIComponent(temArr[1]) + obj[key] = value + if (key == "rtspUrl") { + obj[key] = this.rtspParse(value) + } + }) } - this.query = Object.assign({}, this.query, obj); + this.query = Object.assign({}, this.query, obj) console.log("cameraPlayer:", this.query) + }, + // 瀵逛紶鍏ョ殑rtsp瀵嗙爜杩涜urlEncode澶勭悊 + rtspParse(input) { + if (!input.length || input.indexOf("rtsp://") != 0) { + return + } + + let userinfoSplitPos = input.indexOf(":", 7) + let userinfoEndPos = input.lastIndexOf("@") + if (userinfoSplitPos == -1 || userinfoEndPos == -1 || userinfoEndPos < userinfoSplitPos) { + return + } + + let usrPassword = input.slice(userinfoSplitPos + 1, userinfoEndPos) + let encodePassword = encodeURIComponent(usrPassword) + + return input.replace(usrPassword, encodePassword) } } -}; +} </script> -- Gitblit v1.8.0