From a61d61c5cacd1a99432278ce31a5c2d70fe8e8ce Mon Sep 17 00:00:00 2001
From: fanbook-wangdage <124357765+fanbook-wangdage@users.noreply.github.com>
Date: Mon, 16 Mar 2026 17:51:52 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=88=A0=E9=99=A4=E5=A4=9A?=
=?UTF-8?q?=E4=B8=AA=E6=96=87=E4=BB=B6=E5=A4=B9=E6=97=B6=E7=A1=AE=E8=AE=A4?=
=?UTF-8?q?=E6=8C=89=E9=92=AE=E4=B8=8D=E6=98=BE=E7=A4=BA=E5=8A=A0=E8=BD=BD?=
=?UTF-8?q?=E6=80=81=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=8C=E5=B9=B6=E5=87=8F?=
=?UTF-8?q?=E5=B0=91=E4=B8=8D=E5=BF=85=E8=A6=81=E7=9A=84basedir=E8=AF=B7?=
=?UTF-8?q?=E6=B1=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../host/file-management/delete/index.vue | 62 ++++++++++---------
1 file changed, 34 insertions(+), 28 deletions(-)
diff --git a/frontend/src/views/host/file-management/delete/index.vue b/frontend/src/views/host/file-management/delete/index.vue
index 0c5910cf2abc..fe6a6d90b226 100644
--- a/frontend/src/views/host/file-management/delete/index.vue
+++ b/frontend/src/views/host/file-management/delete/index.vue
@@ -46,7 +46,7 @@
{{ $t('commons.button.cancel') }}
-
+
{{ $t('commons.button.confirm') }}
@@ -101,37 +101,43 @@ const getStatus = async () => {
};
const onConfirm = async () => {
- const pros = [];
- for (const s of files.value) {
- if (s['isDir']) {
- if (s['path'].indexOf('.1panel_clash') > -1) {
- MsgWarning(i18n.global.t('file.clashDeleteAlert'));
- return;
- }
+ loading.value = true;
+ try {
+ const pros = [];
+ let baseDir = '';
+ if (files.value.some((item) => item['isDir'])) {
const pathRes = await loadBaseDir();
- if (s['path'] === pathRes.data) {
- MsgWarning(i18n.global.t('file.panelInstallDir'));
- return;
- }
+ baseDir = pathRes.data;
}
- if (reqNode.value != '') {
- pros.push(
- deleteFileByNode({ path: s['path'], isDir: s['isDir'], forceDelete: forceDelete.value }, reqNode.value),
- );
- } else {
- pros.push(deleteFile({ path: s['path'], isDir: s['isDir'], forceDelete: forceDelete.value }));
+ for (const s of files.value) {
+ if (s['isDir']) {
+ if (s['path'].indexOf('.1panel_clash') > -1) {
+ MsgWarning(i18n.global.t('file.clashDeleteAlert'));
+ return;
+ }
+ if (s['path'] === baseDir) {
+ MsgWarning(i18n.global.t('file.panelInstallDir'));
+ return;
+ }
+ }
+ if (reqNode.value != '') {
+ pros.push(
+ deleteFileByNode(
+ { path: s['path'], isDir: s['isDir'], forceDelete: forceDelete.value },
+ reqNode.value,
+ ),
+ );
+ } else {
+ pros.push(deleteFile({ path: s['path'], isDir: s['isDir'], forceDelete: forceDelete.value }));
+ }
}
+ await Promise.all(pros);
+ MsgSuccess(i18n.global.t('commons.msg.deleteSuccess'));
+ open.value = false;
+ em('close');
+ } finally {
+ loading.value = false;
}
- loading.value = true;
- Promise.all(pros)
- .then(() => {
- MsgSuccess(i18n.global.t('commons.msg.deleteSuccess'));
- open.value = false;
- em('close');
- })
- .finally(() => {
- loading.value = false;
- });
};
const getIconName = (extension: string) => {