task-245(admin.html观感对齐): 二次确认共享组件(文案规则对齐 admin-interactions + 并发锁)

This commit is contained in:
2026-09-05 20:57:42 +08:00
parent 4aa9b587ba
commit 39f43469c2
4 changed files with 198 additions and 0 deletions
@@ -0,0 +1,28 @@
/**
* 二次确认打开入口(module 13 task 245):把模型计划交给 ElMessageBox,并对
* 确认/取消统一归约为 boolean;并发锁拒绝重复弹出。
*/
import { ElMessageBox } from 'element-plus'
import {
acquireConfirmLock,
createConfirmPlan,
releaseConfirmLock,
type AdminConfirmOptions,
} from './admin-confirm-model'
export async function openAdminConfirm(options: AdminConfirmOptions = {}): Promise<boolean> {
const plan = createConfirmPlan(options)
if (!acquireConfirmLock()) return false
try {
return await ElMessageBox.confirm(plan.message, plan.title, {
confirmButtonText: plan.confirmText,
cancelButtonText: plan.cancelText,
type: plan.type,
}).then(
() => true,
() => false,
)
} finally {
releaseConfirmLock()
}
}