import { closeToast, setToastDefaultOptions, showLoadingToast, showToast, type ToastOptions, type ToastWrapperInstance, } from 'vant' const DEFAULT_TOAST_OPTIONS: ToastOptions = { duration: 2200, position: 'middle', wordBreak: 'break-word', teleport: 'body', zIndex: 9999, } setToastDefaultOptions(DEFAULT_TOAST_OPTIONS) setToastDefaultOptions('loading', { ...DEFAULT_TOAST_OPTIONS, duration: 0, forbidClick: true, }) export type AppToastOptions = string | ToastOptions export function showAppToast(options: AppToastOptions): ToastWrapperInstance { if (typeof options === 'string') { return showToast({ ...DEFAULT_TOAST_OPTIONS, message: options, }) } return showToast({ ...DEFAULT_TOAST_OPTIONS, ...options, }) } export function showAppLoadingToast(options: AppToastOptions = '加载中...'): ToastWrapperInstance { if (typeof options === 'string') { return showLoadingToast({ ...DEFAULT_TOAST_OPTIONS, message: options, duration: 0, forbidClick: true, }) } return showLoadingToast({ ...DEFAULT_TOAST_OPTIONS, duration: 0, forbidClick: true, ...options, }) } export function closeAppToast(all?: boolean) { closeToast(all) }