import { useEffect, useMemo } from 'react'; import { useLocation, useNavigate } from 'react-router-dom'; import { notifyRedeemSuccess } from '../lib/useRedeemSuccessBus'; import { formatMoney, toMoneyNumber } from '../lib/money'; export default function RedeemSuccessPage() { const navigate = useNavigate(); const location = useLocation(); const result = useMemo(() => { const stateResult = (location.state as { result?: Record })?.result; if (stateResult) return stateResult; try { const cached = sessionStorage.getItem('lastRedeemResult'); return cached ? (JSON.parse(cached) as Record) : null; } catch { return null; } }, [location.state]); const storeName = (location.state as { storeName?: string })?.storeName || '当前门店'; const user = (location.state as { user?: { nickname?: string; phone?: string; userNo?: string } })?.user; const userLabel = user?.nickname || user?.phone || '—'; const amount = toMoneyNumber(result?.amount); const redeemNo = String(result?.redeemNo || '—'); const createdAt = result?.createdAt ? new Date(String(result.createdAt)).toLocaleString('zh-CN') : new Date().toLocaleString('zh-CN'); // v3.5.1 #2:核销成功后广播事件,通知门店信息页 / 提现页即时刷新 useEffect(() => { notifyRedeemSuccess({ redeemNo: redeemNo !== '—' ? redeemNo : undefined, amount, }); }, [redeemNo, amount]); return (

杜康好客

check_circle

核销成功

¥ {formatMoney(amount)}

已入账到余额

核销成功,账单通知已发送至老板手机

核销门店 {storeName}
核销用户
person
{userLabel}
核销时间 {createdAt}
订单编号 {redeemNo}
verified

山西领势酒业有限责任公司

); }