function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } import { isObj } from '../common/utils'; var defaultOptions = { type: 'text', mask: false, message: '', show: true, zIndex: 1000, duration: 3000, position: 'middle', forbidClick: false, loadingType: 'circular', selector: '#van-toast' }; var queue = []; var currentOptions = _extends({}, defaultOptions); function parseOptions(message) { return isObj(message) ? message : { message: message }; } function getContext() { var pages = getCurrentPages(); return pages[pages.length - 1]; } var Toast = function Toast(options) { if (options === void 0) { options = {}; } options = _extends({}, currentOptions, parseOptions(options)); var context = options.context || getContext(); var toast = context.selectComponent(options.selector); if (!toast) { console.warn('未找到 van-toast 节点,请确认 selector 及 context 是否正确'); return; } delete options.context; delete options.selector; queue.push(toast); toast.set(options); clearTimeout(toast.timer); if (options.duration > 0) { toast.timer = setTimeout(function () { toast.clear(); queue = queue.filter(function (item) { return item !== toast; }); }, options.duration); } return toast; }; var createMethod = function createMethod(type) { return function (options) { return Toast(_extends({ type: type }, parseOptions(options))); }; }; ['loading', 'success', 'fail'].forEach(function (method) { Toast[method] = createMethod(method); }); Toast.clear = function () { queue.forEach(function (toast) { toast.clear(); }); queue = []; }; Toast.setDefaultOptions = function (options) { Object.assign(currentOptions, options); }; Toast.resetDefaultOptions = function () { currentOptions = _extends({}, defaultOptions); }; export default Toast;