import React, { useState, useEffect } from 'react'; import { Gift, AlertCircle, CheckCircle, KeyRound } from 'lucide-react'; export default function CardRedemption() { const [cardKey, setCardKey] = useState(''); const [message, setMessage] = useState(''); const [messageType, setMessageType] = useState(''); const [cards, setCards] = useState([]); useEffect(() => { const storedCards = localStorage.getItem('card_keys'); if (storedCards) { setCards(JSON.parse(storedCards)); } }, []); const handleRedeem = () => { if (!cardKey.trim()) { setMessage('请输入卡密'); setMessageType('error'); return; } const storedCards = localStorage.getItem('card_keys'); const cardList = storedCards ? JSON.parse(storedCards) : []; const foundCard = cardList.find(card => card.key === cardKey.trim()); if (!foundCard) { setMessage('卡密不存在,请检查后重试'); setMessageType('error'); return; } if (foundCard.used) { setMessage('该卡密已被使用'); setMessageType('error'); return; } foundCard.used = true; localStorage.setItem('card_keys', JSON.stringify(cardList)); setCards(cardList); setMessage(`兑换成功!您获得了:${foundCard.content}`); setMessageType('success'); setCardKey(''); }; return (
{/* 主卡片 */}
{/* 标题 */}

卡密兑换中心

输入您的卡密,立即兑换专属好礼

{/* 输入区域 */}
setCardKey(e.target.value)} onKeyPress={(e) => e.key === 'Enter' && handleRedeem()} placeholder="请输入您的卡密" className="w-full pl-10 pr-4 py-4 border-2 border-gray-200 rounded-xl focus:border-purple-500 focus:outline-none transition-colors text-gray-800 placeholder-gray-400" />
{/* 提示信息 */} {message && (
{messageType === 'error' ? ( ) : ( )}

{message}

)} {/* 使用说明 */}

使用说明

  • • 每个卡密仅可使用一次
  • • 兑换成功后卡密将自动失效
  • • 如遇问题请联系客服
{/* 底部信息 */}

© 2024 卡密兑换中心 · 安全可靠

); }