import { type App } from "vue"; /** * 说明:对话框相关的封装 */ /** * 显示一个文本提示框 * @param content - 要显示的提示内容 */ function toast(content: string) { if (typeof content!=='string') content = '' + content; uni.showToast({ title: content, icon: 'none', }) } /** * 显示一个确认对话框 * @param option - 对话框的配置选项 * @param option.title - 对话框的标题,可选 * @param option.content - 对话框的内容,可选 */ function alert(option: { title?: string, content?: string, }) { uni.showModal({ title: option.title, content: option.content, showCancel: false, }) }; /** * 显示一个确认对话框 * @param option - 对话框的配置选项 * @param option.title - 对话框的标题,可选 * @param option.content - 对话框的内容,可选 * @param option.cancelText - 取消按钮的文本,可选 * @param option.confirmText - 确认按钮的文本,可选 * @returns - 返回一个 Promise 对象,当用户点击确定按钮时,Promise 的结果为 true,否则为 false */ function confirm(option: { title?: string, content?: string, cancelText?: string, confirmText?: string, }) { return new Promise((resolve, reject) => { uni.showModal({ title: option.title || '', content: option.content || '', showCancel: true, cancelText: option.cancelText || '取消', confirmText: option.confirmText || '确定', success(res) { resolve(res.confirm); }, fail(res) { reject(res); } }) }) } export { toast, alert, confirm, } export default { install(app: App) : void { app.config.globalProperties.$toast = toast; app.config.globalProperties.$alert = alert; app.config.globalProperties.$confirm = confirm; }, }