|
|
|
@ -107,7 +107,7 @@ $(document).ready(function () {
|
|
|
|
|
}
|
|
|
|
|
if(paymentFun == 'AlipayAps'){
|
|
|
|
|
if(window.openmobilefun == 'alipayaps'){
|
|
|
|
|
callPayment(res);
|
|
|
|
|
callAlipayAps(res);
|
|
|
|
|
}else{
|
|
|
|
|
redirectH5PaymentForAps(res.partner_order_id,res.client_moniker)
|
|
|
|
|
}
|
|
|
|
@ -297,4 +297,46 @@ $(document).ready(function () {
|
|
|
|
|
checkOrderStd();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function callApp(scheme_seq, index, timeout) {
|
|
|
|
|
let timer, start = new Date().getTime()
|
|
|
|
|
let promise = new Promise(((resolve, reject) => {
|
|
|
|
|
location.href = scheme_seq[index]
|
|
|
|
|
window.addEventListener('visibilitychange', () => {
|
|
|
|
|
if (document.visibilityState === 'hidden') {
|
|
|
|
|
clearTimeout(timer);
|
|
|
|
|
resolve()
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
timer = setTimeout(() => {
|
|
|
|
|
let end = new Date().getTime()
|
|
|
|
|
if (end - start > timeout + 1000) {
|
|
|
|
|
clearTimeout(timer)
|
|
|
|
|
resolve()
|
|
|
|
|
} else {
|
|
|
|
|
if (index + 1 < scheme_seq.length) {
|
|
|
|
|
callApp(scheme_seq, index + 1, timeout).then(resolve, reject)
|
|
|
|
|
} else {
|
|
|
|
|
reject()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}, timeout)
|
|
|
|
|
}))
|
|
|
|
|
return promise
|
|
|
|
|
}
|
|
|
|
|
function callAlipayAps(order) {
|
|
|
|
|
|
|
|
|
|
if(order.jsapi){
|
|
|
|
|
let try_sequence = [order.jsapi.scheme_url, order.jsapi.applink_url, order.jsapi.normal_url]
|
|
|
|
|
try_sequence = try_sequence.filter(v => v != null)
|
|
|
|
|
callApp(try_sequence, 0, 5000).then(() => {
|
|
|
|
|
alert('redirect success')
|
|
|
|
|
}, () => {
|
|
|
|
|
alert('redirect failure')
|
|
|
|
|
})
|
|
|
|
|
}else {
|
|
|
|
|
location.href = order.web_url
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
});
|