mirror of
https://github.com/lanyeeee/bilibili-video-downloader.git
synced 2026-09-05 07:27:42 +08:00
fix: 修复删除正在下载的任务时,被删除的任务重启后有概率又出现的问题
This commit is contained in:
@@ -297,15 +297,19 @@ impl DownloadProgress {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn save(&self, app: &AppHandle) -> anyhow::Result<()> {
|
||||
pub fn save(&self, app: &AppHandle, allow_create: bool) -> anyhow::Result<()> {
|
||||
let progress = self.clone();
|
||||
let file_name = format!("{}.json", progress.task_id);
|
||||
|
||||
let app_data_dir = app.path().app_data_dir()?;
|
||||
let task_dir = app_data_dir.join(".下载任务");
|
||||
std::fs::create_dir_all(&task_dir)?;
|
||||
let tasks_dir = app_data_dir.join(".下载任务");
|
||||
std::fs::create_dir_all(&tasks_dir)?;
|
||||
|
||||
let save_path = tasks_dir.join(file_name);
|
||||
if !allow_create && !save_path.exists() {
|
||||
return Ok(());
|
||||
}
|
||||
|
||||
let save_path = task_dir.join(file_name);
|
||||
let progress_json = serde_json::to_string(&progress)?;
|
||||
std::fs::write(save_path, progress_json)?;
|
||||
|
||||
|
||||
@@ -103,7 +103,7 @@ impl DownloadTask {
|
||||
|
||||
let mut tasks = Vec::new();
|
||||
for progress in progresses {
|
||||
if let Err(err) = progress.save(app) {
|
||||
if let Err(err) = progress.save(app, true) {
|
||||
let ids_string = progress.get_ids_string();
|
||||
let episode_title = &progress.episode_title;
|
||||
let err_title = format!("{ids_string} `{episode_title}`保存下载进度到文件失败");
|
||||
@@ -1032,7 +1032,7 @@ impl DownloadTask {
|
||||
}
|
||||
.emit(&self.app);
|
||||
|
||||
if let Err(err) = updated_progress.save(&self.app) {
|
||||
if let Err(err) = updated_progress.save(&self.app, false) {
|
||||
let ids_string = updated_progress.get_ids_string();
|
||||
let episode_title = &updated_progress.episode_title;
|
||||
let err_title = format!("{ids_string} `{episode_title}`保存下载进度到文件失败");
|
||||
|
||||
Reference in New Issue
Block a user