captain-ui
Version:
有赞vue wap业务组件库
51 lines (39 loc) • 984 B
JavaScript
import "vant/es/toast/style";
import _Toast from "vant/es/toast";
var isWaiting = false;
var waitingTimeout = 0;
function startWaiting(callback, fail, maxWaiting) {
if (maxWaiting === void 0) {
maxWaiting = 10000;
}
if (isWaiting) {
return;
} // 开始微信支付等待
isWaiting = true;
_Toast({
type: 'loading',
duration: maxWaiting,
forbidClick: true
}); // 注册等待事件
document.addEventListener('WeixinJSBridgeReady', function () {
if (!isWaiting) {
return;
}
callback();
clearTimeout(waitingTimeout);
_Toast.clear();
isWaiting = false;
}, false);
waitingTimeout = setTimeout(function () {
_Toast.clear();
isWaiting = false;
fail();
}, maxWaiting);
}
export default function weixinReady(callback, fail) {
if (typeof window.WeixinJSBridge === 'object' && typeof window.WeixinJSBridge.invoke === 'function') {
callback();
} else {
startWaiting(callback, fail);
}
}