commit
495f68f004
@ -4342,7 +4342,7 @@ export default {
|
||||
this.$emit('selectedFile', selectFile)
|
||||
return
|
||||
}
|
||||
const fileHandler = this.hasIframePreview(row.suffix, this.$store.getters.iframePreviewConfig)
|
||||
const fileHandler = fileConfig.hasIframePreview(row.suffix, this.$store.getters.iframePreviewConfig)
|
||||
if (fileHandler !== null) {
|
||||
// iframe 预览
|
||||
this.iframePreviewVisible = true
|
||||
@ -4425,18 +4425,6 @@ export default {
|
||||
}
|
||||
return this.notPreviewDialogVisible;
|
||||
},
|
||||
hasIframePreview(suffix, fileHandlers) {
|
||||
// 将 suffix 转换为小写
|
||||
const lowerCaseSuffix = suffix.toLowerCase();
|
||||
for (let key in fileHandlers) {
|
||||
// 将 key 中的扩展名全部转换为小写
|
||||
const extensions = key.split(',').map(extension => extension.toLowerCase());
|
||||
if (extensions.includes(lowerCaseSuffix)) {
|
||||
return fileHandlers[key];
|
||||
}
|
||||
}
|
||||
return null;
|
||||
},
|
||||
determineDownload(file) {
|
||||
this.download(file)
|
||||
this.notPreviewDialogVisible = false
|
||||
|
||||
@ -117,4 +117,22 @@ export default {
|
||||
const queryShareToken = shareToken ? `?share-token=${shareToken}` : ''
|
||||
return window.location.origin + `${this.baseUrl}/public/s/${fileId}/packageDownload/${downloadName}${queryShareToken}`
|
||||
},
|
||||
/**
|
||||
* 判断是否有iframe预览
|
||||
* @param suffix 文件后缀
|
||||
* @param fileHandlers 文件处理器
|
||||
* @returns {*|null} 文件处理器
|
||||
*/
|
||||
hasIframePreview: function(suffix, fileHandlers) {
|
||||
// 将 suffix 转换为小写
|
||||
const lowerCaseSuffix = suffix.toLowerCase();
|
||||
for (let key in fileHandlers) {
|
||||
// 将 key 中的扩展名全部转换为小写
|
||||
const extensions = key.split(',').map(extension => extension.toLowerCase());
|
||||
if (extensions.includes(lowerCaseSuffix)) {
|
||||
return fileHandlers[key];
|
||||
}
|
||||
}
|
||||
return null;
|
||||
},
|
||||
}
|
||||
|
||||
@ -263,7 +263,13 @@
|
||||
<image-viewer :fileList="fileList" :shareId="shareId" :file="imagePreviewRow"
|
||||
:status.sync="imagePreviewVisible"></image-viewer>
|
||||
<video-preview :file="videoPreviewRow" :shareId="shareId" :status.sync="videoPreviewVisible"></video-preview>
|
||||
<iframe-preview :file="officePreviewRow" :shareId="shareId" :sharer="sharerUsername" :status.sync="officePreviewVisible"></iframe-preview>
|
||||
<iframe-preview
|
||||
:file="iframePreviewRow"
|
||||
:fileHandler="fileHandler"
|
||||
:shareId="shareId"
|
||||
:sharer="sharerUsername"
|
||||
:status.sync="iframePreviewVisible"
|
||||
></iframe-preview>
|
||||
<el-divider v-if="!linkFailed && !showShareCode" class="grid-divider" content-position="center"><i
|
||||
class="el-icon-folder-opened"></i> {{ summaries }}
|
||||
</el-divider>
|
||||
@ -419,8 +425,9 @@ export default {
|
||||
imagePreviewVisible: false,
|
||||
videoPreviewRow: {},
|
||||
videoPreviewVisible: false,
|
||||
officePreviewRow: {},
|
||||
officePreviewVisible: false,
|
||||
iframePreviewRow: {},
|
||||
iframePreviewVisible: false,
|
||||
fileHandler: {},
|
||||
audioPreviewRow: {},
|
||||
audioPreviewVisible: false,
|
||||
showUpdateDateItem: this.$pc,// 列表模式下是否显示修改时间
|
||||
@ -431,6 +438,7 @@ export default {
|
||||
sharerAvatarUrl: '',
|
||||
netdiskName: 'JmalCloud',
|
||||
netdiskLogo: '',
|
||||
iframePreviewConfig: '',
|
||||
showShareCode: false,
|
||||
shareData: {},
|
||||
extractionCode: '',
|
||||
@ -707,6 +715,9 @@ export default {
|
||||
if (this.sharer.netdiskName) {
|
||||
this.netdiskName = this.sharer.netdiskName
|
||||
}
|
||||
if (this.sharer.iframe) {
|
||||
this.iframePreviewConfig = JSON.parse(this.sharer.iframe)
|
||||
}
|
||||
this.sharerUsername = this.sharer.username
|
||||
if (this.sharer.netdiskLogo) {
|
||||
this.netdiskLogo = this.sharer.netdiskLogo
|
||||
@ -1074,6 +1085,15 @@ export default {
|
||||
this.pushRouter()
|
||||
this.accessShareOpenDir(row.id)
|
||||
} else {
|
||||
const fileHandler = fileConfig.hasIframePreview(row.suffix, this.iframePreviewConfig)
|
||||
console.log(fileHandler, this.iframePreviewConfig)
|
||||
if (fileHandler !== null) {
|
||||
// iframe 预览
|
||||
this.iframePreviewVisible = true
|
||||
this.iframePreviewRow = row
|
||||
this.fileHandler = fileHandler
|
||||
return
|
||||
}
|
||||
if (row.contentType.startsWith('image')) {
|
||||
// 图片
|
||||
this.imagePreviewVisible = true
|
||||
@ -1100,8 +1120,8 @@ export default {
|
||||
// office文件
|
||||
if (row.contentType.indexOf('office') > -1 || suffix.iframePreviewFile.includes(row.suffix)) {
|
||||
// office文件
|
||||
this.officePreviewVisible = true
|
||||
this.officePreviewRow = row
|
||||
this.iframePreviewVisible = true
|
||||
this.iframePreviewRow = row
|
||||
return
|
||||
}
|
||||
// 打开文件
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user