diff --git a/src/pages/UserCenter/UserFriends.jsx b/src/pages/UserCenter/UserFriends.jsx
index e1c9789..5540911 100644
--- a/src/pages/UserCenter/UserFriends.jsx
+++ b/src/pages/UserCenter/UserFriends.jsx
@@ -226,6 +226,8 @@
   const [loadingMessages, setLoadingMessages] = useState(false);
   const [messagesError, setMessagesError] = useState(null);
 
+  const [email, setEmail] = useState('');
+
   useEffect(() => {
     if (loading) return;
 
@@ -320,12 +322,26 @@
     }
   };
 
+  const handleSubmit = async () => {
+    const res = await axios.post(`/echo/user/addFriend`, { email: email, userid: user.userId });
+    console.log(res);
+    const response = await axios.get(`/echo/user/${user.userId}/friends`);
+    setFriends(response.data || []);
+    alert(res.data.msg);
+  }
+
   if (loading) return <p>正在加载...</p>;
   if (error) return <p className="error">{error}</p>;
 
   return (
     <div className="user-subpage-card">
       <h2>我的好友</h2>
+      <div>
+        <input type="text" value={email} placeholder="请输入好友邮箱" onChange={e => setEmail(e.target.value)} />
+        <button className="btn submit" onClick={handleSubmit}>
+          添加
+        </button>
+      </div>
       <div className="friends-list">
         {friends.length === 0 && <p>暂无好友</p>}
         {friends.map((friend) => (
