's'
This commit is contained in:
@@ -88,8 +88,20 @@ function clearPendingOrder(): void {
|
|||||||
|
|
||||||
function getPendingOrderId(): string | null {
|
function getPendingOrderId(): string | null {
|
||||||
const raw = getCookie(PAY_ORDER_COOKIE) || getStorage(PAY_ORDER_COOKIE);
|
const raw = getCookie(PAY_ORDER_COOKIE) || getStorage(PAY_ORDER_COOKIE);
|
||||||
const orderId = raw?.split("|")[0]?.trim() || "";
|
if (!raw) return null;
|
||||||
return orderId || null;
|
const [orderRaw, tsRaw] = raw.split("|");
|
||||||
|
const orderId = orderRaw?.trim() || "";
|
||||||
|
const ts = Number(tsRaw || "0");
|
||||||
|
// localStorage 里的 pending 标记可能长期残留,超过有效期直接清理避免阻塞恢复链路
|
||||||
|
if (!orderId || !Number.isFinite(ts) || ts <= 0) {
|
||||||
|
clearPendingOrder();
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
if (Date.now() - ts > PAY_ORDER_MAX_AGE * 1000) {
|
||||||
|
clearPendingOrder();
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return orderId;
|
||||||
}
|
}
|
||||||
|
|
||||||
type VipProbeResult = "yes" | "no" | "unknown";
|
type VipProbeResult = "yes" | "no" | "unknown";
|
||||||
|
|||||||
Reference in New Issue
Block a user