合并

Change-Id: I19ca58c58a513cba20c162c9ed7cbab90e060bf6
diff --git a/src/components/Dashboard.jsx b/src/components/Dashboard.jsx
index 97a01cc..836daa7 100644
--- a/src/components/Dashboard.jsx
+++ b/src/components/Dashboard.jsx
@@ -3,7 +3,7 @@
 // import { getUserInfo } from '../api/auth';  

 import {createTorrent, getTorrents} from '../api/torrent';

 import './Dashboard.css';

-import {createPost, getPosts} from '../api/helpPost';

+import {createPost, getPosts, getPostDetail} from '../api/helpPost';

 

 

 const Dashboard = ({onLogout}) => {

@@ -34,6 +34,8 @@
     const [helpError, setHelpError] = useState(null);

     const [currentPage, setCurrentPage] = useState(1);

     const [totalPages, setTotalPages] = useState(1);

+    const [likedPosts,setLikedPosts] = useState({});

+

 

     // 添加状态

     const [torrentPosts, setTorrentPosts] = useState([]);

@@ -179,28 +181,29 @@
     const handlePostSubmit = async (e) => {

         e.preventDefault();

         try {

-            const username = localStorage.getItem('username');

-            const response = await createPost(

-                postTitle,

-                postContent,

-                username

-            );

-

-            if (response.data.code === 200) {

-                // 刷新帖子列表

-                await fetchHelpPosts();

-                // 重置表单

-                setShowPostModal(false);

-                setPostTitle('');

-                setPostContent('');

-                setSelectedImage(null);

-            } else {

-                setHelpError(response.data.message || '发帖失败');

-            }

+          const username = localStorage.getItem('username');

+          const response = await createPost(

+            postTitle,

+            postContent,

+            username,

+            selectedImage

+          );

+          

+          if (response.data.code === 200) {

+            // 刷新帖子列表

+            await fetchHelpPosts(currentPage);

+            // 重置表单

+            setShowPostModal(false);

+            setPostTitle('');

+            setPostContent('');

+            setSelectedImage(null);

+          } else {

+            setHelpError(response.data.message || '发帖失败');

+          }

         } catch (err) {

-            setHelpError(err.message || '发帖失败');

+          setHelpError(err.message || '发帖失败');

         }

-    };

+      };

 

     // 获取Torrent帖子列表

     const fetchTorrentPosts = async (page = 1) => {

@@ -232,20 +235,40 @@
     const fetchHelpPosts = async (page = 1) => {

         setHelpLoading(true);

         try {

-            const response = await getPosts(page);

-            if (response.data.code === 200) {

-                setHelpPosts(response.data.data.records);

-                setTotalPages(Math.ceil(response.data.data.total / 5)); // 假设每页5条

-                setCurrentPage(page);

-            } else {

-                setHelpError(response.data.message || '获取求助帖失败');

-            }

+          const response = await getPosts(page);

+          if (response.data.code === 200) {

+            const postsWithCounts = await Promise.all(

+              response.data.data.records.map(async (post) => {

+                try {

+                  const detailResponse = await getPostDetail(post.id);

+                  if (detailResponse.data.code === 200) {

+                    return {

+                      ...post,

+                      replyCount: detailResponse.data.data.post.replyCount || 0,

+                      isLiked: false // 根据需要添加其他字段

+                    };

+                  }

+                  return post; // 如果获取详情失败,返回原始帖子数据

+                } catch (err) {

+                  console.error(`获取帖子${post.id}详情失败:`, err);

+                  return post;

+                }

+              })

+            );

+            setHelpPosts(postsWithCounts);

+            setTotalPages(Math.ceil(response.data.data.total / 5)); // 假设每页5条

+            setCurrentPage(page);

+          } else {

+            setHelpError(response.data.message || '获取求助帖失败');

+          }

         } catch (err) {

-            setHelpError(err.message || '获取求助帖失败');

+          setHelpError(err.message || '获取求助帖失败');

         } finally {

-            setHelpLoading(false);

+          setHelpLoading(false);

         }

-    };

+      };

+

+

     useEffect(() => {

         if (activeTab === 'help') {

             fetchHelpPosts(currentPage);