1. 下载进度无法刷新问题

2. 视图更新方式修改后,视图无法正常显示问题
dev2.0
陈伟 2025-04-15 16:13:12 +08:00
parent 68ac9a84a7
commit efebf49e37
1 changed files with 19 additions and 4 deletions

View File

@ -203,6 +203,12 @@ public class DownViewModel : MvcViewModelBase
FinishedTaskHeader = $"已完成0"; FinishedTaskHeader = $"已完成0";
} }
public void RefreshHeader()
{
RunningTaskHeader = $"下载中({RunningTasks.Count}";
FinishedTaskHeader = $"已完成({FinishedTasks.Count}";
}
public void LoadRunningTasks() public void LoadRunningTasks()
{ {
// todo 队列中有几种任务状态 数据库中应该有几种任务状态 // todo 队列中有几种任务状态 数据库中应该有几种任务状态
@ -251,8 +257,11 @@ public class DownViewModel : MvcViewModelBase
var task = new MinioDownloadTask(_minioService, bucketName, objectKey, downDir, size); var task = new MinioDownloadTask(_minioService, bucketName, objectKey, downDir, size);
using var client = SqlSugarConfig.GetSqlSugarScope(); using var client = SqlSugarConfig.GetSqlSugarScope();
client.Insertable(task).ExecuteCommandIdentityIntoEntity(); client.Insertable(task).ExecuteCommandIdentityIntoEntity();
LoadFinishedTasks(); Application.Current.Dispatcher.Invoke(() =>
LoadRunningTasks(); {
RunningTasks.Add(task);
RefreshHeader();
});
Console.WriteLine($"文件大小:{size} "); Console.WriteLine($"文件大小:{size} ");
_taskQueue.Enqueue(task); _taskQueue.Enqueue(task);
} }
@ -264,8 +273,14 @@ public class DownViewModel : MvcViewModelBase
{ {
// todo 下载失败3次停止下载 // todo 下载失败3次停止下载
await task.StartDownload(); await task.StartDownload();
LoadRunningTasks(); Application.Current.Dispatcher.Invoke(() =>
LoadFinishedTasks(); {
RunningTasks.Remove(task);
FinishedTasks.Add(task);
RefreshHeader();
});
//LoadRunningTasks();
//LoadFinishedTasks();
Console.WriteLine($"异步下载完成:{task.FileName}"); Console.WriteLine($"异步下载完成:{task.FileName}");
} }
finally finally