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