From e0229562fbfb347f2319512e4267fb1b00c6b1c4 Mon Sep 17 00:00:00 2001 From: lijun <457220798@qq.com> Date: Fri, 25 Aug 2023 18:34:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A1=E5=BA=97=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- h5/src/App.vue | 569 +++++++++++++++++++++++++++---- h5/src/api/index.js | 35 ++ h5/src/components/livePlayer.vue | 41 ++- h5/src/components/shopTour.vue | 100 ++++++ 4 files changed, 652 insertions(+), 93 deletions(-) create mode 100644 h5/src/components/shopTour.vue diff --git a/h5/src/App.vue b/h5/src/App.vue index 69164ba..8659d77 100644 --- a/h5/src/App.vue +++ b/h5/src/App.vue @@ -1,87 +1,506 @@ \ No newline at end of file + + .tour-btns1 { + display: flex; + background: #E6EDFF; + height: 15vw; + line-height: 15vw; + padding: 0 20px; + + .box { + display: inline-block; + flex: 1; + } + + .box1 { + text-align: right; + + span { + margin-left: 20px; + } + + } + + .icon { + transform: rotate(90deg); + } + } + + .iconMargin { + margin-right: 10px; + } + + .itemList { + overflow: auto; + height: 50%; + } + + :deep(.van-cell-group--inset) { + margin: 0; + } + diff --git a/h5/src/api/index.js b/h5/src/api/index.js index ffd5bcb..28d6ec9 100644 --- a/h5/src/api/index.js +++ b/h5/src/api/index.js @@ -10,5 +10,40 @@ const tourApi = { getCapture(params,config) { return req('get', `/patrol/patrolDeviceChannel/capture/${params.id}`, params, config) }, + // 提交巡店记录 + submitPatrolRecord(params,config) { + return req('post', `/patrol/patrolRecord`, params, config) + }, + setBookmark(params,config) { + return req('post', `/patrol/patrolGate/bookmark`, params, config) + }, + delBookmark(params,config) { + return req('post', `/patrol/patrolGate/unbookmark`, params, config) + }, + // 获取监控点 + getPatrolGateList(params,config) { + return req('get', `/patrol/patrolGate/list`, params, config) + }, + uploadScreenshot(params,config){ + return req('post', `/patrol/b-patrol-screenshot`, params, config) + }, + // 巡店模板 + getPatrolTemplateListFun(params,config){ + return req('get', `/patrol/b-patrol-template/list`, params, config) + }, + // 查询单个模板 + getPatrolTemplateOne(params,config){ + return req('get', `/patrol/b-patrol-template/${params.id}`, params, config) + }, + getPatrolSopTypeTree(params,config) { + return req('get', `/patrol/patrolSopType/tree`, params, config) + }, + getUsers(params,config) { + return req('get', `/patrol/s-user/mall/${params.mallId}`) + }, + //提交巡店记录 + confirmPatrolRecord(params,config) { + return req('post', `/patrol/patrolRecord`, params, config) + }, } export default tourApi; \ No newline at end of file diff --git a/h5/src/components/livePlayer.vue b/h5/src/components/livePlayer.vue index 492d162..5f6222d 100644 --- a/h5/src/components/livePlayer.vue +++ b/h5/src/components/livePlayer.vue @@ -16,7 +16,7 @@ import { defineComponent,reactive,toRefs} from 'vue' import { Toast} from 'vant'; import EZUIKit from 'ezuikit-js' -import SLPlayer from '@/static/js/slplayer' +import SLPlayer from '@/static/js/slplayer'; import tourApi from '@/api'; export default defineComponent({ props: { @@ -83,6 +83,7 @@ export default defineComponent({ if (this.platform == 1) { // 清除萤石云视频 if (this.playerEz) { + this.playerEz.stop() let canvasVideo = document.getElementById('my-video') canvasVideo.innerHTML = '' } @@ -103,23 +104,23 @@ export default defineComponent({ this.player.stop(); } if (this.playerEz) { - let canvasVideo = document.getElementById('my-video') - canvasVideo.innerHTML = '' + this.playerEz.stop().then(()=>{ + this.playerEz.play(this.palyUrl); + }); + }else{ + // 开始萤石云视频 + this.playerEz = new EZUIKit.EZUIKitPlayer({ + id: "my-video", // 视频容器ID + accessToken: atoken, + url: this.palyUrl, + template: 'mobileLive', //simple - 极简版;standard-标准版;security - 安防版(预览回放);voice-语音版mobileLive-手机 + autoplay: true, + width: window.innerWidth, + height:window.innerWidth*1080/1920, + }); } - // 开始萤石云视频 - this.playerEz = new EZUIKit.EZUIKitPlayer({ - id: "my-video", // 视频容器ID - accessToken: atoken, - url: this.palyUrl, - template: 'mobileLive', //simple - 极简版;standard-标准版;security - 安防版(预览回放);voice-语音版; - autoplay: true, - //footer: ['hd', 'fullScreen'], - width: window.innerWidth, - height:window.innerWidth*1080/1920, - }); Toast.clear(); } - }, loadTourVideo() { Toast.loading({ @@ -146,9 +147,13 @@ export default defineComponent({ created() { this.loadTourVideo(); }, - destroyed(){ - + if (this.player) { + this.player.stop(); + } + if (this.playerEz) { + this.playerEz.stop() + } }, setup(props, context) { const params = reactive(props.params); @@ -171,7 +176,7 @@ export default defineComponent({ background: #000; } } - :deep(.head-message),:deep(.live-ptz-title){ + :deep(.head-message),:deep(.live-ptz-title),:deep(.mobile-ez-ptz-container){ display: none!important; } :deep(.mobile-ez-ptz-container){ diff --git a/h5/src/components/shopTour.vue b/h5/src/components/shopTour.vue new file mode 100644 index 0000000..85d0ddf --- /dev/null +++ b/h5/src/components/shopTour.vue @@ -0,0 +1,100 @@ + + + + + \ No newline at end of file