种子列表优化、添加用户充值

Change-Id: I602e9eef78efe3527c320352d4522244d41ae807
diff --git a/src/pages/UserCenter/NewbieTasks.css b/src/pages/UserCenter/NewbieTasks.css
deleted file mode 100644
index 660cec3..0000000
--- a/src/pages/UserCenter/NewbieTasks.css
+++ /dev/null
@@ -1,20 +0,0 @@
-
-.task-btn {
-  margin-right: 8px;
-  padding: 6px 12px;
-  border: none;
-  border-radius: 6px;
-  background-color: #4a90e2;
-  color: white;
-  cursor: pointer;
-}
-
-.task-btn:hover {
-  background-color: #357abd;
-}
-
-.loading {
-  text-align: center;
-  font-size: 18px;
-  color: #333;
-}
diff --git a/src/pages/UserCenter/NewbieTasks.jsx b/src/pages/UserCenter/NewbieTasks.jsx
deleted file mode 100644
index 768f95a..0000000
--- a/src/pages/UserCenter/NewbieTasks.jsx
+++ /dev/null
@@ -1,327 +0,0 @@
-// import React, { useEffect, useState } from 'react';
-// import axios from 'axios';
-// import Header from '../../components/Header';
-// import './UserProfile.css'; // 复用个人资料页面的样式
-// import UserNav from './UserNav';
-
-// const NewbieTasks = () => {
-//   const [tasks, setTasks] = useState([]);
-//   const [experience, setExperience] = useState({});
-//   const [currentStep, setCurrentStep] = useState({});
-//   const [loading, setLoading] = useState(true);
-
-//   const baseURL = '/echo/task/tutorial';
-//   const userId = 1;
-
-//   // 获取所有任务
-//   const fetchTasks = async () => {
-//     try {
-//       const response = await axios.get(`${baseURL}/getAllTasks`, {
-//         params: { user_id: userId },
-//       });
-//       setTasks(response.data.tasks || []);
-//     } catch (error) {
-//       console.error('获取任务失败:', error);
-//     }
-//   };
-
-//   // 获取经验与等级信息
-//   const fetchExperience = async () => {
-//     try {
-//       const response = await axios.get(`${baseURL}/getAllTasks`, {
-//         params: { user_id: userId },
-//       });
-//       setExperience(response.data || {});
-//     } catch (error) {
-//       console.error('获取经验失败:', error);
-//     }
-//   };
-
-//   // 获取当前引导步骤
-//   const fetchCurrentStep = async () => {
-//     try {
-//       const response = await axios.get(`${baseURL}/getNewStep`, {
-//         params: { user_id: userId },
-//       });
-//       setCurrentStep(response.data || {});
-//     } catch (error) {
-//       console.error('获取引导步骤失败:', error);
-//     }
-//   };
-
-//   // 更新任务状态
-//   const updateStatus = async (taskId) => {
-//     try {
-//       await axios.post(`${baseURL}/updateStatus`, {
-//         user_id: userId,
-//         task_id: taskId,
-//       });
-//       await fetchTasks();
-//       await fetchExperience();
-//     } catch (error) {
-//       console.error('更新状态失败:', error);
-//     }
-//   };
-
-//   // 提交任务进度
-//   const updateProgress = async (taskId, progress) => {
-//     try {
-//       await axios.post(`${baseURL}/updateProgress`, {
-//         user_id: userId,
-//         task_id: taskId,
-//         progress,
-//       });
-//       await fetchTasks();
-//     } catch (error) {
-//       console.error('更新进度失败:', error);
-//     }
-//   };
-
-//   // 领取奖励
-//   const claimReward = async (taskId) => {
-//     try {
-//       await axios.post(`${baseURL}/rewardClaim`, {
-//         user_id: userId,
-//         task_id: taskId,
-//       });
-//       await fetchTasks();
-//       await fetchExperience();
-//     } catch (error) {
-//       console.error('领取奖励失败:', error);
-//     }
-//   };
-
-//   // 查看奖励是否已发放
-//   const checkRewardStatus = async (taskId) => {
-//     try {
-//       const response = await axios.post(`${baseURL}/rewardReview`, {
-//         user_id: userId,
-//         task_id: taskId,
-//       });
-//       alert(response.data.message || '已完成');
-//     } catch (error) {
-//       console.error('查看失败:', error);
-//     }
-//   };
-
-//   // 页面初始化
-//   useEffect(() => {
-//     const init = async () => {
-//       await fetchTasks();
-//       await fetchExperience();
-//       await fetchCurrentStep();
-//       setLoading(false);
-//     };
-//     init();
-//   }, []);
-
-//   if (loading) return <p className="loading">加载中...</p>;
-
-//   return (
-//     <div className="user-profile-container">
-//       <Header />
-//       <div className="user-center">
-//         <div className="user-nav-container">
-//           <UserNav activeKey="newbieTasks" onSelect={() => {}} />
-//         </div>
-
-//         <div className="common-card right-content">
-//           <div className="profile-header">
-//             <h1>🎯 新手考核</h1>
-//           </div>
-
-//           <div className="profile-details">
-//             <p><strong>当前经验:</strong>{experience.current_experience}</p>
-//             <p><strong>等级:</strong>{experience.level}</p>
-//             <p><strong>奖励经验:</strong>{experience.reward?.experience || 0}</p>
-//             <p><strong>奖励积分:</strong>{experience.reward?.points || 0}</p>
-//           </div>
-
-//           <div className="profile-details">
-//             <p><strong>🧭 当前引导步骤:</strong>{currentStep.current_step}</p>
-//             <p>{currentStep.step_description}</p>
-//           </div>
-
-//           <div className="profile-details">
-//             <h2>任务列表</h2>
-//             <ul>
-//               {tasks.map(task => (
-//                 <li key={task.task_id} style={{ marginBottom: '20px' }}>
-//                   <p><strong>任务:</strong>{task.title}</p>
-//                   <p><strong>描述:</strong>{task.description}</p>
-//                   <p><strong>进度:</strong>{task.progress}%</p>
-//                   <p><strong>状态:</strong>{task.status}</p>
-//                   <p><strong>奖励:</strong>经验 {task.reward.experience},积分 {task.reward.points}</p>
-
-//                   <div style={{ marginTop: '10px' }}>
-//                     <button className="task-btn" onClick={() => updateStatus(task.task_id)}>更新状态</button>
-//                     <button className="task-btn" onClick={() => updateProgress(task.task_id, 100)}>提交进度</button>
-//                     <button className="task-btn" onClick={() => claimReward(task.task_id)}>领取奖励</button>
-//                     <button className="task-btn" onClick={() => checkRewardStatus(task.task_id)}>查看奖励是否已发放</button>
-//                   </div>
-//                 </li>
-//               ))}
-//             </ul>
-//           </div>
-//         </div>
-//       </div>
-//     </div>
-//   );
-// };
-
-// export default NewbieTasks;
-
-import React, { useEffect, useState } from 'react';
-import axios from 'axios';
-import './UserProfile.css'; // 继续复用样式
-
-const NewbieTasks = () => {
-  const [tasks, setTasks] = useState([]);
-  const [experience, setExperience] = useState({});
-  const [currentStep, setCurrentStep] = useState({});
-  const [loading, setLoading] = useState(true);
-
-  const baseURL = '/echo/task/tutorial';
-  const userId = 1;
-
-  const fetchTasks = async () => {
-    try {
-      const response = await axios.get(`${baseURL}/getAllTasks`, {
-        params: { user_id: userId },
-      });
-      setTasks(response.data.tasks || []);
-    } catch (error) {
-      console.error('获取任务失败:', error);
-    }
-  };
-
-  const fetchExperience = async () => {
-    try {
-      const response = await axios.get(`${baseURL}/getAllTasks`, {
-        params: { user_id: userId },
-      });
-      setExperience(response.data || {});
-    } catch (error) {
-      console.error('获取经验失败:', error);
-    }
-  };
-
-  const fetchCurrentStep = async () => {
-    try {
-      const response = await axios.get(`${baseURL}/getNewStep`, {
-        params: { user_id: userId },
-      });
-      setCurrentStep(response.data || {});
-    } catch (error) {
-      console.error('获取引导步骤失败:', error);
-    }
-  };
-
-  const updateStatus = async (taskId) => {
-    try {
-      await axios.post(`${baseURL}/updateStatus`, {
-        user_id: userId,
-        task_id: taskId,
-      });
-      await fetchTasks();
-      await fetchExperience();
-    } catch (error) {
-      console.error('更新状态失败:', error);
-    }
-  };
-
-  const updateProgress = async (taskId, progress) => {
-    try {
-      await axios.post(`${baseURL}/updateProgress`, {
-        user_id: userId,
-        task_id: taskId,
-        progress,
-      });
-      await fetchTasks();
-    } catch (error) {
-      console.error('更新进度失败:', error);
-    }
-  };
-
-  const claimReward = async (taskId) => {
-    try {
-      await axios.post(`${baseURL}/rewardClaim`, {
-        user_id: userId,
-        task_id: taskId,
-      });
-      await fetchTasks();
-      await fetchExperience();
-    } catch (error) {
-      console.error('领取奖励失败:', error);
-    }
-  };
-
-  const checkRewardStatus = async (taskId) => {
-    try {
-      const response = await axios.post(`${baseURL}/rewardReview`, {
-        user_id: userId,
-        task_id: taskId,
-      });
-      alert(response.data.message || '已完成');
-    } catch (error) {
-      console.error('查看失败:', error);
-    }
-  };
-
-  useEffect(() => {
-    const init = async () => {
-      await fetchTasks();
-      await fetchExperience();
-      await fetchCurrentStep();
-      setLoading(false);
-    };
-    init();
-  }, []);
-
-  if (loading) return <p className="loading">加载中...</p>;
-
-  return (
-    <div className="common-card right-content">
-      <div className="profile-header">
-        <h1>🎯 新手考核</h1>
-      </div>
-
-      <div className="profile-details">
-        <p><strong>当前经验:</strong>{experience.current_experience}</p>
-        <p><strong>等级:</strong>{experience.level}</p>
-        <p><strong>奖励经验:</strong>{experience.reward?.experience || 0}</p>
-        <p><strong>奖励积分:</strong>{experience.reward?.points || 0}</p>
-      </div>
-
-      <div className="profile-details">
-        <p><strong>🧭 当前引导步骤:</strong>{currentStep.current_step}</p>
-        <p>{currentStep.step_description}</p>
-      </div>
-
-      <div className="profile-details">
-        <h2>任务列表</h2>
-        <ul>
-          {tasks.map(task => (
-            <li key={task.task_id} style={{ marginBottom: '20px', borderBottom: '1px solid #eee', paddingBottom: '10px' }}>
-              <p><strong>任务:</strong>{task.title}</p>
-              <p><strong>描述:</strong>{task.description}</p>
-              <p><strong>进度:</strong>{task.progress}%</p>
-              <p><strong>状态:</strong>{task.status}</p>
-              <p><strong>奖励:</strong>经验 {task.reward.experience},积分 {task.reward.points}</p>
-
-              <div className="task-btn-group">
-                <button className="task-btn" onClick={() => updateStatus(task.task_id)}>更新状态</button>
-                <button className="task-btn" onClick={() => updateProgress(task.task_id, 100)}>提交进度</button>
-                <button className="task-btn" onClick={() => claimReward(task.task_id)}>领取奖励</button>
-                <button className="task-btn" onClick={() => checkRewardStatus(task.task_id)}>查看奖励状态</button>
-              </div>
-            </li>
-          ))}
-        </ul>
-      </div>
-    </div>
-  );
-};
-
-export default NewbieTasks;
-
diff --git a/src/pages/UserCenter/UserNav.jsx b/src/pages/UserCenter/UserNav.jsx
index 3456195..c272424 100644
--- a/src/pages/UserCenter/UserNav.jsx
+++ b/src/pages/UserCenter/UserNav.jsx
@@ -14,6 +14,7 @@
     { to: '/user/collections', label: '我的收藏' },
     // { to: '/user/newbie-tasks', label: '新手考核' },
     { to: '/user/invite', label: '邀请新用户' },
+    { to: '/user/recharge', label: '充值服务' },
   ];
 
   // 判断路径是否是当前活动页面