From 6a20878b9b1e3460531b055d72d5d671f761abc3 Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期四, 16 十月 2025 15:36:20 +0800
Subject: [PATCH] 定制商品
---
pages/video/home-page.vue | 56 +++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 47 insertions(+), 9 deletions(-)
diff --git a/pages/video/home-page.vue b/pages/video/home-page.vue
index 4188a83..5580ded 100644
--- a/pages/video/home-page.vue
+++ b/pages/video/home-page.vue
@@ -50,7 +50,7 @@
>
浣滃搧{{`(${videoTotal})`}}
</view>
- <view
+ <view
class="tab-item"
:class="{active: currentTab === 'collect'}"
@click="switchTab('collect')"
@@ -65,7 +65,9 @@
鍠滄
</view>
</view>
-
+
+
+
<!-- 瑙嗛鍒楄〃 -->
<scroll-view class="video-list" scroll-y :show-scrollbar="false" @scrolltolower="getPage" v-show="currentTab === 'works' && videoList.length > 0">
<view class="video-container">
@@ -74,7 +76,16 @@
v-for="(item, index) in videoList"
:key="item.id"
>
- <image class="video-cover" @click="playAuthorVideo(index)" :src="item.videoContentType === 'video' ? item.coverUrl : item.imgs[0]" mode="aspectFill"></image>
+ <image v-if="item.videoContentType === 'img'" class="video-cover" @click="playAuthorVideo(index)" :src="item.imgs[0]" mode="aspectFill"></image>
+ <!-- <image class="video-cover" @click="playAuthorVideo(index)" :src="item.videoContentType === 'video' ? item.coverUrl : item.imgs[0]" mode="aspectFill"></image> -->
+ <video v-else :src="item.videoUrl"
+ :poster-for-crawler='item.coverUrl'
+ object-fit='"cover"'
+ :show-fullscreen-btn='false'
+ :show-play-btn='false'
+ :show-center-play-btn='false'
+ :enable-progress-gesture='false'
+ class="video-cover" @click="playAuthorVideo(index)"></video>
<view class="video-info">
<view class="video-stats">
<view class="stat">
@@ -95,7 +106,10 @@
</view>
</view>
</scroll-view>
- <scroll-view class="video-list" scroll-y :show-scrollbar="false" @scrolltolower="getPage" v-show="currentTab === 'collect' && collectVideoList.length > 0">
+ <view>
+ <mycollect v-show ="currentTab ==='collect'"></mycollect>
+ </view>
+ <!-- <scroll-view class="video-list" scroll-y :show-scrollbar="false" @scrolltolower="getPage" v-show="currentTab === 'collect' && collectVideoList.length > 0">
<view class="video-container">
<view
class="video-item"
@@ -103,7 +117,16 @@
:key="item.id"
@click="playCollectVideo(index)"
>
- <image class="video-cover" :src="item.videoContentType === 'video' ? item.coverUrl : item.imgs[0]" mode="aspectFill"></image>
+ <image v-if="tem.videoContentType === 'img'" class="video-cover" :src="item.imgs[0]" mode="aspectFill"></image>
+ <video v-else class="video-cover"
+ :src="item.videoUrl"
+ initial-time='0.01'
+ muted
+ :controls="false"
+ :show-center-play-btn="false"
+ object-fit="cover"></video>
+
+
<view class="video-info">
<view class="video-stats">
<view class="stat">
@@ -114,7 +137,7 @@
</view>
</view>
</view>
- </scroll-view>
+ </scroll-view> -->
<scroll-view class="video-list" scroll-y :show-scrollbar="false" @scrolltolower="getPage" v-show="currentTab === 'likes' && likeVideoList.length > 0">
<view class="video-container">
<view
@@ -123,7 +146,13 @@
:key="item.id"
@click="playLikeVideo(index)"
>
- <image class="video-cover" :src="item.videoContentType === 'video' ? item.coverUrl : item.imgs[0]" mode="aspectFill"></image>
+ <video class="video-cover"
+ :src="item.videoContentType === 'video' ? item.videoUrl : item.imgs[0]" mode="aspectFill"
+ initial-time='0.01'
+ muted
+ :controls="false"
+ :show-center-play-btn="false"
+ object-fit="cover"></video>
<view class="video-info">
<view class="video-stats">
<view class="stat">
@@ -167,12 +196,14 @@
</template>
<script>
-import DropdownMenu from '@/components/dropdown-menu.vue'
+import DropdownMenu from '@/pages/video/dropdown-menu.vue'
import {getAuthorInfo, getAuthorVideoPage, getAuthorCollectVideoPage, getAuthorLikeVideoPage} from '@/api/user.js'
import {subscribe, unSubscribe, delVideo, updateVideo, userDownVideo} from '@/api/video.js'
+import mycollect from '@/pages/video/myCollect.vue'
export default {
- components: {DropdownMenu},
+ components: {DropdownMenu,
+ mycollect},
data() {
return {
options: [
@@ -246,6 +277,13 @@
this.getAuthorVideoPage();
},
methods: {
+ getCoverUrl(item) {
+ if (item.videoContentType === 'video') {
+ // OSS瑙嗛灏侀潰鍙傛暟锛堝畬鏁存牸寮忥級
+ return `${item.videoUrl}?x-oss-process=video/snapshot,t_1000,f_jpg,m_fast`
+ }
+ return item.imgs?.[0]
+ },
dialogClose() {
this.opVideo = {
id: '',
--
Gitblit v1.8.0