import { ref } from 'vue' type ConfirmOptions = { title?: string message: string confirmText?: string cancelText?: string } export function useConfirmDialog() { const open = ref(false) const title = ref('确认操作') const message = ref('') const confirmText = ref('确定') const cancelText = ref('取消') let resolver: ((value: boolean) => void) | null = null const ask = (options: ConfirmOptions) => new Promise((resolve) => { title.value = options.title || '确认操作' message.value = options.message confirmText.value = options.confirmText || '确定' cancelText.value = options.cancelText || '取消' open.value = true resolver = resolve }) const confirm = () => { open.value = false resolver?.(true) resolver = null } const cancel = () => { open.value = false resolver?.(false) resolver = null } return { open, title, message, confirmText, cancelText, ask, confirm, cancel, } }