From 5f3c13756e109c6d60e450e27961b2688299aaa7 Mon Sep 17 00:00:00 2001 From: jmal Date: Wed, 27 May 2020 14:46:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E4=BA=AB=E7=95=8C=E9=9D=A2=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=EF=BC=9A=20=E5=9B=BE=E7=89=87=E9=A2=84=E8=A7=88?= =?UTF-8?q?=E3=80=81=E9=9F=B3=E4=B9=90=E6=92=AD=E6=94=BE=E3=80=81=E8=A7=86?= =?UTF-8?q?=E5=B1=8F=E6=92=AD=E6=94=BE=E3=80=81=E6=96=87=E6=9C=AC=E9=A2=84?= =?UTF-8?q?=E8=A7=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/file-api.js | 10 +++- src/components/preview/AudioPreview.vue | 6 ++- src/components/preview/ImageViewer.vue | 18 ++++--- src/components/preview/SimTextPreview.vue | 18 +++++-- src/components/preview/VideoPreview.vue | 30 +++++++----- src/views/public/share/shareList.vue | 57 +++++++++++++++++++++-- 6 files changed, 107 insertions(+), 32 deletions(-) diff --git a/src/api/file-api.js b/src/api/file-api.js index b950a3a..e50dc78 100644 --- a/src/api/file-api.js +++ b/src/api/file-api.js @@ -180,7 +180,7 @@ export default { params }) }, - // 访问分享链接里的文件夹 + // 预览文本文件 previewText: function(params) { return request({ url: '/preview/text', @@ -188,4 +188,12 @@ export default { params }) }, + // 访问分享的文本文件 + sharePreviewText: function(params) { + return request({ + url: '/public/s/preview/text', + method: 'get', + params + }) + }, } diff --git a/src/components/preview/AudioPreview.vue b/src/components/preview/AudioPreview.vue index 944b7f3..3bffccb 100644 --- a/src/components/preview/AudioPreview.vue +++ b/src/components/preview/AudioPreview.vue @@ -48,7 +48,11 @@ export default { pic.addEventListener('click', this.onPicClick); Bus.$on('onAddAudio',(newFile,audioCoverUrl) => { this.show = true - let url = process.env.VUE_APP_BASE_FILE_API + 'preview/' + newFile.name + '?jmal-token=' + this.$store.state.user.token + '&fileIds=' + newFile.id + let url = `${process.env.VUE_APP_BASE_FILE_API}preview/${newFile.name}?jmal-token=${this.$store.state.user.token}&fileIds=${newFile.id}` + if(!this.$store.state.user.token){ + url = `${process.env.VUE_APP_BASE_FILE_API}/public/s/preview/${newFile.name}?fileIds=${newFile.id}` + } + // let url = process.env.VUE_APP_BASE_FILE_API + 'preview/' + newFile.name + '?jmal-token=' + this.$store.state.user.token + '&fileIds=' + newFile.id let music = newFile.music let fileName = newFile.name.substring(0,newFile.name.length - newFile.suffix.length-1) let musicOperation = { diff --git a/src/components/preview/ImageViewer.vue b/src/components/preview/ImageViewer.vue index b9db961..53d9d63 100644 --- a/src/components/preview/ImageViewer.vue +++ b/src/components/preview/ImageViewer.vue @@ -31,6 +31,10 @@ return {} } }, + shareId: { + type: String, + default: undefined + }, fileList: { type: Array, default: function () { @@ -54,32 +58,23 @@ options: { initialViewIndex: 3, ready: function (e) { - console.log(e.type); }, show: function (e) { - console.log(e.type); }, shown: function (e) { - console.log(e.type); }, hide: function (e) { - console.log(e.type); }, hidden: function (e) { - console.log(e.type); Bus.$emit('updateImageViewerStatus',false) }, view: function (e) { - console.log(e.type); }, viewed: function (e) { - console.log(e.type); }, zoom: function (e) { - console.log(e.type); }, zoomed: function (e) { - console.log(e.type); } }, } @@ -91,7 +86,10 @@ let viewIndex = 0 this.fileList.forEach(element => { if(!element.isFolder && element.contentType.indexOf('image') > -1){ - const url = process.env.VUE_APP_BASE_FILE_API + 'preview/' + element.name + '?jmal-token=' + this.$store.state.user.token + '&fileIds=' + element.id + let url = `${process.env.VUE_APP_BASE_FILE_API}preview/${element.name}?jmal-token=${this.$store.state.user.token}&fileIds=${element.id}` + if(this.shareId){ + url = `${process.env.VUE_APP_BASE_FILE_API}/public/s/preview/${element.name}?fileIds=${element.id}` + } this.images.push(url) if(this.file.id === element.id){ viewIndex = this.images.length-1 diff --git a/src/components/preview/SimTextPreview.vue b/src/components/preview/SimTextPreview.vue index 1043553..e808c67 100644 --- a/src/components/preview/SimTextPreview.vue +++ b/src/components/preview/SimTextPreview.vue @@ -62,6 +62,10 @@ return {} } }, + shareId: { + type: String, + default: undefined + }, status: { type: Boolean, default: function () { @@ -126,7 +130,7 @@ } }, watch: { //监听file的变化,进行相应的操作即可 - file: function (a) { + file: function (file) { this.editorWidth = document.body.clientWidth * this.dialogWidth this.editorHieght = document.body.clientHeight * this.dialogWidth - 50 @@ -137,7 +141,7 @@ dangerouslyUseHTMLString: true, message: '  正在加载数据...' }) - let suffix = a.suffix + let suffix = file.suffix let languages = monaco.languages.getLanguages(); const languagesIndex = languages.findIndex(item => item.extensions && item.extensions.includes('.'+suffix)) @@ -152,8 +156,14 @@ }else{ this.options.wordWrap = '' } - api.previewText({ - id: a.id, + let request = 'previewText' + if(this.shareId){ + request = 'sharePreviewText' + } + api[request]({ + shareId: this.shareId, + fileId: file.id, + id: file.id, username: this.$store.state.user.name }).then((res)=>{ this.loading.close() diff --git a/src/components/preview/VideoPreview.vue b/src/components/preview/VideoPreview.vue index 6a86ad5..01ada5b 100644 --- a/src/components/preview/VideoPreview.vue +++ b/src/components/preview/VideoPreview.vue @@ -6,7 +6,7 @@ + :options="playerOptions">
@@ -32,6 +32,10 @@ export default { return {} } }, + shareId: { + type: String, + default: undefined + }, status: { type: Boolean, default: false @@ -43,15 +47,15 @@ export default { return { playerOptions: { //播放速度 - playbackRates: [0.5, 1.0, 1.5, 2.0], + playbackRates: [0.5, 1.0, 1.5, 2.0], //如果true,浏览器准备好时开始回放。 - autoplay: true, + autoplay: true, // 默认情况下将会消除任何音频。 - muted: false, + muted: false, // 导致视频一结束就重新开始。 - loop: false, + loop: false, // 建议浏览器在