新增前端接口,修改种子发布页面
Change-Id: I9d9f4bde524caeaab9cbadcd0e14f44e521b0abb
diff --git a/front/src/MoviePage.js b/front/src/MoviePage.js
index 20e4a4f..c84797b 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,6 +38,7 @@
export default function MoviePage() {
const navigate = useNavigate();
const [activeTab, setActiveTab] = React.useState(0);
+ const [movieList, setMovieList] = React.useState([]);
// 每个tab对应的电影类型
const movieTypesList = [
@@ -49,6 +50,18 @@
];
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">
{/* 顶部空白与音乐界面一致,用户栏绝对定位在页面右上角 */}
@@ -106,21 +119,39 @@
</tr>
</thead>
<tbody>
- {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>
- ))}
+ {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>
+ ))
+ )}
</tbody>
</table>
</div>