在后端api未测试的前提下完成种子上传

Change-Id: Ie7387ec1db864125afef0cbc08e4f57fb8a91b19
diff --git a/src/api/torrent.js b/src/api/torrent.js
new file mode 100644
index 0000000..3c93697
--- /dev/null
+++ b/src/api/torrent.js
@@ -0,0 +1,100 @@
+import request from './request'

+

+/**

+ * 上传种子

+ * @param {FormData} formData - 包含种子文件和相关信息的表单数据

+ * @returns {Promise}

+ */

+export function uploadTorrent(formData) {

+  return request({

+    url: '/torrent/upload',

+    method: 'post',

+    data: formData,

+    headers: {

+      'Content-Type': 'multipart/form-data'

+    }

+  })

+}

+

+/**

+ * 获取分类列表

+ * @returns {Promise}

+ */

+export function getCategories() {

+    console.log('调用获取分类列表API(使用假数据)...')

+    

+    // 由于后端分类API还没实现,返回模拟数据

+    return new Promise((resolve) => {

+      setTimeout(() => {

+        const categories = [

+          { id: 1, name: '操作系统', slug: 'os', icon: 'computer' },

+          { id: 2, name: '软件应用', slug: 'software', icon: 'application' },

+          { id: 3, name: '游戏', slug: 'games', icon: 'game' },

+          { id: 4, name: '影音娱乐', slug: 'media', icon: 'video' },

+          { id: 5, name: '开发工具', slug: 'dev-tools', icon: 'code' },

+          { id: 6, name: '学习资料', slug: 'education', icon: 'book' },

+          { id: 7, name: '移动应用', slug: 'mobile', icon: 'mobile' },

+          { id: 8, name: '服务器软件', slug: 'server', icon: 'server' },

+          { id: 9, name: '安全工具', slug: 'security', icon: 'shield' },

+          { id: 10, name: '其他', slug: 'others', icon: 'folder' }

+        ]

+        

+        console.log('分类列表模拟数据加载成功:', categories)

+        resolve({ data: categories })

+      }, 200) // 模拟网络延迟

+    })

+  }

+

+/**

+ * 获取标签列表

+ * @returns {Promise}

+ * 暂时还没有获取标签的列表

+ */

+export function getTags() {

+    console.log('调用获取标签列表API...')

+    // 由于后端没有标签的Controller,返回模拟数据

+    return new Promise((resolve) => {

+      setTimeout(() => {

+        resolve({

+          data: [

+            { id: 1, name: 'linux' },

+            { id: 2, name: 'ubuntu' },

+            { id: 3, name: 'debian' },

+            { id: 4, name: 'windows' },

+            { id: 5, name: 'macos' },

+            { id: 6, name: 'centos' },

+            { id: 7, name: 'redhat' },

+            { id: 8, name: 'android' },

+            { id: 9, name: 'ios' },

+            { id: 10, name: 'server' },

+            { id: 11, name: 'desktop' }

+          ]

+        })

+      }, 100)

+    })

+  }

+

+/**

+ * 获取种子详情

+ * @param {string} infoHash - 种子的info hash

+ * @returns {Promise}

+ */

+export function getTorrentDetail(infoHash) {

+  return request({

+    url: `/api/torrent/${infoHash}`,

+    method: 'get'

+  })

+}

+

+/**

+ * 获取种子列表

+ * @param {Object} params - 查询参数

+ * @returns {Promise}

+ */

+export function getTorrents(params) {

+  return request({

+    url: '/api/torrents',

+    method: 'get',

+    params

+  })

+}
\ No newline at end of file