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