diff --git a/src/app/user/page.tsx b/src/app/user/page.tsx
index 4baef17..5d36dc4 100644
--- a/src/app/user/page.tsx
+++ b/src/app/user/page.tsx
@@ -259,7 +259,7 @@
     const fetchHomePageThread = async () => {
         try {
             const response = await axios.get<ThreadList>(process.env.PUBLIC_URL + `/user/thread`, {
-                params: { userId: 22301010,  pageNumber: 1, rows: 3 }
+                params: { userId: userId,  pageNumber: 1, rows: 3 }
             })
             console.log('获取主页发布帖子：', response.data);
             setHomePageThread(response.data);
@@ -279,7 +279,7 @@
         try {
             const pageNumber = threadFirst / threadRows + 1;
             const response = await axios.get<ThreadList>(process.env.PUBLIC_URL + `/user/thread`, {
-                params: { userId: 22301010,  pageNumber: pageNumber, rows: threadRows }
+                params: { userId: userId,  pageNumber: pageNumber, rows: threadRows }
             })
             console.log('获取我的帖子：', response.data);
             setThreadList(response.data.records);
@@ -299,7 +299,7 @@
         try {
             const pageNumber = rewardFirst / rewardRows + 1;
             const response = await axios.get<RewardList>(process.env.PUBLIC_URL + `/user/reward`, {
-                params: { userId: 22301010,  pageNumber: pageNumber, rows: rewardRows }
+                params: { userId: userId,  pageNumber: pageNumber, rows: rewardRows }
             })
             console.log('获取我的悬赏：', response.data);
             setRewardList(response.data.rewardList);
@@ -364,7 +364,7 @@
             const response = await axios.delete(process.env.PUBLIC_URL + `/reward`, {
                 params: {rewardId: deleteRewardId},
             });
-            console.log("用户" + 22301010 + "要删除" + deleteRewardId + "号悬赏");
+            console.log("用户" + userId + "要删除" + deleteRewardId + "号悬赏");
 
             if (response.status === 204) {
                 console.log("用户成功删除悬赏");
