媒体库增加视频预览

This commit is contained in:
jacky 2024-05-07 11:00:05 +08:00
parent 3cae4972ba
commit 73e405ed34
2 changed files with 13 additions and 7 deletions

View File

@ -729,8 +729,7 @@ li {
} }
.gva-media-box .el-icon { .gva-media-box .el-icon {
color: var(--el-text-color-secondary); color: var(--el-text-color-placeholder);
font-size: 30px;
} }
.avatar-uploader .avatar { .avatar-uploader .avatar {

View File

@ -23,12 +23,12 @@
style="width: 120px; height: 100px;" /> style="width: 120px; height: 100px;" />
<div v-else-if="isVideo(scope.row.tag)" class="gva-media-box" style="width: 120px; height: 100px;" <div v-else-if="isVideo(scope.row.tag)" class="gva-media-box" style="width: 120px; height: 100px;"
@click="clickPreviewVideo(scope.row.url)"> @click="clickPreviewVideo(scope.row.url)">
<el-icon> <el-icon :size="25">
<VideoPlay /> <VideoPlay />
</el-icon> </el-icon>
</div> </div>
<div v-else class="gva-media-box" style="width: 120px; height: 80px;"> <div v-else class="gva-media-box" style="width: 120px; height: 80px;">
<el-icon> <el-icon :size="25">
<Document /> <Document />
</el-icon> </el-icon>
</div> </div>
@ -73,11 +73,14 @@
@current-change="handleCurrentChange" @size-change="handleSizeChange" /> @current-change="handleCurrentChange" @size-change="handleSizeChange" />
</div> </div>
</div> </div>
<el-dialog v-model="videoPreviewDialog" align-center>
<video :src="videoPreviewUrl" controls="controls" style="width: 100%; height: 100%" />
</el-dialog>
</div> </div>
</template> </template>
<script setup> <script setup>
import { getUrl } from '@/utils/image' import { getUrl, isVideoExt } from '@/utils/image'
import { getFileList, deleteFile, editFileName } from '@/api/mediaFile' import { getFileList, deleteFile, editFileName } from '@/api/mediaFile'
import { downloadImage } from '@/utils/downloadImg' import { downloadImage } from '@/utils/downloadImg'
import UploadImage from '@/components/upload/image.vue' import UploadImage from '@/components/upload/image.vue'
@ -88,7 +91,7 @@ import { ref } from 'vue'
import { ElMessage, ElMessageBox } from 'element-plus' import { ElMessage, ElMessageBox } from 'element-plus'
defineOptions({ defineOptions({
name: 'Upload', name: 'MediaFile',
}) })
const mediaFileCategoryOpts = ref([]) const mediaFileCategoryOpts = ref([])
@ -225,8 +228,12 @@ const editFileNameFunc = async (row) => {
}) })
} }
const clickPreviewVideo = () => { const videoPreviewDialog = ref(null)
const videoPreviewUrl = ref('')
const clickPreviewVideo = (url) => {
console.log('clickPreviewVideo') console.log('clickPreviewVideo')
videoPreviewDialog.value = true
videoPreviewUrl.value = url
} }
</script> </script>