diff --git a/package.json b/package.json index e8498c2..97dbd97 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,9 @@ "scriptjs": "^2.5.9", "sortablejs": "^1.10.2", "spark-md5": "^3.0.0", + "v-viewer": "^1.5.1", "vant": "^2.5.0", + "viewerjs": "^1.5.0", "vonic": "^1.1.3", "vue": "2.6.10", "vue-codemirror-lite": "^1.0.4", diff --git a/src/components/ShowFile/ShowFile.vue b/src/components/ShowFile/ShowFile.vue index a948b3e..ece7f30 100644 --- a/src/components/ShowFile/ShowFile.vue +++ b/src/components/ShowFile/ShowFile.vue @@ -329,6 +329,7 @@ @current-change="currentChange"> + @@ -348,12 +349,13 @@ import BreadcrumbFilePath from "@/components/Breadcrumb/BreadcrumbFilePath"; import IconFile from "@/components/Icon/IconFile"; import EmptyFile from "@/components/EmptyFile"; - import SimTextPreview from "@/components/SimTextPreview/SimTextPreview"; import Clipboard from 'clipboard'; + import SimTextPreview from "@/components/preview/SimTextPreview"; + import ImageViewer from "@/components/preview/ImageViewer"; export default { name: 'ShowFile', - components: {SimTextPreview, IconFile, BreadcrumbFilePath,EmptyFile}, + components: {ImageViewer, SimTextPreview, IconFile, BreadcrumbFilePath, EmptyFile}, props: { emptyStatus: { 'type': String, @@ -535,6 +537,8 @@ generateShareLinkLoading: true, textPreviewVisible : false, textPreviewRow: {}, + imagePreviewRow: {}, + imageViewerVisible : false, } }, computed: { @@ -1891,7 +1895,14 @@ // this.getFileList() } } else { + if(row.contentType.indexOf('image') > -1){ + // 图片 + this.imageViewerVisible = true + this.imagePreviewRow = row + return + } if(suffix.simText.includes(row.suffix)){ + // 文本文件 this.textPreviewRow = row this.textPreviewVisible = true return diff --git a/src/components/preview/ImageViewer.vue b/src/components/preview/ImageViewer.vue new file mode 100644 index 0000000..dd3c594 --- /dev/null +++ b/src/components/preview/ImageViewer.vue @@ -0,0 +1,132 @@ + + + + diff --git a/src/components/SimTextPreview/SimTextPreview.vue b/src/components/preview/SimTextPreview.vue similarity index 100% rename from src/components/SimTextPreview/SimTextPreview.vue rename to src/components/preview/SimTextPreview.vue diff --git a/src/main.js b/src/main.js index d7add96..94a3116 100644 --- a/src/main.js +++ b/src/main.js @@ -25,7 +25,8 @@ import '@/icons' // icon import '@/permission' // permission control import VueTouch from"vue-touch"; - +import Viewer from 'v-viewer' +Vue.use(Viewer) Vue.use(VueTouch, {name:'v-touch'}) /** diff --git a/src/views/demo/index.vue b/src/views/demo/index.vue index dc25144..c7afb70 100644 --- a/src/views/demo/index.vue +++ b/src/views/demo/index.vue @@ -1,29 +1,78 @@ - + \ No newline at end of file