fix(admin-spa): 替换原生确认弹窗为自定义弹窗并修复按钮样式

- 替换API Key删除确认弹窗为自定义ConfirmDialog组件
- 替换API Key创建成功后关闭确认弹窗为自定义弹窗
- 修复'我已保存'按钮样式,增加背景色对比度和边框
- 添加降级方案以确保兼容性
This commit is contained in:
shaw
2025-07-29 18:45:55 +08:00
parent 96520bca57
commit d761e89925
5 changed files with 35 additions and 41 deletions

View File

@@ -85,7 +85,7 @@
</button>
<button
@click="handleClose"
class="px-6 py-3 bg-gray-100 text-gray-700 rounded-xl font-semibold hover:bg-gray-200 transition-colors"
class="px-6 py-3 bg-gray-200 text-gray-800 rounded-xl font-semibold hover:bg-gray-300 transition-colors border border-gray-300"
>
我已保存
</button>
@@ -159,12 +159,25 @@ const copyApiKey = async () => {
}
// 关闭弹窗
const handleClose = () => {
const confirmed = confirm(
'关闭后将无法再次查看完整的API Key请确保已经妥善保存。\n\n确定要关闭吗'
)
if (confirmed) {
emit('close')
const handleClose = async () => {
if (window.showConfirm) {
const confirmed = await window.showConfirm(
'关闭提醒',
'关闭后将无法再次查看完整的API Key请确保已经妥善保存。\n\n确定要关闭吗',
'确定关闭',
'取消'
)
if (confirmed) {
emit('close')
}
} else {
// 降级方案
const confirmed = confirm(
'关闭后将无法再次查看完整的API Key请确保已经妥善保存。\n\n确定要关闭吗'
)
if (confirmed) {
emit('close')
}
}
}
</script>

View File

@@ -863,7 +863,21 @@ const handleRenewSuccess = () => {
// 删除API Key
const deleteApiKey = async (keyId) => {
if (!confirm('确定要删除这个 API Key 吗?此操作不可恢复。')) return
let confirmed = false
if (window.showConfirm) {
confirmed = await window.showConfirm(
'删除 API Key',
'确定要删除这个 API Key 吗?此操作不可恢复。',
'确定删除',
'取消'
)
} else {
// 降级方案
confirmed = confirm('确定要删除这个 API Key 吗?此操作不可恢复。')
}
if (!confirmed) return
try {
const data = await apiClient.delete(`/admin/api-keys/${keyId}`)