diff --git a/src/api/file-api.js b/src/api/file-api.js index f4742ae..6f729e7 100644 --- a/src/api/file-api.js +++ b/src/api/file-api.js @@ -237,7 +237,7 @@ export default { params }) }, - // 检测是否含有子分享 + // 检测分享文件下是否含有子分享 hasSubShare: function(params) { return request({ url: '/share/has-sub-share', @@ -248,6 +248,14 @@ export default { } }) }, + // 检测文件下是否含有子分享 + folderSubShare: function(params) { + return request({ + url: '/share/folder-sub-share', + method: 'get', + params + }) + }, // 取消分享 cancelShareLink: function(params) { return request({ diff --git a/src/components/ShareDialog/index.vue b/src/components/ShareDialog/index.vue index ca6f787..8693dda 100644 --- a/src/components/ShareDialog/index.vue +++ b/src/components/ShareDialog/index.vue @@ -343,7 +343,7 @@ export default { api.hasSubShare({shareIds: [this.shareId]}).then(res => { if (res.data) { - this.$confirm('选择的文件夹下存其他分享,取消分享后其下的所有分享链接都将被删除,是否继续?', '提示', { + this.$confirm('所选的文件夹下存其他分享,取消分享后其下的所有分享链接都将被删除,是否继续?', '提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' @@ -425,7 +425,30 @@ export default { this.generateShareLinkLoading = false return } - + // 检查文件夹下是否有其他分享 + if (this.file.isFolder) { + api.folderSubShare({fileId: this.file.id}).then(res => { + if (res.data) { + this.$confirm('所选的文件夹下存其他分享,创建分享后将会覆盖其下所有已分享的链接参数,是否继续?', '提示', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning' + }).then(() => { + this.doCreateShare(update, expireDate) + }).catch(() => { + this.generateShareLinkLoading = false + }) + } else { + this.doCreateShare(update, expireDate) + } + }).catch(() => { + this.generateShareLinkLoading = false + }) + } else { + this.doCreateShare(update, expireDate) + } + }, + doCreateShare(update, expireDate) { api.generate({ shortId: this.shareOption.customAddr, userId: this.$store.state.user.userId, diff --git a/src/views/share/index.vue b/src/views/share/index.vue index 16add54..af3b530 100644 --- a/src/views/share/index.vue +++ b/src/views/share/index.vue @@ -79,6 +79,7 @@ @@ -460,7 +461,7 @@ api.hasSubShare({shareIds: shareIds}).then(res => { if (res.data) { - this.$confirm('选择的文件夹下存其他分享,取消分享后其下的所有分享链接都将被删除,是否继续?', '提示', { + this.$confirm('所选的文件夹下存其他分享,取消分享后其下的所有分享链接都将被删除,是否继续?', '提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning'