fix(pay): 订单缓存失效时订单列表无刷新重载
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
c3328e7279
commit
b340b77d5a
1 file changed
+16
-5
@@ -402,7 +402,6 @@
|
||||
return;
|
||||
}
|
||||
notyf(data.message || "支付成功", "success");
|
||||
refreshView(state);
|
||||
if (activeDetail(state, number)) openDetail(state, number);
|
||||
}).catch(function (error) {
|
||||
button.disabled = false;
|
||||
@@ -426,7 +425,6 @@
|
||||
var data = result.data || {};
|
||||
invalidateOrder(number, data.order);
|
||||
notyf("订单已关闭", "success");
|
||||
refreshView(state);
|
||||
if (activeDetail(state, number)) openDetail(state, number);
|
||||
}).catch(function (error) {
|
||||
button.disabled = false;
|
||||
@@ -608,14 +606,27 @@
|
||||
});
|
||||
}
|
||||
|
||||
// refresh 供弹窗提交/取消后刷新列表与统计。
|
||||
// refresh 供弹窗提交/取消后刷新列表与统计;列表重载由下方失效监听统一触发。
|
||||
function refresh(orderNumber) {
|
||||
invalidateOrder(orderNumber);
|
||||
liveStates.forEach(function (state) {
|
||||
refreshView(state);
|
||||
}
|
||||
|
||||
function touchesOrders(tags) {
|
||||
if (!Array.isArray(tags) || !tags.length) return true;
|
||||
return tags.some(function (tag) {
|
||||
tag = String(tag || "");
|
||||
return tag === "orders" || tag.indexOf("order:") === 0;
|
||||
});
|
||||
}
|
||||
|
||||
// 任意入口(下单待支付 / 支付 / 关闭 / 刷新状态)使订单缓存失效时,重载已挂载的订单列表。
|
||||
var refreshTimer = null;
|
||||
document.addEventListener("aksrt:cache:invalidated", function (event) {
|
||||
if (!liveStates.length || !touchesOrders(event.detail && event.detail.tags)) return;
|
||||
window.clearTimeout(refreshTimer);
|
||||
refreshTimer = window.setTimeout(function () { liveStates.forEach(refreshView); }, 300);
|
||||
});
|
||||
|
||||
window.AKSRTOrderCenter = { init: init, destroy: destroy, refresh: refresh };
|
||||
jQuery(document).off("auto_fun.aksrt-order-center").on("auto_fun.aksrt-order-center", function () { init(document); });
|
||||
}());
|
||||
Reference in new issue
Block a user