From 6e15eb7f25b46771d14cd54c208c84d3fcdda356 Mon Sep 17 00:00:00 2001 From: chengqian Date: Thu, 14 May 2026 12:33:38 +0800 Subject: [PATCH] =?UTF-8?q?refactor(ui):=E4=BD=BF=E7=94=A8=E6=A8=A1?= =?UTF-8?q?=E6=80=81=E6=A1=86=E4=BB=A3=E6=9B=BF=E7=B3=BB=E7=BB=9F=E8=87=AA?= =?UTF-8?q?=E5=B8=A6=E6=8F=90=E7=A4=BA=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/tenant/src/App.vue | 2 ++ web/tenant/src/views/open/OpenAppsPage.vue | 7 +++++-- web/tenant/src/views/open/WebhooksPage.vue | 5 ++++- web/tenant/src/views/service/ApiKeysPage.vue | 12 ++++++++---- web/tenant/src/views/team/ProjectDetailPage.vue | 5 ++++- web/tenant/src/views/team/ProjectsPage.vue | 5 ++++- 6 files changed, 27 insertions(+), 9 deletions(-) diff --git a/web/tenant/src/App.vue b/web/tenant/src/App.vue index 678c3f8..c882f85 100644 --- a/web/tenant/src/App.vue +++ b/web/tenant/src/App.vue @@ -1,8 +1,10 @@ diff --git a/web/tenant/src/views/open/OpenAppsPage.vue b/web/tenant/src/views/open/OpenAppsPage.vue index 20b18c2..e4c4047 100644 --- a/web/tenant/src/views/open/OpenAppsPage.vue +++ b/web/tenant/src/views/open/OpenAppsPage.vue @@ -2,6 +2,9 @@ import { ref, reactive, onMounted } from 'vue' import request from '@/utils/request' import Icon from '@/components/common/Icon.vue' +import { useConfirm } from '@/composables/useConfirm' + +const { confirm } = useConfirm() interface OpenApp { id: number @@ -126,7 +129,7 @@ async function handleSave() { } async function handleDelete(id: number) { - if (!confirm('确定要删除此应用吗?此操作不可恢复。')) return + if (!await confirm({ message: '确定要删除此应用吗?此操作不可恢复。', confirmText: '确认删除', danger: true })) return try { const res = await request.delete(`/tenant/open/apps/${id}`) if (res.data?.code === 0) { @@ -138,7 +141,7 @@ async function handleDelete(id: number) { } async function handleResetSecret(id: number) { - if (!confirm('确定要重置密钥吗?旧密钥将立即失效。')) return + if (!await confirm({ message: '确定要重置密钥吗?旧密钥将立即失效。', confirmText: '确认重置', danger: true })) return try { const res = await request.post(`/tenant/open/apps/${id}/reset-secret`) if (res.data?.code === 0) { diff --git a/web/tenant/src/views/open/WebhooksPage.vue b/web/tenant/src/views/open/WebhooksPage.vue index 22b5eee..7782301 100644 --- a/web/tenant/src/views/open/WebhooksPage.vue +++ b/web/tenant/src/views/open/WebhooksPage.vue @@ -2,6 +2,9 @@ import { ref, reactive, onMounted } from 'vue' import request from '@/utils/request' import Icon from '@/components/common/Icon.vue' +import { useConfirm } from '@/composables/useConfirm' + +const { confirm } = useConfirm() interface WebhookConfig { id: number @@ -128,7 +131,7 @@ async function handleSave() { } async function handleDelete(id: number) { - if (!confirm('确定要删除此 Webhook 配置吗?')) return + if (!await confirm({ message: '确定要删除此 Webhook 配置吗?', confirmText: '确认删除', danger: true })) return try { const res = await request.delete(`/tenant/open/webhooks/${id}`) if (res.data?.code === 0) await loadConfigs() diff --git a/web/tenant/src/views/service/ApiKeysPage.vue b/web/tenant/src/views/service/ApiKeysPage.vue index 9654e58..0deae9b 100644 --- a/web/tenant/src/views/service/ApiKeysPage.vue +++ b/web/tenant/src/views/service/ApiKeysPage.vue @@ -5,6 +5,9 @@ import Icon from '@/components/common/Icon.vue' import request from '@/utils/request' import { toast } from '@/utils/toast' import { useExport } from '@/composables/useExport' +import { useConfirm } from '@/composables/useConfirm' + +const { confirm } = useConfirm() interface ApiKey { id: number @@ -115,11 +118,12 @@ function copyKey() { }) } -async function deleteKey(keyId: number) { - if (!confirm('确定禁用该 API Key?禁用后将无法使用。')) return +async function disableKey(keyId: number) { + if (!await confirm({ message: '确定禁用该 API Key?禁用后将无法使用。', confirmText: '确认禁用', danger: true })) return try { await request.delete(`/tenant/api-keys/${keyId}`) - keys.value = keys.value.filter((k) => k.id !== keyId) + const key = keys.value.find((k) => k.id === keyId) + if (key) key.status = 'disabled' } catch { } } @@ -198,7 +202,7 @@ onMounted(fetchKeys)