feat(torrents): 优化种子页面功能和交互
- 调整 torrents API 调用,增加更多接口支持
- 优化种子列表展示和操作,支持下载和查看详情
- 新增种子详情页面路由和组件
- 改进上传种子功能,增加表单验证和错误提示
- 优化用户信息展示
Change-Id: I9343f2f446639733ee5800a86bab85a4ac6d1a72
diff --git a/src/api/torrents.js b/src/api/torrents.js
index 8dd603d..1eb655c 100644
--- a/src/api/torrents.js
+++ b/src/api/torrents.js
@@ -1,9 +1,46 @@
import request from "@/utils/request";
export const uploadTorrent = (formData) => {
- return request.post("/resource/publish", formData);
+ return request.post("/resource/publish", formData, {
+ headers: {
+ 'Content-Type': 'multipart/form-data',
+ },
+ });
};
export const getTorrentList = (params) => {
- return request.get("/list/all", { params });
+ return request.get("resource/list/all", { params });
+};
+
+export const getTorrentListByUser = (params) => {
+ return request.get("resource/list/user", { params });
+};
+
+export const getTorrentDetail = (id) => {
+ return request.get(`resource/get/${id}`);
+};
+
+export const downloadTorrent = (id, username) => {
+ return request.get(`/resource/download/${id}`, {
+ params: {
+ username: username,
+ },
+ responseType: 'blob', // 重要:指定响应类型为blob,用于文件下载
+ });
+};
+
+export const getTorrentInfo = ({id, username}) => {
+ return request.get(`/resource/get/${id}`, {
+ params: {
+ username: username,
+ },
+ });
+};
+
+export const deleteTorrent = (id) => {
+ return request.delete(`resource/delete/${id}`);
+};
+
+export const searchTorrent = (params) => {
+ return request.get("resource/search", { params });
};
\ No newline at end of file
diff --git a/src/api/user.js b/src/api/user.js
index 7ac2d72..ee5d5bf 100644
--- a/src/api/user.js
+++ b/src/api/user.js
@@ -18,9 +18,9 @@
};
// PT站统计信息API
-export const getUserStats = (username) => {
- return request.get(`/user/stats/${username}`);
-};
+// export const getUserStats = (username) => {
+// // return request.get(`/user/stats/${username}`);
+// };
export const getUserTorrents = (username, type = 'all') => {
return request.get(`/user/torrents/${username}`, {
@@ -32,4 +32,12 @@
return request.get(`/user/history/${username}`, {
params: { page, limit }
});
-};
\ No newline at end of file
+};
+
+export const getUserInfo = (username) => {
+ return request.get(`/user/get/info`, {
+ params: {
+ username: username,
+ },
+ });
+};
\ No newline at end of file