diff --git a/app/HomeClient.tsx b/app/HomeClient.tsx index f008df6..945dc8a 100644 --- a/app/HomeClient.tsx +++ b/app/HomeClient.tsx @@ -713,6 +713,7 @@ export default function HomeClient() { /* paid=1 来自 URL 时不再无条件设置,需通过 confirm 或 PB 校验 */ const init = async () => { + const wechatUserIdForPriority = getWechatUserIdFromStorage(); const pendingOrderId = getPendingOrderId(); // 已有 VIP 时忽略陈旧支付轮询标记,否则会 early return,init 从不恢复 VIP,表现为「登录后仍显示未解锁」 if (pendingOrderId) { @@ -721,7 +722,10 @@ export default function HomeClient() { clearPendingOrder(); } else { setPayPendingOrderId(pendingOrderId); - return; + // 若已有真实 userid(来自参数或本地),不要被 pendingOrder 阻断 VIP 恢复链路 + if (!wechatUserIdForPriority) { + return; + } } }