From ec3ec3525a996cbe98e720febb3a168fb36ac9a9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=86=8A=E4=B8=BD=E5=90=9B?= <664953382@qq.com>
Date: Tue, 28 Dec 2021 18:11:34 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AE=89=E5=85=A8=E7=AE=A1=E7=90=86=E8=A7=86?=
=?UTF-8?q?=E9=A2=91=E5=A4=84=E7=90=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/main.js | 4 +-
src/utils/eventBus.js | 18 ++++
src/views/bigScreen/securityManage/center.vue | 14 ++-
src/views/bigScreen/securityManage/left1.vue | 88 +++++++++++++------
4 files changed, 94 insertions(+), 30 deletions(-)
create mode 100644 src/utils/eventBus.js
diff --git a/src/main.js b/src/main.js
index 25b52cb..5d8c5c3 100644
--- a/src/main.js
+++ b/src/main.js
@@ -36,8 +36,9 @@ import DictTag from '@/components/DictTag'
import VueMeta from 'vue-meta'
// 字典数据组件
import DictData from '@/components/DictData'
-
+import Bus from '@/utils/eventBus'
// 全局方法挂载
+
Vue.prototype.getDicts = getDicts
Vue.prototype.getConfigKey = getConfigKey
Vue.prototype.parseTime = parseTime
@@ -65,6 +66,7 @@ Vue.component('Editor', Editor)
Vue.component('FileUpload', FileUpload)
Vue.component('ImageUpload', ImageUpload)
+Vue.use(Bus);
Vue.use(directive)
Vue.use(plugins)
Vue.use(VueMeta)
diff --git a/src/utils/eventBus.js b/src/utils/eventBus.js
new file mode 100644
index 0000000..17b75f3
--- /dev/null
+++ b/src/utils/eventBus.js
@@ -0,0 +1,18 @@
+// units/bus.js
+const install = Vue => {
+ const Bus = new Vue({
+ methods: {
+ on(event, ...args) {
+ this.$on(event, ...args);
+ },
+ emit(event, callback) {
+ this.$emit(event, callback);
+ },
+ off(event, callback) {
+ this.$off(event, callback);
+ }
+ }
+ });
+ Vue.prototype.$bus = Bus;
+};
+export default install;
\ No newline at end of file
diff --git a/src/views/bigScreen/securityManage/center.vue b/src/views/bigScreen/securityManage/center.vue
index 91bc0e6..347f07b 100644
--- a/src/views/bigScreen/securityManage/center.vue
+++ b/src/views/bigScreen/securityManage/center.vue
@@ -9,21 +9,21 @@
一级:{{v.pointName}}
-

+ 
二级:{{v.pointName}}
-
+
三级:{{v.pointName}}
-
+
-
- 视频监控 /
- 奖惩播放 /
- 典型案例播放
+ 视频监控 /
+ 奖惩播放 /
+ 典型案例播放
危险点视频覆盖率
@@ -93,14 +93,12 @@ export default {
listData: [1, 2, 3, 4,5,6,7,8],
rate: 0,
points: [],
+ videoIndex: 0,
flvPlayer: null,
+ videoUrl: ''
}
},
mounted () {
- let videoElement = document.getElementById('videoElement')
- this.flvPlayer.attachMediaElement(videoElement)
- this.flvPlayer.load()
- this.flvPlayer.play()
this.$nextTick(() => {
this.getData()
// this.initChart()
@@ -115,6 +113,53 @@ export default {
this.flvPlayer.player = null
},
methods: {
+ handleVideoType(val){
+ this.videoIndex = val
+ if(val==0){
+ this.videoUrl=''
+ }else if(val==1){
+ this.request({
+ url: '/hx/securityManagement/getVideoByType',
+ params:{
+ type:'1'
+ }
+ }).then(res=>{
+ this.videoUrl = res.msg
+ })
+ }else{
+ this.request({
+ url: '/hx/securityManagement/getVideoByType',
+ params:{
+ type:'2'
+ }
+ }).then(res=>{
+ this.videoUrl = res.msg
+ })
+ }
+ },
+ setVideoUrl(videoUrl){
+ if (flvjs.isSupported()) {
+ this.flvPlayer = flvjs.createPlayer(
+ {
+ type: 'flv', // 媒体类型 flv 或 mp4
+ isLive: true, // 是否为直播流
+ fluid: true,
+ // hasAudio: true, // 是否开启声音
+ stashInitialSize: 128, // 减少首桢显示等待时长
+ url: videoUrl,
+ },
+ {
+ enableStashBuffer: false,
+ fixAudioTimestampGap: false,
+ isLive: true,
+ }
+ )
+ }
+ let videoElement = document.getElementById('videoElement')
+ this.flvPlayer.attachMediaElement(videoElement)
+ this.flvPlayer.load()
+ this.flvPlayer.play()
+ },
getData () {
this.request({
url: '/hx/securityManagement/dangerousMap',
@@ -125,6 +170,10 @@ export default {
this.rate = res.data.rate;
this.listData = Array(this.points.length*2).fill(0);
this.$refs.seamlessScroll.reset();
+ if(this.points.length){
+ // this.setVideoUrl(this.rate[0].rtmpAddress)
+ this.setVideoUrl('http://192.168.0.151:81/stream/live/classic_cases_video.flv')
+ }
}
})
},
@@ -301,23 +350,12 @@ export default {
},
},
created () {
- if (flvjs.isSupported()) {
- this.flvPlayer = flvjs.createPlayer(
- {
- type: 'flv', // 媒体类型 flv 或 mp4
- isLive: true, // 是否为直播流
- fluid: true,
- // hasAudio: true, // 是否开启声音
- stashInitialSize: 128, // 减少首桢显示等待时长
- url: 'http://192.168.0.151:81/stream/live/livestream.flv',
- },
- {
- enableStashBuffer: false,
- fixAudioTimestampGap: false,
- isLive: true,
- }
- )
- }
+ this.$bus.on("getTarget", res => {
+ console.log(this.videoIndex);
+ this.videoIndex = 0
+ this.setVideoUrl(res.rtmpAddress)
+ console.log(this.videoIndex);
+ });
},
}