| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 | 
							- let queue = [];
 
- const defaultOptions = {
 
-     show: false,
 
-     title: '',
 
-     width: null,
 
-     theme: 'default',
 
-     message: '',
 
-     zIndex: 100,
 
-     overlay: true,
 
-     selector: '#van-dialog',
 
-     className: '',
 
-     asyncClose: false,
 
-     beforeClose: null,
 
-     transition: 'scale',
 
-     customStyle: '',
 
-     messageAlign: '',
 
-     overlayStyle: '',
 
-     confirmButtonText: '确认',
 
-     cancelButtonText: '取消',
 
-     showConfirmButton: true,
 
-     showCancelButton: false,
 
-     closeOnClickOverlay: false,
 
-     confirmButtonOpenType: '',
 
- };
 
- let currentOptions = Object.assign({}, defaultOptions);
 
- function getContext() {
 
-     const pages = getCurrentPages();
 
-     return pages[pages.length - 1];
 
- }
 
- const Dialog = (options) => {
 
-     options = Object.assign(Object.assign({}, currentOptions), options);
 
-     return new Promise((resolve, reject) => {
 
-         const context = (typeof options.context === 'function'
 
-             ? options.context()
 
-             : options.context) || getContext();
 
-         const dialog = context.selectComponent(options.selector);
 
-         delete options.context;
 
-         delete options.selector;
 
-         if (dialog) {
 
-             dialog.setData(Object.assign({ callback: (action, instance) => {
 
-                     action === 'confirm' ? resolve(instance) : reject(instance);
 
-                 } }, options));
 
-             wx.nextTick(() => {
 
-                 dialog.setData({ show: true });
 
-             });
 
-             queue.push(dialog);
 
-         }
 
-         else {
 
-             console.warn('未找到 van-dialog 节点,请确认 selector 及 context 是否正确');
 
-         }
 
-     });
 
- };
 
- Dialog.alert = (options) => Dialog(options);
 
- Dialog.confirm = (options) => Dialog(Object.assign({ showCancelButton: true }, options));
 
- Dialog.close = () => {
 
-     queue.forEach((dialog) => {
 
-         dialog.close();
 
-     });
 
-     queue = [];
 
- };
 
- Dialog.stopLoading = () => {
 
-     queue.forEach((dialog) => {
 
-         dialog.stopLoading();
 
-     });
 
- };
 
- Dialog.currentOptions = currentOptions;
 
- Dialog.defaultOptions = defaultOptions;
 
- Dialog.setDefaultOptions = (options) => {
 
-     currentOptions = Object.assign(Object.assign({}, currentOptions), options);
 
-     Dialog.currentOptions = currentOptions;
 
- };
 
- Dialog.resetDefaultOptions = () => {
 
-     currentOptions = Object.assign({}, defaultOptions);
 
-     Dialog.currentOptions = currentOptions;
 
- };
 
- Dialog.resetDefaultOptions();
 
- export default Dialog;
 
 
  |