From 72497c5faedc2e5a9f2fc7935413e009440e2ff1 Mon Sep 17 00:00:00 2001 From: jianzhichu Date: Sat, 6 Dec 2025 13:12:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9A=E5=9B=BE=E6=96=87?= =?UTF-8?q?=E8=A7=86=E9=A2=91=E8=A7=86=E9=A2=91=E4=B8=8B=E8=BD=BD=20?= =?UTF-8?q?=E5=9C=A8=E6=94=B9=E5=8F=98=E5=9B=BE=E6=96=87=E8=A7=86=E9=A2=91?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=EF=BC=88=E7=94=B1=E4=B8=8B=E8=BD=BD=E5=9B=BE?= =?UTF-8?q?=E6=96=87=E8=A7=86=E9=A2=91=E6=94=B9=E4=B8=BA=E4=B8=8D=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD=E5=9B=BE=E6=96=87=E8=A7=86=E9=A2=91=EF=BC=8C=E4=BD=86?= =?UTF-8?q?=E6=98=AF=E4=B8=8B=E8=BD=BD=E5=9B=BE=E7=89=87=E6=97=B6=EF=BC=8C?= =?UTF-8?q?=E5=AF=B9=E4=BA=8E=E9=87=8D=E6=96=B0=E4=B8=8B=E8=BD=BD=E7=9A=84?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=EF=BC=8C=E4=BC=9A=E5=87=BA=E7=8E=B0=E5=88=9B?= =?UTF-8?q?=E5=BB=BA=E8=A7=86=E9=A2=91=E8=AE=B0=E5=BD=95=E5=9B=A0=E4=B8=BA?= =?UTF-8?q?=E6=B2=A1=E5=8F=88=E8=A7=86=E9=A2=91=E5=AF=BC=E8=87=B4=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E8=A7=86=E9=A2=91=E5=A4=A7=E5=B0=8F=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Program.cs | 2 +- .../PublishProfiles/FolderProfile.pubxml.user | 2 +- app/src/pages/set/AppSet.vue | 6 ++--- app/src/pages/workplace/RecordTable.vue | 5 +++-- appsettings.json | 7 +++--- dy.net.csproj | 1 + job/DouyinBasicSyncJob.cs | 22 +++++++++++++++---- service/DouyinMergeVideoService.cs | 4 ++-- 8 files changed, 33 insertions(+), 16 deletions(-) diff --git a/Program.cs b/Program.cs index d036a9d..bc4a4d3 100644 --- a/Program.cs +++ b/Program.cs @@ -197,7 +197,7 @@ ____/ _|_)_____/ _| _| \_|\____| // ÖØÖò©Ö÷×÷Ʒͬ²½״̬Ϊδͬ²½ commonService.UpdateAllCookieSyncedToZero(); - if (!isDevelopment) + //if (!isDevelopment) { // Æô¶¯¶¨ʱÈÎÎñ var quartzJobService = services.GetRequiredService(); diff --git a/Properties/PublishProfiles/FolderProfile.pubxml.user b/Properties/PublishProfiles/FolderProfile.pubxml.user index 929bfdc..c815d2e 100644 --- a/Properties/PublishProfiles/FolderProfile.pubxml.user +++ b/Properties/PublishProfiles/FolderProfile.pubxml.user @@ -5,7 +5,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. <_PublishTargetUrl>E:\code\dysync\bin\Release\net6.0\publish\ - True|2025-12-05T15:11:51.5026151Z||;True|2025-12-05T12:46:26.1415079+08:00||;False|2025-12-05T12:46:19.1274332+08:00||;True|2025-12-05T09:04:36.7111717+08:00||;True|2025-12-05T08:22:51.7343317+08:00||;True|2025-12-05T08:20:32.0383739+08:00||;True|2025-12-04T21:58:29.4112766+08:00||;True|2025-12-04T21:58:10.0382218+08:00||;True|2025-12-04T21:57:55.3894059+08:00||;True|2025-12-04T21:10:38.8943797+08:00||;True|2025-12-04T21:09:31.5024569+08:00||;True|2025-12-04T08:22:47.9617427+08:00||;False|2025-12-04T08:22:41.3759733+08:00||;True|2025-12-04T08:14:02.2478893+08:00||;True|2025-12-04T07:57:00.2208139+08:00||;True|2025-12-03T23:58:13.3693303+08:00||;True|2025-12-03T23:57:40.4257893+08:00||;True|2025-12-03T23:56:38.8717769+08:00||;True|2025-12-03T23:56:24.0663568+08:00||;False|2025-12-03T23:55:36.1902974+08:00||;True|2025-12-03T23:51:30.6688504+08:00||;True|2025-12-03T23:34:17.1648971+08:00||;False|2025-12-03T23:34:07.7649161+08:00||;True|2025-12-03T22:32:56.2435003+08:00||;True|2025-12-03T22:27:45.6059666+08:00||;True|2025-12-03T15:55:28.0186597+08:00||;False|2025-12-03T15:54:17.5032724+08:00||;True|2025-12-03T15:53:10.2273509+08:00||;True|2025-12-02T22:11:37.4645042+08:00||;False|2025-12-02T22:10:47.1320259+08:00||;True|2025-12-02T14:39:58.8932130+08:00||;True|2025-12-02T14:36:37.1529072+08:00||;True|2025-12-02T12:58:22.0951548+08:00||;True|2025-12-02T09:30:33.7066474+08:00||;True|2025-12-02T09:30:14.5481844+08:00||;True|2025-12-02T09:30:00.3123364+08:00||;False|2025-12-02T09:29:54.4615520+08:00||;True|2025-12-02T09:13:01.7995414+08:00||;False|2025-12-02T09:12:55.8360281+08:00||;True|2025-12-02T09:12:31.0156791+08:00||;True|2025-12-02T08:55:11.3773395+08:00||;True|2025-12-02T08:53:21.3927713+08:00||;False|2025-12-02T08:48:55.8638037+08:00||;True|2025-12-02T07:29:25.2192447+08:00||;False|2025-12-02T07:29:10.2504665+08:00||;True|2025-12-02T07:28:29.0769286+08:00||;True|2025-12-01T21:53:07.6474834+08:00||;True|2025-12-01T21:44:28.1674315+08:00||;True|2025-12-01T21:18:47.2119609+08:00||;True|2025-12-01T20:51:19.9948301+08:00||;True|2025-12-01T20:50:36.9904697+08:00||;True|2025-12-01T20:44:10.1695142+08:00||;True|2025-12-01T19:27:58.0479456+08:00||;True|2025-12-01T19:16:02.2288214+08:00||;False|2025-12-01T19:15:56.0372115+08:00||;True|2025-12-01T19:15:16.4854821+08:00||;False|2025-12-01T19:15:06.7001019+08:00||;True|2025-12-01T17:10:38.9739466+08:00||;False|2025-12-01T17:10:18.8928139+08:00||;True|2025-12-01T17:03:59.3171589+08:00||;True|2025-12-01T17:03:12.5681656+08:00||;True|2025-12-01T16:42:51.4415025+08:00||;True|2025-12-01T01:29:59.6975567+08:00||;True|2025-12-01T01:29:45.1898652+08:00||;False|2025-12-01T01:29:33.1787721+08:00||;True|2025-12-01T01:27:33.1297605+08:00||;True|2025-12-01T01:27:27.3976862+08:00||;False|2025-12-01T01:27:20.5193052+08:00||;True|2025-12-01T01:11:11.0210582+08:00||;True|2025-12-01T01:04:04.3307782+08:00||;True|2025-12-01T00:55:49.8018864+08:00||;True|2025-12-01T00:27:25.1323561+08:00||;True|2025-11-30T23:58:20.7284116+08:00||;True|2025-11-30T23:57:58.3027622+08:00||;True|2025-11-30T23:57:43.0829614+08:00||;False|2025-11-30T23:57:33.5606716+08:00||;True|2025-11-30T23:54:29.6203368+08:00||;True|2025-11-30T23:54:27.5383120+08:00||;False|2025-11-30T23:54:17.0823982+08:00||;True|2025-11-30T22:41:11.4538820+08:00||;True|2025-11-30T22:38:19.7064566+08:00||;True|2025-11-30T22:37:35.2889186+08:00||;True|2025-11-30T21:42:31.1408314+08:00||;True|2025-11-30T21:42:19.5385333+08:00||;False|2025-11-30T21:42:13.3290237+08:00||;True|2025-11-30T21:33:28.0806806+08:00||;True|2025-11-30T21:16:56.7088027+08:00||;False|2025-11-30T21:16:46.1444944+08:00||;True|2025-11-30T20:21:24.4059664+08:00||;False|2025-11-30T20:21:17.6006098+08:00||;True|2025-11-30T20:20:08.2030141+08:00||;False|2025-11-30T20:16:12.3608968+08:00||;True|2025-11-30T20:15:35.6048313+08:00||;True|2025-11-30T19:45:18.7229552+08:00||;True|2025-11-30T19:45:08.6083368+08:00||;False|2025-11-30T19:44:54.7824905+08:00||;True|2025-11-30T19:44:17.0179491+08:00||;True|2025-11-30T19:44:06.7073484+08:00||;False|2025-11-30T19:43:58.2896556+08:00||;True|2025-11-30T19:42:08.2261927+08:00||; + True|2025-12-06T05:07:29.7182102Z||;True|2025-12-06T13:05:46.2855366+08:00||;False|2025-12-06T13:05:40.3550904+08:00||;True|2025-12-06T13:03:47.8773880+08:00||;True|2025-12-06T13:03:28.9521030+08:00||;True|2025-12-05T23:11:51.5026151+08:00||;True|2025-12-05T12:46:26.1415079+08:00||;False|2025-12-05T12:46:19.1274332+08:00||;True|2025-12-05T09:04:36.7111717+08:00||;True|2025-12-05T08:22:51.7343317+08:00||;True|2025-12-05T08:20:32.0383739+08:00||;True|2025-12-04T21:58:29.4112766+08:00||;True|2025-12-04T21:58:10.0382218+08:00||;True|2025-12-04T21:57:55.3894059+08:00||;True|2025-12-04T21:10:38.8943797+08:00||;True|2025-12-04T21:09:31.5024569+08:00||;True|2025-12-04T08:22:47.9617427+08:00||;False|2025-12-04T08:22:41.3759733+08:00||;True|2025-12-04T08:14:02.2478893+08:00||;True|2025-12-04T07:57:00.2208139+08:00||;True|2025-12-03T23:58:13.3693303+08:00||;True|2025-12-03T23:57:40.4257893+08:00||;True|2025-12-03T23:56:38.8717769+08:00||;True|2025-12-03T23:56:24.0663568+08:00||;False|2025-12-03T23:55:36.1902974+08:00||;True|2025-12-03T23:51:30.6688504+08:00||;True|2025-12-03T23:34:17.1648971+08:00||;False|2025-12-03T23:34:07.7649161+08:00||;True|2025-12-03T22:32:56.2435003+08:00||;True|2025-12-03T22:27:45.6059666+08:00||;True|2025-12-03T15:55:28.0186597+08:00||;False|2025-12-03T15:54:17.5032724+08:00||;True|2025-12-03T15:53:10.2273509+08:00||;True|2025-12-02T22:11:37.4645042+08:00||;False|2025-12-02T22:10:47.1320259+08:00||;True|2025-12-02T14:39:58.8932130+08:00||;True|2025-12-02T14:36:37.1529072+08:00||;True|2025-12-02T12:58:22.0951548+08:00||;True|2025-12-02T09:30:33.7066474+08:00||;True|2025-12-02T09:30:14.5481844+08:00||;True|2025-12-02T09:30:00.3123364+08:00||;False|2025-12-02T09:29:54.4615520+08:00||;True|2025-12-02T09:13:01.7995414+08:00||;False|2025-12-02T09:12:55.8360281+08:00||;True|2025-12-02T09:12:31.0156791+08:00||;True|2025-12-02T08:55:11.3773395+08:00||;True|2025-12-02T08:53:21.3927713+08:00||;False|2025-12-02T08:48:55.8638037+08:00||;True|2025-12-02T07:29:25.2192447+08:00||;False|2025-12-02T07:29:10.2504665+08:00||;True|2025-12-02T07:28:29.0769286+08:00||;True|2025-12-01T21:53:07.6474834+08:00||;True|2025-12-01T21:44:28.1674315+08:00||;True|2025-12-01T21:18:47.2119609+08:00||;True|2025-12-01T20:51:19.9948301+08:00||;True|2025-12-01T20:50:36.9904697+08:00||;True|2025-12-01T20:44:10.1695142+08:00||;True|2025-12-01T19:27:58.0479456+08:00||;True|2025-12-01T19:16:02.2288214+08:00||;False|2025-12-01T19:15:56.0372115+08:00||;True|2025-12-01T19:15:16.4854821+08:00||;False|2025-12-01T19:15:06.7001019+08:00||;True|2025-12-01T17:10:38.9739466+08:00||;False|2025-12-01T17:10:18.8928139+08:00||;True|2025-12-01T17:03:59.3171589+08:00||;True|2025-12-01T17:03:12.5681656+08:00||;True|2025-12-01T16:42:51.4415025+08:00||;True|2025-12-01T01:29:59.6975567+08:00||;True|2025-12-01T01:29:45.1898652+08:00||;False|2025-12-01T01:29:33.1787721+08:00||;True|2025-12-01T01:27:33.1297605+08:00||;True|2025-12-01T01:27:27.3976862+08:00||;False|2025-12-01T01:27:20.5193052+08:00||;True|2025-12-01T01:11:11.0210582+08:00||;True|2025-12-01T01:04:04.3307782+08:00||;True|2025-12-01T00:55:49.8018864+08:00||;True|2025-12-01T00:27:25.1323561+08:00||;True|2025-11-30T23:58:20.7284116+08:00||;True|2025-11-30T23:57:58.3027622+08:00||;True|2025-11-30T23:57:43.0829614+08:00||;False|2025-11-30T23:57:33.5606716+08:00||;True|2025-11-30T23:54:29.6203368+08:00||;True|2025-11-30T23:54:27.5383120+08:00||;False|2025-11-30T23:54:17.0823982+08:00||;True|2025-11-30T22:41:11.4538820+08:00||;True|2025-11-30T22:38:19.7064566+08:00||;True|2025-11-30T22:37:35.2889186+08:00||;True|2025-11-30T21:42:31.1408314+08:00||;True|2025-11-30T21:42:19.5385333+08:00||;False|2025-11-30T21:42:13.3290237+08:00||;True|2025-11-30T21:33:28.0806806+08:00||;True|2025-11-30T21:16:56.7088027+08:00||;False|2025-11-30T21:16:46.1444944+08:00||;True|2025-11-30T20:21:24.4059664+08:00||;False|2025-11-30T20:21:17.6006098+08:00||;True|2025-11-30T20:20:08.2030141+08:00||;False|2025-11-30T20:16:12.3608968+08:00||;True|2025-11-30T20:15:35.6048313+08:00||;True|2025-11-30T19:45:18.7229552+08:00||;True|2025-11-30T19:45:08.6083368+08:00||; diff --git a/app/src/pages/set/AppSet.vue b/app/src/pages/set/AppSet.vue index e44a5bc..9778359 100644 --- a/app/src/pages/set/AppSet.vue +++ b/app/src/pages/set/AppSet.vue @@ -82,7 +82,7 @@

