邀请码、端口修改

Change-Id: Idc325c5f970ade6c750cd09d3d3c32b803dd17e3
diff --git a/src/pages/UserCenter/UserInvite.jsx b/src/pages/UserCenter/UserInvite.jsx
new file mode 100644
index 0000000..aa6e559
--- /dev/null
+++ b/src/pages/UserCenter/UserInvite.jsx
@@ -0,0 +1,98 @@
+// import React, { useState } from 'react';
+// import './UserInvite.css';
+// import axios from 'axios';
+// import { useUser } from '../../context/UserContext'; // 根据实际路径调整
+
+// const UserInvite = () => {
+//   const { user } = useUser();
+//   const [inviteCode, setInviteCode] = useState('');
+//   const [loading, setLoading] = useState(false);
+
+//   const handleGenerateInvite = async () => {
+//     if (!user?.userId) {
+//       alert('未获取到用户信息,无法生成邀请码');
+//       return;
+//     }
+
+//     setLoading(true);
+//     try {
+//       const response = await axios.get('/echo/user/getInviteCode', {
+//         params: { user_id: user.userId },
+//       });
+//       setInviteCode(response.data.invite_code);
+//     } catch (error) {
+//       console.error('生成邀请码失败:', error);
+//       alert('生成邀请码失败,请稍后再试');
+//     }
+//     setLoading(false);
+//   };
+
+//   return (
+//     <div className="user-invite-container">
+//       <h2>邀请新用户</h2>
+//       <button className="invite-button" onClick={handleGenerateInvite} disabled={loading}>
+//         {loading ? '生成中...' : '生成邀请码'}
+//       </button>
+//       {inviteCode && (
+//         <div className="invite-code">
+//           邀请码:<span>{inviteCode}</span>
+//         </div>
+//       )}
+//     </div>
+//   );
+// };
+
+// export default UserInvite;
+
+import React, { useState } from 'react';
+import './UserInvite.css';
+import axios from 'axios';
+import { useUser } from '../../context/UserContext';
+
+const UserInvite = () => {
+  const { user } = useUser();
+  const [inviteCode, setInviteCode] = useState('');
+  const [loading, setLoading] = useState(false);
+
+  const handleGenerateInvite = async () => {
+    if (!user?.userId) {
+      alert('未获取到用户信息,无法生成邀请码');
+      return;
+    }
+
+    setLoading(true);
+    try {
+      const response = await axios.post('/echo/user/getInviteCode', {
+        user_id: user.userId,
+      });
+
+      const data = response.data;
+
+      if (data.status === 'success') {
+        setInviteCode(data.invite_code);
+      } else {
+        alert(`生成失败:${data.message}`);
+      }
+    } catch (error) {
+      console.error('生成邀请码失败:', error);
+      alert('生成邀请码失败,请稍后再试');
+    }
+    setLoading(false);
+  };
+
+  return (
+    <div className="user-invite-container">
+      <h2>邀请新用户</h2>
+      <button className="invite-button" onClick={handleGenerateInvite} disabled={loading}>
+        {loading ? '生成中...' : '生成邀请码'}
+      </button>
+      {inviteCode && (
+        <div className="invite-code">
+          邀请码:<span>{inviteCode}</span>
+        </div>
+      )}
+    </div>
+  );
+};
+
+export default UserInvite;