diff --git a/package.json b/package.json index 97dbd97..8299b0f 100644 --- a/package.json +++ b/package.json @@ -45,6 +45,7 @@ "vue-router": "3.0.6", "vue-simple-uploader": "^0.7.4", "vue-touch": "^2.0.0-beta.4", + "vue-video-player": "^5.0.2", "vue-wechat-title": "^2.0.5", "vuedraggable": "^2.23.2", "vuex": "3.1.0", diff --git a/src/components/ShowFile/ShowFile.vue b/src/components/ShowFile/ShowFile.vue index ece7f30..f764fc0 100644 --- a/src/components/ShowFile/ShowFile.vue +++ b/src/components/ShowFile/ShowFile.vue @@ -329,7 +329,8 @@ @current-change="currentChange"> - + + @@ -352,10 +353,11 @@ import Clipboard from 'clipboard'; import SimTextPreview from "@/components/preview/SimTextPreview"; import ImageViewer from "@/components/preview/ImageViewer"; + import VideoPreview from "@/components/preview/VideoPreview"; export default { name: 'ShowFile', - components: {ImageViewer, SimTextPreview, IconFile, BreadcrumbFilePath, EmptyFile}, + components: {VideoPreview, ImageViewer, SimTextPreview, IconFile, BreadcrumbFilePath, EmptyFile}, props: { emptyStatus: { 'type': String, @@ -538,7 +540,9 @@ textPreviewVisible : false, textPreviewRow: {}, imagePreviewRow: {}, - imageViewerVisible : false, + imagePreviewVisible : false, + videoPreviewRow: {}, + videoPreviewVisible: false, } }, computed: { @@ -1897,7 +1901,7 @@ } else { if(row.contentType.indexOf('image') > -1){ // 图片 - this.imageViewerVisible = true + this.imagePreviewVisible = true this.imagePreviewRow = row return } @@ -1907,6 +1911,12 @@ this.textPreviewVisible = true return } + if(row.contentType.indexOf('video') > -1){ + // 视屏 + this.videoPreviewVisible = true + this.videoPreviewRow = row + return + } if(row.contentType.includes('text')){ // let routeData = this.$router.resolve({path: '/public/articles/article',query: {mark: row.id}}) // window.open(routeData.href, '_blank'); diff --git a/src/components/preview/ImageViewer.vue b/src/components/preview/ImageViewer.vue index dd3c594..e780a45 100644 --- a/src/components/preview/ImageViewer.vue +++ b/src/components/preview/ImageViewer.vue @@ -127,6 +127,8 @@ } - diff --git a/src/components/preview/VideoPreview.vue b/src/components/preview/VideoPreview.vue new file mode 100644 index 0000000..6a86ad5 --- /dev/null +++ b/src/components/preview/VideoPreview.vue @@ -0,0 +1,130 @@ + + + + + \ No newline at end of file diff --git a/src/main.js b/src/main.js index 94a3116..b8d1fda 100644 --- a/src/main.js +++ b/src/main.js @@ -26,6 +26,8 @@ import '@/permission' // permission control import VueTouch from"vue-touch"; import Viewer from 'v-viewer' +// import VideoPlayer from 'vue-video-player' +// Vue.use(VideoPlayer) Vue.use(Viewer) Vue.use(VueTouch, {name:'v-touch'})