/** * utils方法 */ // import WindVane from '@ali/lib-windvane' import WindVane from '../../../lib/windvane.common.js' import { isAndroid } from '../ua' const originAlert = window.alert // WindVane 提示封装 export const alert = (text) => { let params = { message: text, okbutton: '确定' } if (WindVane.isAvailable) { WindVane.call('WVUIDialog', 'alert', params) return } originAlert(text) } // WindVane toast封装 export const toast = (text) => { text = text + '' let params = { message: text } if (WindVane.isAvailable) { WindVane.call('WVUIToast', 'toast', params) return } console.info(`[这里在 app 里将弹出一个 toast]: ${text}`) } // WindVane back封装 export const goBack = (params = {}) => { if (WindVane.isAvailable) { WindVane.call('AppModel', 'goBack', params) return } history.back() } // WindVane confirm封装 let key // 只是为了编译通过 let handler = (e: any) => {} export const confirm = (text: string) => { let params = { message: text, okbutton: '确定', canclebutton: '取消' } return new Promise((resolve, reject) => { if (WindVane.isAvailable) { handler = (e) => { resolve(e.param.type === params.okbutton) } document.removeEventListener('wv.dialog', handler, false) document.addEventListener('wv.dialog', handler, false) WindVane.call( 'WVUIDialog', 'confirm', params, () => { if (key) { resolve(key) } }, () => { reject(false) } ) } else { resolve(window.confirm(text)) } }) } // WindVane loading封装 export const loading = (duration: number) => { WindVane.call('WVUI', 'showLoadingBox') if (duration) { setTimeout(() => { WindVane.call('WVUI', 'hideLoadingBox') }, duration) } } export const hideLoading = () => { WindVane.call('WVUI', 'hideLoadingBox') } export const makeCall = (phoneNumber: string | number) => { if (!phoneNumber) return if (isAndroid()) { WindVane.call('AppModel', 'dialNumber', phoneNumber) } }