jmalcloud-view/src/utils/file-config.js
2022-08-16 10:35:57 +08:00

74 lines
2.5 KiB
JavaScript

import fileApi from '@/api/file-api'
export default {
baseUrl: '/api',
// webDAV的url
webDAVUrl: function(username) {
return window.location.origin + `${this.baseUrl}/webDAV/${username}`
},
// office api url
officeApiUrl: function() {
return `${window.location.origin}/office/web-apps/apps/api/documents/api.js`
},
// office回调url
officeCallBackUrl: function(token, fileId) {
return `${window.location.origin}${this.baseUrl}/office/track?jmal-token=${token}&fileId=${fileId}`
},
// 预览文件的url
previewUrl: function(username, file, token) {
let fileUrl = `${this.baseUrl}/file/${username}${encodeURI(file.path)}${encodeURI(file.name)}`
if (token) {
return `${fileUrl}?jmal-token=${token}`
}
return fileUrl
},
// mardown里上传图片后的图片预览地址
mardownPreviewUrl: function (path){
return window.location.origin + `${this.baseUrl}${path}`
},
// 预览文件
preview: function(username, file, token) {
const url = this.previewUrl(username, file, token)
window.open(url, '_blank')
},
// 下载文件
download: function(username, file, token) {
fileApi.isAllowDownload().then(() => {
let url = this.previewUrl(username, file, token) + '&o=download'
window.open(url, '_self')
})
},
// 打包下载文件
packageDownload: function(fileIds, token) {
fileApi.isAllowDownload().then(() => {
window.open(`${this.baseUrl}/packageDownload?fileIds=${fileIds}&jmal-token=${token}`, '_self')
})
},
// 共享文件下载
publicDownload: function(shareId, file) {
window.open(this.publicDownloadUrl(shareId, file), '_self')
},
// 共享文件预览
publicPreview: function(fileId, shareId) {
const url = this.publicPreviewUrl(fileId, shareId)
window.open(url, '_blank')
},
// 共享文件预览Url
publicPreviewUrl: function(fileId, shareId) {
return `${this.baseUrl}/public/s/preview/${fileId}/${shareId}`
},
// 共享文件打包下载
publicPackageDownload: function(shareId, fileIds) {
window.open(this.publicPackageDownloadUrl(shareId, fileIds), '_self')
},
// 共享文件下载Url
publicDownloadUrl: function(shareId, file) {
return window.location.origin + `${this.baseUrl}/public/s/download/${file.id}/${shareId}`
},
// 共享文件打包下载Url
publicPackageDownloadUrl: function(shareId, fileIds) {
return window.location.origin + `${this.baseUrl}/public/s/packageDownload?shareId=${shareId}&fileIds=${fileIds}`
},
}