diff --git a/front/src/MoviePage.js b/front/src/MoviePage.js
index c84797b..20e4a4f 100644
--- a/front/src/MoviePage.js
+++ b/front/src/MoviePage.js
@@ -26,7 +26,7 @@
   { label: "港台", icon: <EmailIcon fontSize="small" /> },
   { label: "欧美", icon: <PersonIcon fontSize="small" /> },
   { label: "日韩", icon: <EmojiPeopleIcon fontSize="small" /> },
-  // { label: "其他", icon: <PersonIcon fontSize="small" /> },
+  { label: "其他", icon: <PersonIcon fontSize="small" /> },
 ];
 
 const exampleTorrents = [
@@ -38,7 +38,6 @@
 export default function MoviePage() {
   const navigate = useNavigate();
   const [activeTab, setActiveTab] = React.useState(0);
-  const [movieList, setMovieList] = React.useState([]);
 
   // 每个tab对应的电影类型
   const movieTypesList = [
@@ -50,18 +49,6 @@
   ];
   const movieTypes = movieTypesList[activeTab] || [];
 
-  React.useEffect(() => {
-    // 这里假设后端接口为 /api/get-seed-list-by-tag?tag=大陆
-    const area = areaTabs[activeTab].label;
-    fetch(`http://192.168.5.9:8080/api/get-seed-list-by-tag?tag=${encodeURIComponent(area)}`)
-      .then(res => res.json())
-      .then(data => {
-        console.log('电影区返回数据:', data);
-        setMovieList(data);
-      })
-      .catch(() => setMovieList([]));
-  }, [activeTab]);
-
   return (
     <div className="container">
       {/* 顶部空白与音乐界面一致，用户栏绝对定位在页面右上角 */}
@@ -119,39 +106,21 @@
             </tr>
           </thead>
           <tbody>
-            {movieList.length > 0 ? (
-              movieList.map((item, index) => (
-                <tr key={item.id || index}>
-                  <td>
-                    <a href={`/torrent/${item.seedid}`} style={{ color: '#1a237e', textDecoration: 'none' }}>
-                      {item.seedtag}
-                    </a>
-                  </td>
-                  <td>
-                    <a href={`/torrent/${item.seedid}`} style={{ color: '#1a237e', textDecoration: 'none' }}>
-                      {item.title}
-                    </a>
-                  </td>
-                  <td>{item.user.username}</td>
-                </tr>
-              ))
-            ) : (
-              movieTypes.map((type, index) => (
-                <tr key={type}>
-                  <td>
-                    <a href={`/torrent/${type}`} style={{ color: '#1a237e', textDecoration: 'none' }}>
-                      {type}
-                    </a>
-                  </td>
-                  <td>
-                    <a href={`/torrent/${type}`} style={{ color: '#1a237e', textDecoration: 'none' }}>
-                      种子{index + 1}
-                    </a>
-                  </td>
-                  <td>发布者{index + 1}</td>
-                </tr>
-              ))
-            )}
+            {movieTypes.map((type, index) => (
+              <tr key={type}>
+                <td>
+                  <a href={`/torrent/${type}`} style={{ color: '#1a237e', textDecoration: 'none' }}>
+                    {type}
+                  </a>
+                </td>
+                <td>
+                  <a href={`/torrent/${type}`} style={{ color: '#1a237e', textDecoration: 'none' }}>
+                    种子{index + 1}
+                  </a>
+                </td>
+                <td>发布者{index + 1}</td>
+              </tr>
+            ))}
           </tbody>
         </table>
       </div>
