This commit is contained in:
2026-06-12 10:35:14 +08:00
parent 41ed9d2352
commit b9a2bd5bef
@@ -693,13 +693,15 @@ const AppLayout: React.FC = () => {
try { try {
setPaying(true); setPaying(true);
const order = await createRechargeOrder(plan.id, paymentMethod); const order = await createRechargeOrder(plan.id, paymentMethod);
if (order.paymentMethod === 'alipay' && order.qrUrl) { // 检查是否有二维码信息,支持支付宝和微信支付
// Alipay: show the real QR code URL from the backend const qrCode = order.qrUrl || order.codeUrl || order.qr_code || order.code_url;
if ((order.paymentMethod === 'alipay' || order.paymentMethod === 'wechat') && qrCode) {
// Alipay or WeChat Pay: show the QR code
const paymentInfo = { const paymentInfo = {
price: plan.price, price: plan.price,
credits: totalCredits, credits: totalCredits,
qrCode: order.qrUrl, qrCode: qrCode,
method: 'alipay', method: order.paymentMethod,
}; };
setCurrentPaymentInfo(paymentInfo); setCurrentPaymentInfo(paymentInfo);
setRechargeModalOpen(false); setRechargeModalOpen(false);
@@ -711,8 +713,8 @@ const AppLayout: React.FC = () => {
orderNo: order.orderNo, orderNo: order.orderNo,
price: plan.price, price: plan.price,
credits: totalCredits, credits: totalCredits,
qrCode: order.qrUrl, qrCode: qrCode,
method: 'alipay', method: order.paymentMethod,
createdAt: order.createdAt || new Date().toISOString(), createdAt: order.createdAt || new Date().toISOString(),
timeoutSeconds: 180, timeoutSeconds: 180,
})); }));
@@ -720,7 +722,7 @@ const AppLayout: React.FC = () => {
// Start polling for payment status // Start polling for payment status
startPolling(order.orderNo); startPolling(order.orderNo);
} else { } else {
// WeChat or mock mode (mock auto-completes, no QR needed) // Mock mode (auto-completes, no QR needed)
message.success('充值成功!积分已到账'); message.success('充值成功!积分已到账');
useAuthStore.getState().refreshUser(); useAuthStore.getState().refreshUser();
setRechargeModalOpen(false); setRechargeModalOpen(false);