diff --git a/src/app/resource/classification/page.tsx b/src/app/resource/classification/page.tsx
index f147ed2..ce9d43e 100644
--- a/src/app/resource/classification/page.tsx
+++ b/src/app/resource/classification/page.tsx
@@ -88,8 +88,8 @@
           pageNumber,
           rows,
           classify: selectedClassify,
-          gameplayList: selectedGameplay.join(','),
-          versionList: selectedVersions.join(','),
+          gameplayList: selectedGameplay.join(',') ,
+          gameVersionList: selectedVersions.join(','),
           searchValue
         }
       });
@@ -115,7 +115,7 @@
       <div className="all-resources-list">
         {hotResources.map((hotResource) => (
           <Card key={hotResource.resourceId} className="all-resources-card" onClick={() => router.push(`/resource/resource-detail/${hotResource.resourceId}`)}>
-            <Image alt="avatar" src={process.env.NEXT_PUBLIC_NGINX_URL + "hotResource/" + hotResource.resourcePicture} className="resource-avatar" width="250" height="140" />
+            <Image alt="avatar" src={ "hotResource/" + hotResource.resourcePicture} className="resource-avatar" width="250" height="140" />
             <div className="resource-header">
               <div className="resource-content">
                 <h3>{hotResource.resourceName}</h3>
diff --git a/src/app/resource/hot-resource/page.tsx b/src/app/resource/hot-resource/page.tsx
index 4990638..57f1b26 100644
--- a/src/app/resource/hot-resource/page.tsx
+++ b/src/app/resource/hot-resource/page.tsx
@@ -216,7 +216,7 @@
             className="custom-carousel"
             itemTemplate={(hotResource) => (
               <div className="carousel-item" onClick={() => router.push(`/resource/resource-detail/${hotResource.resourceId}`)}>
-                <Image alt="slide" src={process.env.NEXT_PUBLIC_NGINX_URL + hotResource.resourcePicture} className="carousel-avatar" width="480" height="350" />
+                <Image alt="slide" src={ hotResource.resourcePicture} className="carousel-avatar" width="480" height="350" />
                 <h3>{hotResource.resourceName}</h3>
               </div>
             )}
@@ -238,7 +238,7 @@
               <div className="all-resources-list">
                 {hotResources.map((hotResource) => (
                   <Card key={hotResource.resourceId} className="all-resources-card" onClick={() => router.push(`/resource/resource-detail/${hotResource.resourceId}`)}>
-                    <Image alt="avatar" src={process.env.NEXT_PUBLIC_NGINX_URL + "hotResource/" + hotResource.resourcePicture} className="resource-avatar" width="250" height="140" />
+                    <Image alt="avatar" src={ "hotResource/" + hotResource.resourcePicture} className="resource-avatar" width="250" height="140" />
                     <div className="resource-header">
                       <div className="resource-content">
                         <h3>{hotResource.resourceName}</h3>
diff --git "a/src/app/resource/resource-detail/\133resourceId\135/page.tsx" "b/src/app/resource/resource-detail/\133resourceId\135/page.tsx"
index 5e0a634..22abfdb 100644
--- "a/src/app/resource/resource-detail/\133resourceId\135/page.tsx"
+++ "b/src/app/resource/resource-detail/\133resourceId\135/page.tsx"
@@ -61,7 +61,6 @@
   likes: number;  // 点赞数
   collections: number;   // 收藏数
   comments: number;   // 评论数
-  seeds: number;    // 种子数
   classify: string;  // 资源分类(材质包：resourcePack,模组：mod,整合包：modPack ,地图：map
   hot: number;     // 资源热度
   gameplayList: string[];  // 资源标签
@@ -70,7 +69,7 @@
   isLike: boolean;   // 是否被点赞
   isPurchase: boolean;   // 是否被购买
   isUpload: boolean;     // 是否是该用户上传的
-  userId: number;     // 资源上传者的id
+  uploaderId: number;     // 资源上传者的id
 }
 
 // 评论信息
@@ -99,10 +98,10 @@
 // 新评论接口
 interface NewComment {
   userId: number;
-  threadId: number;
-  resourceId: number;
-  rewardId: number;
-  replyId: number;
+  threadId: number | null;
+  resourceId: number | null;
+  rewardId: number | null;
+  replyId: number | null;
   content: string;
   createAt: string;
 }
@@ -131,7 +130,7 @@
   const userId: number = user?.Id ?? -1;
   // 获取URL参数
   const params = useParams<{ resourceId: string }>();
-  const resourceId = decodeURIComponent(params.resourceId); // 防止中文路径乱码
+  const resourceId = Number(decodeURIComponent(params.resourceId)); // 防止中文路径乱码
   // 页面跳转
   const router = useRouter();
 
@@ -198,7 +197,7 @@
         setCollectionCount(response.data.collections);
       }
 
-      setResourceAuthorId(response.data.userId);
+      setResourceAuthorId(response.data.uploaderId);
     } catch (err) {
       console.error('获取资源信息失败', err);
       toast.current?.show({ severity: 'error', summary: 'error', detail: "获取资源信息失败" });
@@ -246,9 +245,9 @@
   }
 
   useEffect(() => {
-    if (!resource?.userId || !subscriberList?.userList) return;
+    if (!resource?.uploaderId || !subscriberList?.userList) return;
 
-    const authorId = resource.userId;
+    const authorId = resource.uploaderId;
     // 设置 isSubscribed 状态
     const subscribed = subscriberList.userList.some(user => user.userId === authorId);
     setIsSubscribed(subscribed);
@@ -257,7 +256,7 @@
   // 若浏览用户与资源作者是同一人，则不显示关注按钮。若不是同一人，则显示按钮
   const handleSubscribe = () => {
     // 资源作者 ID
-    const authorId = resource?.userId;
+    const authorId = resource?.uploaderId;
     // 当前登录用户 ID
     const currentUserId = userId;
 
@@ -340,7 +339,7 @@
   // 判断该资源是否已被购买， 返回不同的购买按钮
   const isPurchase = () => {
     // 作者本人查看资源，不显示购买按钮
-    if (resource?.userId == userId) {
+    if (resource?.uploaderId == userId) {
       return;
     }
 
@@ -405,7 +404,7 @@
       if (newCollectionState) {
         // 收藏操作
         await axios.post(process.env.PUBLIC_URL + `/resource/collection`, {
-          params: { resourceId: resourceId, userId }
+          resourceId: resourceId, userId 
         });
         console.log('收藏资源');
       } else {
@@ -442,7 +441,7 @@
       if (newLikeState) {
         // 点赞操作
         await axios.post(process.env.PUBLIC_URL + `/resource/like`, {
-          params: { resourceId: resourceId, userId }
+          resourceId: resourceId, userId 
         });
         console.log('点赞资源');
       } else {
@@ -488,7 +487,7 @@
   useEffect(() => {
     if (!resource) return;
     // 发帖人
-    axios.get(process.env.PUBLIC_URL + `/user/info?userId=${resource?.userId}`)
+    axios.get(process.env.PUBLIC_URL + `/user/info?userId=${resource?.uploaderId}`)
       .then(res => setUserInfo(res.data))
       .catch(console.error);
   }, [resource]);
@@ -515,7 +514,7 @@
       const pageNumber = first / rows + 1;
       console.log("当前页" + pageNumber + "size" + rows);
       const response = await axios.get<CommentList>(
-        process.env.PUBLIC_URL + `/comments`, {
+        process.env.PUBLIC_URL + `/comment`, {
         params: { id: resourceId, pageNumber, rows, type: 'resource' }
       }
       );
@@ -547,12 +546,12 @@
     try {
       const newComment: NewComment = {
         userId,
-        rewardId: 0,
-        threadId: 0,
+        rewardId: null,
+        threadId: null,
         resourceId: resource.resourceId,
         replyId: commentId,
         content: commentValue,
-        createAt: new Date().toISOString().slice(0, 19).replace('T', ' ')
+        createAt: new Date().toISOString().slice(0, 10).replace('T', ' ')
       };
 
       const response = await axios.post(process.env.PUBLIC_URL + '/comment', newComment);
@@ -578,12 +577,12 @@
     try {
       const newComment: NewComment = {
         userId,
-        rewardId: 0,
-        threadId: 0,
+        rewardId: null,
+        threadId: null,
         resourceId: resource.resourceId,
-        replyId: 0, // 直接评论，不是回复
+        replyId: null, // 直接评论，不是回复
         content: commentValue,
-        createAt: new Date().toISOString().slice(0, 19).replace('T', ' ')
+        createAt: new Date().toISOString().slice(0, 10).replace('T', ' ')
       };
 
       const response = await axios.post(process.env.PUBLIC_URL + '/comment', newComment);
@@ -763,7 +762,7 @@
           <Link href="/community" className="no-underline">进入社区</Link>
         </div>
         <div className="comments-input">
-          <Avatar image={process.env.NEXT_PUBLIC_NGINX_URL + "users/" + userInfo.avatar} size="large" shape="circle" />
+          <Avatar image={ "users/" + userInfo.avatar} size="large" shape="circle" />
           <InputText value={commentValue} placeholder="发布你的评论" onChange={(e) => setCommentValue(e.target.value)} />
           <Button label="发布评论" onClick={publishComment} disabled={!commentValue.trim()} />
         </div>
@@ -772,7 +771,7 @@
             <div key={comment.commentId} className="comment-item">
               <div className="comment-user">
                 <Avatar
-                  image={comment.userId ? process.env.NEXT_PUBLIC_NGINX_URL + "users/" + commentUserInfos.get(comment.userId)?.avatar : '/default-avatar.png'}
+                  image={comment.userId ?  "users/" + commentUserInfos.get(comment.userId)?.avatar : '/default-avatar.png'}
                   size="normal"
                   shape="circle"
                 />
@@ -807,7 +806,7 @@
               </OverlayPanel>
               <Sidebar className='reply' header={ReplyHeader} visible={visibleReply} position="bottom" onHide={() => setVisibleReply(false)}>
                 <div className="reply-input">
-                  <Avatar image={process.env.NEXT_PUBLIC_NGINX_URL + "users/" + userInfo.avatar} size="large" shape="circle" />
+                  <Avatar image={ "users/" + userInfo.avatar} size="large" shape="circle" />
                   <InputText value={replyValue} placeholder="发布你的评论" onChange={(e) => setReplyValue(e.target.value)} />
                   <Button label="发布评论" onClick={() => publishReply(comment.commentId)} disabled={!replyValue.trim()} />
                 </div>