图文视频

- +
@@ -94,7 +94,7 @@
- 启用后,将额外下载音频文件 + 启用后,将单独下载音频文件
@@ -102,7 +102,7 @@
- 启用后,将额外下载所有图片文件 + 启用后,将单独下载所有图片文件
diff --git a/app/src/pages/workplace/RecordTable.vue b/app/src/pages/workplace/RecordTable.vue index 491776b..4e42a3a 100644 --- a/app/src/pages/workplace/RecordTable.vue +++ b/app/src/pages/workplace/RecordTable.vue @@ -194,6 +194,7 @@ interface DataItem { authorId?: string; videoSavePath: string; createTimeStr?: string; // 发布时间 + isMergeVideo?: boolean; } interface QuaryParam { @@ -522,8 +523,8 @@ const onViedoTypeChanged = () => { // -------------------------- 视频播放相关方法 -------------------------- /** 点击视频标题播放 */ const handleVideoClick = (record: DataItem) => { - if (!record.id) { - message.warning('该视频暂无播放地址'); + if (record.isMergeVideo && record.videoSavePath.length == 0) { + message.warning('图文视频配置:不下载视频,所有没有可播放的视频'); return; } // 保存当前视频信息 diff --git a/appsettings.json b/appsettings.json index 78eada8..f6a48b4 100644 --- a/appsettings.json +++ b/appsettings.json @@ -1,6 +1,7 @@ { "dbconn": "", - "dbtype": "Sqlite", - "tagName": "beta_1.7.8", - //"tagName": "dev_1.2" + //"tagName": "arm_1.8.0", + //"tagName": "dev_1.2", + "tagName": "beta_1.8.0", + "dbtype": "Sqlite" } \ No newline at end of file diff --git a/dy.net.csproj b/dy.net.csproj index a65c8c5..46e91a3 100644 --- a/dy.net.csproj +++ b/dy.net.csproj @@ -73,6 +73,7 @@ + diff --git a/job/DouyinBasicSyncJob.cs b/job/DouyinBasicSyncJob.cs index f65907d..f72cf30 100644 --- a/job/DouyinBasicSyncJob.cs +++ b/job/DouyinBasicSyncJob.cs @@ -134,6 +134,11 @@ namespace dy.net.job Log.Debug($"{VideoType}-未获取到系统配置,任务终止!!!"); return; } + if(VideoType== VideoTypeEnum.dy_follows ) + { + Log.Debug($"{VideoType}-系统配置未启用关注同步,任务终止!!!"); + return; + } // 2. 从配置中获取每页请求数量--固定18 //if (config.BatchCount > 0) @@ -407,11 +412,16 @@ namespace dy.net.job foreach (var item in data.AwemeList) { + if(!item.Desc.Contains("致敬先烈")) + { + continue; + } + //判断视频是否是强制删除且不再下载的视频 var deleteVideo = await douyinCommonService.ExistDeleteVideo(item.AwemeId); if (deleteVideo) { - Log.Debug($"{VideoType}-视频-{item.AwemeId}-[{item.Desc}]已被标记为强制删除,跳过下载"); + //Log.Debug($"{VideoType}-视频-{item.AwemeId}-[{item.Desc}]已被标记为强制删除,跳过下载"); continue; } @@ -757,6 +767,9 @@ namespace dy.net.job return null; } + + // 获取不带扩展名的完整路径 + string fullPathWithoutExtension = Path.Combine(Path.GetDirectoryName(savePath),Path.GetFileNameWithoutExtension(savePath) ); if (config.DownImageVideo) { // 检查合成后的视频文件是否有效 @@ -773,10 +786,11 @@ namespace dy.net.job return null; } } - else - { + else { + savePath = ""; } + // 下载视频封面(使用第一张图片作为封面) await DownVideoCover(imageUrls.FirstOrDefault(), fileNamefolder, cookie, item, config); // 下载作者头像 @@ -793,7 +807,7 @@ namespace dy.net.job { Width = reqParams.VideoWidth, Height = reqParams.VideoHeight, - DataSize = new FileInfo(savePath).Length // 合成视频的文件大小 + DataSize = string.IsNullOrWhiteSpace(savePath) || !File.Exists(savePath) ? 0 : new FileInfo(savePath).Length // 合成视频的文件大小 } }; diff --git a/service/DouyinMergeVideoService.cs b/service/DouyinMergeVideoService.cs index 4f23213..d3cb1ac 100644 --- a/service/DouyinMergeVideoService.cs +++ b/service/DouyinMergeVideoService.cs @@ -226,7 +226,7 @@ namespace dy.net.service // 不合成视频,直接返回成功 if (!mergeImg2Viedo) { - Log.Debug("不合成视频,直接返回成功"); + Log.Debug($"根据系统配置设置不下载图文视频-[{outputVideoPath}],{(downImage?"下载图片":"不下载图片")},{(downMp3?"下载音频":"不下载音频")}"); return true; } @@ -261,7 +261,7 @@ namespace dy.net.service if (rawAudios.Length == 0) { rawAudios= new string[] { Path.Combine(AppContext.BaseDirectory,"mp3", "silent_10.mp3") }; - Log.Debug("未检测到音频,使用默认静音音频-无声"); + Log.Debug("版权原因无法下载音频,使用默认无声音频文件"); } string resultPath = await ffmpegHelper.CreateVideoFromImagesAndAudioAsync(