完善下载重试机制

This commit is contained in:
mtvpls
2025-12-09 23:30:12 +08:00
parent 777e110bf1
commit af12da4263
4 changed files with 139 additions and 39 deletions
+7
View File
@@ -10,6 +10,7 @@ interface DownloadContextType {
startTask: (taskId: string) => void;
pauseTask: (taskId: string) => void;
cancelTask: (taskId: string) => void;
retryFailedSegments: (taskId: string) => void;
getProgress: (taskId: string) => number;
downloadingCount: number;
showDownloadPanel: boolean;
@@ -62,6 +63,11 @@ export function DownloadProvider({ children }: { children: React.ReactNode }) {
setTasks(downloader.getAllTasks());
}, [downloader]);
const retryFailedSegments = useCallback((taskId: string) => {
downloader.retryFailedSegments(taskId);
setTasks(downloader.getAllTasks());
}, [downloader]);
const getProgress = useCallback((taskId: string) => {
return downloader.getProgress(taskId);
}, [downloader]);
@@ -77,6 +83,7 @@ export function DownloadProvider({ children }: { children: React.ReactNode }) {
startTask,
pauseTask,
cancelTask,
retryFailedSegments,
getProgress,
downloadingCount,
showDownloadPanel,