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;
|
return;
|
||||||
}
|
}
|
||||||
notyf(data.message || "支付成功", "success");
|
notyf(data.message || "支付成功", "success");
|
||||||
refreshView(state);
|
|
||||||
if (activeDetail(state, number)) openDetail(state, number);
|
if (activeDetail(state, number)) openDetail(state, number);
|
||||||
}).catch(function (error) {
|
}).catch(function (error) {
|
||||||
button.disabled = false;
|
button.disabled = false;
|
||||||
@@ -426,7 +425,6 @@
|
|||||||
var data = result.data || {};
|
var data = result.data || {};
|
||||||
invalidateOrder(number, data.order);
|
invalidateOrder(number, data.order);
|
||||||
notyf("订单已关闭", "success");
|
notyf("订单已关闭", "success");
|
||||||
refreshView(state);
|
|
||||||
if (activeDetail(state, number)) openDetail(state, number);
|
if (activeDetail(state, number)) openDetail(state, number);
|
||||||
}).catch(function (error) {
|
}).catch(function (error) {
|
||||||
button.disabled = false;
|
button.disabled = false;
|
||||||
@@ -608,14 +606,27 @@
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// refresh 供弹窗提交/取消后刷新列表与统计。
|
// refresh 供弹窗提交/取消后刷新列表与统计;列表重载由下方失效监听统一触发。
|
||||||
function refresh(orderNumber) {
|
function refresh(orderNumber) {
|
||||||
invalidateOrder(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 };
|
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); });
|
jQuery(document).off("auto_fun.aksrt-order-center").on("auto_fun.aksrt-order-center", function () { init(document); });
|
||||||
}());
|
}());
|
||||||
Reference in new issue
Block a user