✨ 添加收藏和下载队列
This commit is contained in:
68
src/lib/api/download.ts
Normal file
68
src/lib/api/download.ts
Normal file
@@ -0,0 +1,68 @@
|
||||
import { invoke } from "@tauri-apps/api/core";
|
||||
import { DownloadTask } from "@/types/download";
|
||||
|
||||
/**
|
||||
* 获取下载列表
|
||||
* @returns Promise<DownloadTask[]>
|
||||
*/
|
||||
export async function getDownloads(): Promise<DownloadTask[]> {
|
||||
try {
|
||||
return await invoke<DownloadTask[]>("get_downloads");
|
||||
} catch (error) {
|
||||
throw new Error(`获取下载列表失败: ${error}`);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加下载任务
|
||||
* @param category 应用分类
|
||||
* @param pkgname 应用包名
|
||||
* @param filename 文件名
|
||||
* @param name 应用名称
|
||||
*/
|
||||
export async function addDownload(category: string, pkgname: string, filename: string, name: string): Promise<void> {
|
||||
try {
|
||||
await invoke("add_download", { category, pkgname, filename, name });
|
||||
} catch (error) {
|
||||
throw new Error(`添加下载任务失败: ${error}`);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 暂停下载任务
|
||||
* @param category 应用分类
|
||||
* @param pkgname 应用包名
|
||||
*/
|
||||
export async function pauseDownload(category: string, pkgname: string): Promise<void> {
|
||||
try {
|
||||
await invoke("pause_download", { category, pkgname });
|
||||
} catch (error) {
|
||||
throw new Error(`暂停下载任务失败: ${error}`);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 继续下载任务
|
||||
* @param category 应用分类
|
||||
* @param pkgname 应用包名
|
||||
*/
|
||||
export async function resumeDownload(category: string, pkgname: string): Promise<void> {
|
||||
try {
|
||||
await invoke("resume_download", { category, pkgname });
|
||||
} catch (error) {
|
||||
throw new Error(`继续下载任务失败: ${error}`);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 取消下载任务
|
||||
* @param category 应用分类
|
||||
* @param pkgname 应用包名
|
||||
*/
|
||||
export async function cancelDownload(category: string, pkgname: string): Promise<void> {
|
||||
try {
|
||||
await invoke("cancel_download", { category, pkgname });
|
||||
} catch (error) {
|
||||
throw new Error(`取消下载任务失败: ${error}`);
|
||||
}
|
||||
}
|
||||
27
src/lib/api/file.ts
Normal file
27
src/lib/api/file.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
import { invoke } from "@tauri-apps/api/core";
|
||||
|
||||
/**
|
||||
* 保存文本文件到配置目录
|
||||
* @param filename 文件名
|
||||
* @param content 文件内容
|
||||
*/
|
||||
export async function saveTextFile(filename: string, content: string): Promise<void> {
|
||||
try {
|
||||
await invoke('save_text_file', { filename, content });
|
||||
} catch (error) {
|
||||
throw new Error(`保存文件失败: ${error}`);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 从配置目录读取文本文件
|
||||
* @param filename 文件名
|
||||
* @returns 文件内容
|
||||
*/
|
||||
export async function readTextFile(filename: string): Promise<string> {
|
||||
try {
|
||||
return await invoke('read_text_file', { filename });
|
||||
} catch (error) {
|
||||
throw new Error(`读取文件失败: ${error}`);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user