Fix:4339 【旅居商城小程序】上传的视频没有显示封面,改为显示第一帧

This commit is contained in:
linxi
2025-11-04 12:59:37 +08:00
parent 514a648b30
commit 9e3c52f9c9
+54
View File
@@ -84,6 +84,7 @@
</view>
<view class="input">
<u-upload
v-if="videos.length === 0"
accept="video"
multiple
:max-count="1"
@@ -93,9 +94,26 @@
:maxCount="1"
count="9"
name="bannerImg"
:previewFullImage="true"
@afterRead="afterRead($event, 'videos', 'video')"
@delete="deletePic($event, 'videos')"
></u-upload>
<view v-else class="video-wrapper">
<video
:src="videos[0].url"
:poster="videos[0].url + '?vframe/jpg/offset/1'"
:controls="false"
play-btn-position="center"
class="video-item"
/>
<view
v-if="form.isDraft === 1 || (form.reviewStatus !== 0 && form.reviewStatus !== 1)"
class="delete-badge"
@click.stop="deleteVideo(0)"
>
x
</view>
</view>
</view>
</view>
<view class="form-item v12-mt-2 v12-d-flex v12-justify-start v12-align-center">
@@ -708,6 +726,22 @@ export default {
})
}
},
/**
* 删除视频(右上角角标)
* @param {number} index - 视频索引
*/
deleteVideo(index) {
if(this.form.isDraft === 0 && (this.form.reviewStatus === 0 || this.form.reviewStatus === 1)) return
uni.showModal({
title: '确认删除',
content: '确定删除该视频?',
success: (res) => {
if (res.confirm) {
this.deletePic({ index }, 'videos')
}
}
})
},
/**
* 删除图片或视频
* @param {object} e - 事件对象
@@ -754,6 +788,26 @@ export default {
.title{
white-space: nowrap;
}
.video-item{
width: 160rpx;
height: 160rpx;
}
.video-wrapper{
position: relative;
display: inline-block;
}
.delete-badge{
position: absolute;
top: 0rpx;
right: 0rpx;
background: #000;
color: #fff;
padding: 2rpx 8rpx;
border-radius: 0 0 0rpx 200rpx;
font-size: 22rpx;
z-index: 10;
text-align: center;
}
</style>
<style>
.input .u-textarea{