From be80b22a4a0fcd33e1b17ebdb86eba91cc7de4d2 Mon Sep 17 00:00:00 2001 From: peng <peng.com> Date: 星期三, 02 七月 2025 18:59:06 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev --- pages/video/video-play.vue | 109 +++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 79 insertions(+), 30 deletions(-) diff --git a/pages/video/video-play.vue b/pages/video/video-play.vue index 157db00..cb2bb48 100644 --- a/pages/video/video-play.vue +++ b/pages/video/video-play.vue @@ -127,31 +127,35 @@ </view> </view> - <!-- 鍙充晶浜掑姩鎸夐挳 --> - <view class="action-buttons"> - <view class="avatar-container"> - <image class="avatar" @click="jumpToHomePage(item.authorId)" :src="item.authorAvatar" mode="aspectFill"></image> - <!-- 鍏虫敞鍥炬爣 - 浣跨敤缁濆瀹氫綅 --> - <view v-if="!item.subscribeThisAuthor" class="follow-icon" @click="subscribeAuth(index, item.authorId)"> - <text class="iconfont"></text> - </view> - </view> - <view class="action-item" @click="toggleCollect(item, index)"> - <text class="iconfont" v-if="item.collected"></text> - <text class="iconfont" v-else></text> - <text style="font-size: 10px;font-weight: lighter;">{{item.collectNum}}</text> - </view> - <view class="action-item" @click="showComments(item)"> - <text class="iconfont"></text> - <text style="font-size: 10px;font-weight: lighter;">{{item.commentNum}}</text> - </view> - <view class="action-item"> - <button open-type="share" class="custom-share-btn" :data-obj="item"> - <text class="iconfont"></text> - </button> - - </view> - </view> + <!-- 鍙充晶浜掑姩鎸夐挳 --> + <view class="action-buttons"> + <view class="avatar-container"> + <image class="avatar" @click="jumpToHomePage(item.authorId)" :src="item.authorAvatar" mode="aspectFill"></image> + <!-- 鍏虫敞鍥炬爣 - 浣跨敤缁濆瀹氫綅 --> + <view v-if="!item.subscribeThisAuthor" class="follow-icon" @click="subscribeAuth(index, item.authorId)"> + <text class="iconfont"></text> + </view> + </view> + <view class="action-item" @click="toggleThumbsUp(item, index)"> + <text class="iconfont" v-if="item.thumbsUp"></text> + <text class="iconfont" v-else></text> + <text style="font-size: 10px;font-weight: lighter;">{{item.thumbsUpNum}}</text> + </view> + <view class="action-item" @click="showComments(item)"> + <text class="iconfont"></text> + <text style="font-size: 10px;font-weight: lighter;">{{item.commentNum}}</text> + </view> + <view class="action-item" @click="toggleCollect(item, index)"> + <text class="iconfont" v-if="item.collected"></text> + <text class="iconfont" v-else></text> + <text style="font-size: 10px;font-weight: lighter;">{{item.collectNum}}</text> + </view> + <view class="action-item"> + <button open-type="share" class="custom-share-btn" :data-obj="item"> + <text class="iconfont"></text> + </button> + </view> + </view> </swiper-item> </swiper> @@ -239,7 +243,16 @@ </template> <script> -import { getRecommendVideos, savePlayRecord, subscribe, getVideoComments, addVideoComment, thubmsUpComment, cancelThubmsUpComment } from "@/api/video.js"; +import { + getRecommendVideos, + savePlayRecord, + subscribe, + getVideoComments, + addVideoComment, + thubmsUpComment, + cancelThubmsUpComment, + changeThumbsUp, +} from "@/api/video.js"; import { changeCollect } from "@/api/collect.js"; import { saveShare } from "@/api/share.js"; import storage from "@/utils/storage.js"; @@ -318,7 +331,8 @@ pageNumber: 1, pageSize: 10, authorId: '', - videoFrom: '' + videoFrom: '', + keyword: '' }, marginBottom: 0, // 搴曢儴瀹夊叏鍖哄煙 windowHeight: 0 // 鍙娇鐢ㄥ睆骞曢珮搴� @@ -337,6 +351,7 @@ }, onUnload() { uni.removeStorageSync("playInfo"); + uni.removeStorageSync("searchPlayInfo"); }, onReady() { @@ -344,11 +359,11 @@ onLoad(option) { this.marginBottom = uni.getSystemInfoSync().safeAreaInsets.bottom this.windowHeight = uni.getSystemInfoSync().windowHeight - const playInfo = uni.getStorageSync("playInfo", playInfo); + const playInfo = uni.getStorageSync("playInfo"); + const searchPlayInfo = uni.getStorageSync("searchPlayInfo"); if(playInfo) { this.currentIndex = playInfo.playIndex; this.videoList = playInfo.videoList; - console.log("鎷垮埌鏁版嵁浜�",playInfo); this.videoQuery.pageNumber = playInfo.pageNumber; this.videoNoMore = playInfo.nomore; this.videoQuery.authorId = option.authorId; @@ -357,6 +372,18 @@ this.$nextTick(() => { const videoContext = uni.createVideoContext(`video${this.currentIndex}`, this); videoContext.play() + }) + } else if (searchPlayInfo) { // 鎼滅储椤佃烦杞繃鏉ョ殑鏁版嵁鐣ユ湁涓嶅悓 + this.currentIndex = searchPlayInfo.playIndex; + this.videoList = searchPlayInfo.videoList; + this.videoQuery.pageNumber = searchPlayInfo.pageNumber; + this.videoNoMore = searchPlayInfo.nomore; + this.videoQuery.keyword = searchPlayInfo.keyword; + this.videoQuery.videoFrom = option.videoFrom; + this.currentVideoIsPlaying = true; + this.$nextTick(() => { + const videoContext = uni.createVideoContext(`video${this.currentIndex}`, this); + videoContext.play() }) } else { this.videoQuery.videoFrom = 'recommend'; @@ -827,6 +854,28 @@ } }) }, + // 鐐硅禐/鍙栨秷鐐硅禐 + toggleThumbsUp(item, index) { + let data = { + refId: item.id, + thumbsUpType: 'video' + } + const beforeThumbsUp = item.thumbsUp + const beforeThumbsUpNum = item.thumbsUpNum + if(item.thumbsUp) { + this.videoList[index].thumbsUp = false + this.videoList[index].thumbsUpNum -= 1 + } else { + this.videoList[index].thumbsUp = true + this.videoList[index].thumbsUpNum += 1 + } + changeThumbsUp(data).then(res => { + if(res.data.code !== 200) { + this.videoList[index].thumbsUp = beforeThumbsUp + this.videoList[index].thumbsUpNum = beforeThumbsUpNum + } + }) + }, // 鍗曞嚮灞忓箷锛氭殏鍋滄垨缁х画鎾斁 togglePlay(index) { console.log("鍗曞嚮瑙嗛", index); @@ -1327,7 +1376,7 @@ .progress-text { margin-top: 10px; font-size: 14px; - color: #666; + color: #fff; } .swiper-box { width: 100%; -- Gitblit v1.8.0