blob: cd66464a3fb3d8507004afd7b5b8910c70482ebd [file] [log] [blame]
vulgar5201055346a2025-06-05 14:15:55 +08001import request from './request'
2
3/**
4 * 上传种子
5 * @param {FormData} formData - 包含种子文件和相关信息的表单数据
6 * @returns {Promise}
7 */
8export function uploadTorrent(formData) {
9 return request({
10 url: '/torrent/upload',
11 method: 'post',
12 data: formData,
13 headers: {
14 'Content-Type': 'multipart/form-data'
15 }
16 })
17}
18
19/**
vulgar520152afbcf2025-06-07 02:34:46 +080020 * 搜索种子
21 * @param {Object} searchParams - 搜索参数
22 * @param {string} searchParams.keyword - 搜索关键词
23 * @param {string} searchParams.category - 分类
24 * @param {string} searchParams.sortBy - 排序字段
25 * @param {string} searchParams.sortOrder - 排序方向
26 * @param {number} searchParams.page - 页码
27 * @param {number} searchParams.entriesPerPage - 每页条数
28 * @returns {Promise}
29 */
30export function searchTorrents(searchParams) {
31 return request({
32 url: '/torrent/search',
33 method: 'post',
34 data: searchParams
35 }).catch(error => {
36 console.error('🚨 API请求失败:', {
37 url: '/torrent/search',
38 requestedURL: error.config?.url,
39 baseURL: error.config?.baseURL,
40 fullURL: error.config?.baseURL ? error.config.baseURL + error.config.url : error.config?.url,
41 status: error.response?.status,
42 statusText: error.response?.statusText
43 })
44 throw error
45 })
46}
47
48/**
vulgar5201055346a2025-06-05 14:15:55 +080049 * 获取分类列表
50 * @returns {Promise}
51 */
52export function getCategories() {
vulgar5201c4a15b12025-06-06 13:55:09 +080053 return request({
54 url: '/category/list', // 注意这里不需要加 /api,已经在代理中配置了
55 method: 'get'
56 })
57}
vulgar5201055346a2025-06-05 14:15:55 +080058
59/**
60 * 获取标签列表
61 * @returns {Promise}
62 * 暂时还没有获取标签的列表
63 */
64export function getTags() {
65 console.log('调用获取标签列表API...')
vulgar520152afbcf2025-06-07 02:34:46 +080066 // 后端没有标签的Controller,返回模拟数据
vulgar5201055346a2025-06-05 14:15:55 +080067 return new Promise((resolve) => {
68 setTimeout(() => {
69 resolve({
70 data: [
71 { id: 1, name: 'linux' },
vulgar5201c4a15b12025-06-06 13:55:09 +080072 { id: 2, name: 'ios' },
73 { id: 3, name: 'ubuntu' }
vulgar5201055346a2025-06-05 14:15:55 +080074 ]
75 })
76 }, 100)
77 })
78 }
79
80/**
81 * 获取种子详情
82 * @param {string} infoHash - 种子的info hash
83 * @returns {Promise}
84 */
85export function getTorrentDetail(infoHash) {
86 return request({
vulgar5201ef2b41e2025-06-05 19:09:44 +080087 url: `/torrent/${infoHash}`,
vulgar5201055346a2025-06-05 14:15:55 +080088 method: 'get'
89 })
vulgar5201055346a2025-06-05 14:15:55 +080090}