update pay function

This commit is contained in:
2025-11-19 23:06:14 +08:00
parent 8bdfd0389c
commit 683e261756

View File

@@ -253,12 +253,12 @@ export default function SubscriptionContentNew() {
const data = await response.json(); const data = await response.json();
if (data.success) { if (data.success) {
setPaymentOrder(data.data); setPaymentOrder(data.data);
setPaymentCountdown(300); setPaymentCountdown(30 * 60); // 30分钟
startAutoPaymentCheck(data.data.order_id); startAutoPaymentCheck(data.data.id);
toast({ toast({
title: '订单创建', title: '订单创建成功',
description: '请使用微信扫支付', description: '请使用微信扫描二维码完成支付',
status: 'success', status: 'success',
duration: 3000, duration: 3000,
isClosable: true, isClosable: true,
@@ -1027,29 +1027,100 @@ export default function SubscriptionContentNew() {
</VStack> </VStack>
) : ( ) : (
<VStack spacing={4}> <VStack spacing={4}>
<Text color="rgba(255, 255, 255, 0.7)" fontSize="sm"> <Text color="rgba(255, 255, 255, 0.7)" fontSize="lg" fontWeight="bold">
使 使
</Text> </Text>
{/* 倒计时 */}
<Box
p={3}
bg="rgba(255, 165, 0, 0.1)"
borderRadius="lg"
border="1px solid rgba(255, 165, 0, 0.3)"
w="full"
>
<HStack justify="center" spacing={2} mb={2}>
<Icon as={FaClock} color="orange.400" />
<Text color="orange.300" fontSize="sm">
: {formatTime(paymentCountdown)}
</Text>
</HStack>
<Progress
value={(paymentCountdown / (30 * 60)) * 100}
colorScheme="orange"
size="sm"
borderRadius="full"
/>
</Box>
{/* 二维码 */}
<Box textAlign="center">
{paymentOrder.qr_code_url ? (
<Image
src={paymentOrder.qr_code_url}
alt="微信支付二维码"
mx="auto"
maxW="200px"
border="2px solid"
borderColor="rgba(255, 255, 255, 0.2)"
borderRadius="lg"
bg="white"
p={2}
/>
) : (
<Flex
w="200px"
h="200px"
mx="auto"
bg="rgba(255, 255, 255, 0.05)"
alignItems="center"
justifyContent="center"
border="2px solid"
borderColor="rgba(255, 255, 255, 0.2)"
borderRadius="lg"
>
<Icon as={FaQrcode} color="rgba(255, 255, 255, 0.3)" boxSize={12} />
</Flex>
)}
</Box>
{/* 订单信息 */}
<Box <Box
p={4} p={4}
bg="white" bg="rgba(255, 255, 255, 0.05)"
borderRadius="lg" borderRadius="lg"
dangerouslySetInnerHTML={{ __html: paymentOrder.code_url_qr }} border="1px solid rgba(255, 255, 255, 0.1)"
/>
<Text color="#D4AF37" fontSize="sm">
: {formatTime(paymentCountdown)}
</Text>
<Progress value={(paymentCountdown / 300) * 100} w="full" colorScheme="yellow" />
<Button
w="full" w="full"
variant="outline"
borderColor="#D4AF37"
color="#D4AF37"
onClick={handleForceUpdate}
isLoading={forceUpdating}
> >
<Text fontSize="xs" color="rgba(255, 255, 255, 0.5)" mb={2}>
</Button> : {paymentOrder.order_no}
</Text>
<Flex justify="space-between" align="baseline">
<Text color="rgba(255, 255, 255, 0.7)">:</Text>
<Text fontSize="xl" fontWeight="bold" color="#D4AF37">
¥{paymentOrder.amount}
</Text>
</Flex>
</Box>
{/* 操作按钮 */}
<VStack spacing={3} w="full">
<Button
w="full"
size="lg"
bgGradient="linear-gradient(135deg, #D4AF37, #B8941F)"
color="#000"
fontWeight="bold"
leftIcon={<Icon as={FaRedo} />}
onClick={handleForceUpdate}
isLoading={forceUpdating}
_hover={{
bgGradient: 'linear-gradient(135deg, #F4E3A7, #D4AF37)',
}}
>
</Button>
</VStack>
</VStack> </VStack>
)} )}
</ModalBody> </ModalBody>