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 @@
-
+
-
-
+
+
+ 云端:存储在服务器中
+ 本地:存储在设备本地
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{
+ moment(
+ item.startTime ||
+ item.mediaStartTime,
+ ).format('HH:mm:ss')
+ }}
+ ~
+ {{
+ moment(
+ item.endTime ||
+ item.mediaEndTime,
+ ).format('HH:mm:ss')
+ }}
+
+
+
+
+
+
@@ -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();
+ }
+ }
+};