diff --git a/job/DouYinCollectSyncJob.cs b/job/DouYinCollectSyncJob.cs index a6b05ef..49c2028 100644 --- a/job/DouYinCollectSyncJob.cs +++ b/job/DouYinCollectSyncJob.cs @@ -49,7 +49,16 @@ namespace dy.net.job authorFolder = $"{DouyinFileNameHelper.SanitizeLinuxFileName(item.Author?.Nickname, item.Author?.Uid, true)}"; } var folder = Path.Combine(cookie.SavePath, authorFolder, $"{DouyinFileNameHelper.SanitizeLinuxFileName(item.Desc, item.AwemeId, true)}"); - if (!Directory.Exists(folder)) Directory.CreateDirectory(folder); + if (!Directory.Exists(folder)) + { + Directory.CreateDirectory(folder); + } + else + { + //说明文件夹存在,检查里面有没有文件,如果已经有视频文件了,说明视频标题相同,那么应该重新创建文件夹,+id + + folder = Path.Combine(cookie.SavePath, authorFolder , $"{DouyinFileNameHelper.SanitizeLinuxFileName(item.Desc, item.AwemeId, true)}"+"_" + item.AwemeId); + } return folder; } diff --git a/job/DouYinFavoritSyncJob.cs b/job/DouYinFavoritSyncJob.cs index 2471fb5..574b77d 100755 --- a/job/DouYinFavoritSyncJob.cs +++ b/job/DouYinFavoritSyncJob.cs @@ -55,7 +55,16 @@ namespace dy.net.job authorFolder = $"{DouyinFileNameHelper.SanitizeLinuxFileName(item.Author?.Nickname, item.Author?.Uid, true)}"; } var folder = Path.Combine(cookie.FavSavePath, authorFolder, $"{DouyinFileNameHelper.SanitizeLinuxFileName(item.Desc, item.AwemeId, true)}"); - if (!Directory.Exists(folder)) Directory.CreateDirectory(folder); + if (!Directory.Exists(folder)) + { + Directory.CreateDirectory(folder); + } + else + { + //说明文件夹存在,检查里面有没有文件,如果已经有视频文件了,说明视频标题相同,那么应该重新创建文件夹,+id + + folder = Path.Combine(cookie.SavePath, authorFolder, $"{DouyinFileNameHelper.SanitizeLinuxFileName(item.Desc, item.AwemeId, true)}" + "_" + item.AwemeId); + } return folder; } } diff --git a/job/DouyinBasicSyncJob.cs b/job/DouyinBasicSyncJob.cs index 248fb2a..c052877 100644 --- a/job/DouyinBasicSyncJob.cs +++ b/job/DouyinBasicSyncJob.cs @@ -204,7 +204,16 @@ namespace dy.net.job { var subFolder = DouyinFileNameHelper.SanitizeLinuxFileName(item.Desc, item.AwemeId, true); var folder = Path.Combine(cookie.SavePath, subFolder); - if (!Directory.Exists(folder)) Directory.CreateDirectory(folder); + if (!Directory.Exists(folder)) + { + Directory.CreateDirectory(folder); + } + else + { + //说明文件夹存在,检查里面有没有文件,如果已经有视频文件了,说明视频标题相同,那么应该重新创建文件夹,+id + + folder = Path.Combine(cookie.SavePath, subFolder + "_" + item.AwemeId); + } return folder; } @@ -267,21 +276,6 @@ namespace dy.net.job } } - - /// - /// 获取NFO文件中的图片(如海报)文件名 - /// - /// 当前操作的Cookie - /// 视频信息 - /// 应用配置 - /// 原文件名称(如poster.jpg) - /// - /// 封面图片的文件名 - protected virtual string GetNfoFileName(DouyinCookie cookie, Aweme item, AppConfig config, string fileName, DouyinCollectCate cate) - { - return $"{item.AwemeId}_{fileName}"; - } - /// /// 处理单个用户Cookie的同步逻辑 /// 负责循环获取视频数据、处理视频、保存视频信息等 @@ -1363,8 +1357,7 @@ namespace dy.net.job { if (string.IsNullOrWhiteSpace(coverUrl)) return; // 获取封面图片文件名 - var coverImgName = GetNfoFileName(cookie, item, config, "poster.jpg", cate); - var coverSavePath = Path.Combine(saveFolder, coverImgName); + var coverSavePath = Path.Combine(saveFolder, "poster.jpg"); // 如果封面文件不存在,则下载 if (!File.Exists(coverSavePath)) diff --git a/job/DouyinCollectCustomSyncJob.cs b/job/DouyinCollectCustomSyncJob.cs index b8495f3..6937126 100644 --- a/job/DouyinCollectCustomSyncJob.cs +++ b/job/DouyinCollectCustomSyncJob.cs @@ -19,7 +19,16 @@ namespace dy.net.job if (cate != null) { var folder = Path.Combine(cookie.SavePath, DouyinFileNameHelper.SanitizeLinuxFileName(cate.SaveFolder, "", true), DouyinFileNameHelper.SanitizeLinuxFileName(item.Desc, item.AwemeId, true)); - if (!Directory.Exists(folder)) Directory.CreateDirectory(folder); + if (!Directory.Exists(folder)) + { + Directory.CreateDirectory(folder); + } + else + { + //说明文件夹存在,检查里面有没有文件,如果已经有视频文件了,说明视频标题相同,那么应该重新创建文件夹,+id + + folder = Path.Combine(cookie.SavePath, DouyinFileNameHelper.SanitizeLinuxFileName(cate.SaveFolder, "", true), DouyinFileNameHelper.SanitizeLinuxFileName(item.Desc, item.AwemeId, true)+"_"+item.AwemeId); + } return folder; } else diff --git a/utils/NfoFileGenerator.cs b/utils/NfoFileGenerator.cs index bff2e71..368ea13 100644 --- a/utils/NfoFileGenerator.cs +++ b/utils/NfoFileGenerator.cs @@ -64,9 +64,9 @@ namespace dy.net.utils } }, Author = DouyinFileNameHelper.SanitizeLinuxFileName(video.Author, "", true), - Poster = $"{video.AwemeId}_poster.jpg", + Poster = "poster.jpg", Title = video.VideoTitle, - Thumbnail = $"{video.AwemeId}_poster.jpg",// 使用poster作为缩略图 + Thumbnail = "poster.jpg",// 使用poster作为缩略图 ReleaseDate = video.CreateTime, Genres = new List { video.Tag1, video.Tag2, video.Tag3 }.Where(t => !string.IsNullOrWhiteSpace(t)).ToList() };