修复种子详情下载

Change-Id: I5673279933d639e1bf425fcaea3eabd447625bfc
diff --git a/src/pages/UserCenter/UserRecharge.jsx b/src/pages/UserCenter/UserRecharge.jsx
new file mode 100644
index 0000000..7a2f9b3
--- /dev/null
+++ b/src/pages/UserCenter/UserRecharge.jsx
@@ -0,0 +1,129 @@
+
+// export default Recharge;
+import React, { useState } from 'react';
+import axios from 'axios';
+import { useUser } from '../../context/UserContext';
+
+const UserRecharge = () => {
+  const [amount, setAmount] = useState('');
+  const [loading, setLoading] = useState(false);
+  const [message, setMessage] = useState('');
+  const [showPayDialog, setShowPayDialog] = useState(false);
+  const [payProcessing, setPayProcessing] = useState(false);
+
+  const { user } = useUser();
+  const userId = user?.userId;
+
+  // 点击提交充值,打开模拟支付弹窗
+  const handleSubmit = () => {
+    if (!userId) {
+      setMessage('未登录,无法充值');
+      return;
+    }
+    if (!amount || isNaN(amount) || Number(amount) <= 0) {
+      setMessage('请输入有效的充值金额');
+      return;
+    }
+    setMessage('');
+    setShowPayDialog(true);
+  };
+
+  // 模拟支付弹窗点击“确认支付”
+  const handlePayConfirm = async () => {
+    setPayProcessing(true);
+    setMessage('');
+
+    // 模拟支付等待 2 秒
+    setTimeout(async () => {
+      try {
+        // 支付成功后调用后端充值接口
+        const response = await axios.post('/echo/user/recharge', null, {
+          params: {
+            userId,
+            amount: Number(amount),
+          },
+        });
+
+        setMessage(response.data.message || '充值成功!');
+        setAmount('');
+      } catch (error) {
+        setMessage(error.response?.data?.message || '充值失败,请重试');
+      } finally {
+        setPayProcessing(false);
+        setShowPayDialog(false);
+      }
+    }, 2000);
+  };
+
+  // 取消支付弹窗
+  const handlePayCancel = () => {
+    setShowPayDialog(false);
+    setMessage('支付已取消');
+  };
+
+  return (
+    <div className="recharge-page" style={{ maxWidth: 400, margin: 'auto', padding: 20 }}>
+      <h2>充值服务</h2>
+      <div style={{ marginBottom: 12 }}>
+        <label>
+          充值金额:
+          <input
+            type="number"
+            min="1"
+            value={amount}
+            onChange={(e) => setAmount(e.target.value)}
+            disabled={loading || payProcessing}
+            style={{ marginLeft: 8, width: 120 }}
+          />
+        </label>
+      </div>
+      <button onClick={handleSubmit} disabled={loading || payProcessing}>
+        {loading || payProcessing ? '处理中...' : '提交充值'}
+      </button>
+
+      {message && <p style={{ marginTop: 12 }}>{message}</p>}
+
+      {/* 模拟支付弹窗 */}
+      {showPayDialog && (
+        <div
+          style={{
+            position: 'fixed',
+            top: 0, left: 0, right: 0, bottom: 0,
+            backgroundColor: 'rgba(0,0,0,0.5)',
+            display: 'flex',
+            justifyContent: 'center',
+            alignItems: 'center',
+            zIndex: 1000,
+          }}
+        >
+          <div
+            style={{
+              backgroundColor: '#fff',
+              padding: 20,
+              borderRadius: 8,
+              width: 300,
+              textAlign: 'center',
+              boxShadow: '0 0 10px rgba(0,0,0,0.25)',
+            }}
+          >
+            <h3>模拟支付</h3>
+            <p>支付金额:{amount} 元</p>
+
+            {payProcessing ? (
+              <p>支付处理中,请稍候...</p>
+            ) : (
+              <>
+                <button onClick={handlePayConfirm} style={{ marginRight: 10 }}>
+                  确认支付
+                </button>
+                <button onClick={handlePayCancel}>取消</button>
+              </>
+            )}
+          </div>
+        </div>
+      )}
+    </div>
+  );
+};
+
+export default UserRecharge;