diff --git a/src/app/pay/orders/page.tsx b/src/app/pay/orders/page.tsx index b9bf426..96a8695 100644 --- a/src/app/pay/orders/page.tsx +++ b/src/app/pay/orders/page.tsx @@ -72,7 +72,7 @@ function OrdersContent() { return; } if (!hasToken) { - setUserInfo({ id: userId, username: `用户 #${userId}`, balance: 0 }); + setUserInfo({ id: userId, username: `用户 #${userId}` }); setOrders([]); setError('当前链接未携带登录 token,无法查询"我的订单"。'); return; diff --git a/src/app/pay/page.tsx b/src/app/pay/page.tsx index e9156a7..629a7f0 100644 --- a/src/app/pay/page.tsx +++ b/src/app/pay/page.tsx @@ -111,7 +111,7 @@ function PayContent() { (typeof meUser.displayName === 'string' && meUser.displayName.trim()) || (typeof meUser.username === 'string' && meUser.username.trim()) || `用户 #${userId}`, - balance: typeof meUser.balance === 'number' ? meUser.balance : 0, + balance: typeof meUser.balance === 'number' ? meUser.balance : undefined, }); if (Array.isArray(meData.orders)) { @@ -127,8 +127,8 @@ function PayContent() { } } - // 无 token 或 token 失效:只显示用户 ID,不展示隐私信息 - setUserInfo({ id: userId, username: `用户 #${userId}`, balance: 0 }); + // 无 token 或 token 失效:只显示用户 ID,不展示隐私信息(不显示余额) + setUserInfo({ id: userId, username: `用户 #${userId}` }); setMyOrders([]); setOrdersPage(1); setOrdersHasMore(false); @@ -254,12 +254,13 @@ function PayContent() { useEffect(() => { if (step !== 'result' || finalStatus !== 'COMPLETED') return; + // 立即在后台刷新余额,2.2s 显示结果页后再切回表单(届时余额已更新) + loadUserAndOrders(); const timer = setTimeout(() => { setStep('form'); setOrderResult(null); setFinalStatus(''); setError(''); - loadUserAndOrders(); }, 2200); return () => clearTimeout(timer); // eslint-disable-next-line react-hooks/exhaustive-deps diff --git a/src/lib/pay-utils.ts b/src/lib/pay-utils.ts index da0112e..00896e9 100644 --- a/src/lib/pay-utils.ts +++ b/src/lib/pay-utils.ts @@ -1,7 +1,7 @@ export interface UserInfo { id?: number; username: string; - balance: number; + balance?: number; } export interface MyOrder {