From c032832ea7c886c48ace0a3718e71d3dc99056df Mon Sep 17 00:00:00 2001 From: JiangQiming <291854119@qq.com> Date: Mon, 6 Mar 2023 17:34:33 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=A7=86=E9=A2=91=E4=B8=AD=E5=BF=83-?= =?UTF-8?q?=E5=9B=9E=E6=94=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/RadioCard/index.vue | 3 +- src/views/media/Device/Playback/iconNode.vue | 10 +- src/views/media/Device/Playback/index.vue | 160 ++++++++++++++++++- src/views/media/Device/Playback/timeLine.vue | 2 + 4 files changed, 166 insertions(+), 9 deletions(-) diff --git a/src/components/RadioCard/index.vue b/src/components/RadioCard/index.vue index 676cc94e..eb07f433 100644 --- a/src/components/RadioCard/index.vue +++ b/src/components/RadioCard/index.vue @@ -26,7 +26,7 @@
(); // type 为local时有效,0:未下载; 1:下载中:2:已下载 -// const status = ref(props.item?.isServer ? 2 : 0); -const status = computed({ - get: () => (props.item?.isServer ? 2 : 0), - set: (val: number) => {}, -}); +const status = ref(props.item?.isServer ? 2 : 0); +// const status = computed({ +// get: () => (props.item?.isServer ? 2 : 0), +// set: (val: number) => {}, +// }); const getLocalIcon = (s: number) => { if (s === 0) { diff --git a/src/views/media/Device/Playback/index.vue b/src/views/media/Device/Playback/index.vue index 321a7127..cc225d39 100644 --- a/src/views/media/Device/Playback/index.vue +++ b/src/views/media/Device/Playback/index.vue @@ -3,7 +3,12 @@
- +
- - + + +
类型:
+ +
+ +
+
+ + + +
+
+
@@ -34,6 +150,7 @@ import TimeLine from './timeLine.vue'; import IconNode from './iconNode.vue'; import type { recordsItemType } from './typings'; import LivePlayer from '@/components/Player/index.vue'; +import { getImage } from '@/utils/comm'; const route = useRoute(); @@ -196,6 +313,43 @@ const handleTimeLineChange = (times: any) => { url.value = ''; } }; + +watch( + () => type.value, + (val: string) => { + if (val === 'cloud') { + queryServiceRecords(time.value!); + } else { + queryLocalRecords(time.value!); + } + }, +); + +const handlePanelChange = (date: any) => { + // time.value = date; + if (type.value === 'cloud') { + queryServiceRecords(date); + } else { + queryLocalRecords(date); + } +}; + +// 播放暂停 +const handlePlay = (_startTime: any) => { + if (playStatus.value === 0 || _startTime !== playNowTime.value) { + if (playTimeNode.value) { + playTimeNode.value.playByStartTime(_startTime); + } + } else if (playStatus.value == 1 && _startTime === playNowTime.value) { + if (player.value.getVueInstance) { + // player.value.getVueInstance().pause(); + } + } else if (playStatus.value == 2 && _startTime === playNowTime.value) { + if (player.value.getVueInstance) { + // player.value.getVueInstance().play(); + } + } +};