diff --git a/Program.cs b/Program.cs index bfceaf3..db85adb 100644 --- a/Program.cs +++ b/Program.cs @@ -257,7 +257,7 @@ namespace dy.net commonService.UpdateCollectViedoType(); commonService.UpdateAllCookieSyncedToZero(); - + Serilog.Log.Debug("ϵͳ³õʼ»¯£¬»áĬÈϽ«-²©Ö÷×÷Ʒͬ²½¹¦ÄÜ-ͬ²½ȫ²¿×÷ƷÖØÖÃΪ¹رգ¨ÈôҪ¿ªÆô£¬¿ÉÒԵ½¶¶ÒôÊÚȨ²˵¥Öиü¸ģ©"); // Æô¶¯¶¨ʱÈÎÎñ var quartzJobService = services.GetRequiredService(); quartzJobService.StartJob(config?.Cron ?? "30"); diff --git a/Properties/PublishProfiles/FolderProfile.pubxml.user b/Properties/PublishProfiles/FolderProfile.pubxml.user index 82d9052..356bdff 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>F:\work\code\me\dysync.net\bin\Release\net6.0\publish\ - True|2025-10-10T08:54:27.1472888Z||;False|2025-10-10T16:53:44.1700030+08:00||;False|2025-10-10T16:52:48.1740453+08:00||;False|2025-10-10T16:51:21.5067253+08:00||;False|2025-10-10T16:50:19.2140597+08:00||;False|2025-10-10T16:49:21.2213290+08:00||;False|2025-10-10T16:48:47.7229948+08:00||;False|2025-10-10T16:48:15.1258700+08:00||;True|2025-09-30T13:29:42.2354235+08:00||;True|2025-09-25T11:44:52.6858389+08:00||;True|2025-09-25T11:08:27.8810109+08:00||;True|2025-09-25T09:28:50.2563374+08:00||;True|2025-09-24T16:14:02.3072184+08:00||;True|2025-09-23T22:38:52.4414757+08:00||;True|2025-09-23T22:19:07.1006356+08:00||;True|2025-09-23T22:18:01.5945225+08:00||;True|2025-09-23T22:06:15.6293613+08:00||;True|2025-09-23T21:53:14.2977444+08:00||;True|2025-09-23T21:46:55.2322411+08:00||;False|2025-09-23T21:45:23.7858854+08:00||;False|2025-09-23T21:03:51.8325689+08:00||;True|2025-09-23T10:03:32.2251920+08:00||;False|2025-09-23T09:38:08.2372201+08:00||;False|2025-09-23T09:37:49.9390545+08:00||;True|2024-03-11T21:31:45.8102398+08:00||;True|2024-03-11T07:26:24.7660541+08:00||;True|2024-03-08T22:08:40.0154831+08:00||;True|2024-03-03T10:14:36.8109114+08:00||;True|2024-03-02T18:44:57.3288537+08:00||;True|2024-01-24T17:51:37.9164415+08:00||;True|2024-01-24T16:36:50.5612157+08:00||;True|2024-01-24T15:51:35.7556653+08:00||;True|2024-01-17T23:40:40.7526618+08:00||;True|2024-01-17T23:36:10.3692844+08:00||;True|2024-01-17T23:22:03.2378834+08:00||;True|2024-01-03T11:35:44.7118292+08:00||;True|2024-01-03T11:11:23.4270453+08:00||;True|2024-01-03T11:04:35.2081526+08:00||;True|2024-01-03T10:57:03.7053107+08:00||;True|2024-01-03T10:51:50.7463989+08:00||;False|2024-01-03T10:50:24.9775312+08:00||;True|2024-01-03T10:47:30.1128183+08:00||;True|2024-01-03T10:42:55.8640657+08:00||;True|2024-01-03T09:24:24.3436056+08:00||;True|2024-01-02T23:40:38.2001198+08:00||;True|2024-01-02T23:08:36.7230444+08:00||;True|2024-01-02T22:53:43.9658255+08:00||;True|2024-01-02T22:25:38.5545279+08:00||;False|2024-01-02T22:24:42.6577609+08:00||;True|2024-01-02T22:04:33.4708889+08:00||;True|2024-01-02T21:49:57.9249898+08:00||;True|2023-12-28T22:42:58.5976180+08:00||;True|2023-12-28T22:24:09.2051205+08:00||;True|2023-12-28T22:05:48.4865497+08:00||;True|2023-12-28T21:50:57.4549336+08:00||;True|2023-12-28T21:45:30.4557939+08:00||;True|2023-12-28T21:19:59.3614594+08:00||;False|2023-12-28T21:17:04.3069097+08:00||;False|2023-12-28T21:15:56.7788810+08:00||;False|2023-12-28T21:14:57.3617402+08:00||;False|2023-12-28T21:10:45.4382469+08:00||;True|2023-12-28T19:45:33.1431914+08:00||;True|2023-12-26T11:30:36.6418716+08:00||;True|2023-12-26T11:17:40.6433651+08:00||;True|2023-12-26T09:13:56.0741559+08:00||;True|2023-12-26T09:10:55.5358737+08:00||;True|2023-12-25T23:15:34.6534359+08:00||;True|2023-12-25T23:09:47.1566176+08:00||;False|2023-12-25T23:07:32.1118803+08:00||;True|2023-12-25T22:59:50.4643459+08:00||;True|2023-12-25T22:50:14.3584798+08:00||;False|2023-12-25T22:49:20.0279513+08:00||;True|2023-12-25T22:44:07.4183973+08:00||;True|2023-12-25T22:35:27.3847085+08:00||;True|2023-12-25T22:23:21.3542658+08:00||;True|2023-12-25T22:12:00.5219522+08:00||;True|2023-12-25T16:52:12.5089621+08:00||;True|2023-12-25T16:43:30.8348193+08:00||;True|2023-12-25T16:35:08.2421925+08:00||;True|2023-12-25T16:25:21.3233455+08:00||;False|2023-12-25T16:24:39.1703901+08:00||;True|2023-12-25T16:24:01.4340091+08:00||;True|2023-12-25T16:10:06.5213850+08:00||;True|2023-12-25T15:42:17.1376331+08:00||;True|2023-12-25T15:29:47.8537015+08:00||;True|2023-12-25T14:04:54.3750643+08:00||;False|2023-12-25T14:04:07.9330700+08:00||;True|2023-12-25T13:51:58.1949269+08:00||;True|2023-12-25T13:41:42.4832670+08:00||;True|2023-12-25T13:00:25.3861450+08:00||;True|2023-12-25T12:48:45.3851245+08:00||;True|2023-12-25T12:46:54.1266013+08:00||;True|2023-12-25T12:37:03.2615780+08:00||;False|2023-12-25T12:36:06.2657224+08:00||;True|2023-12-25T12:31:59.6032354+08:00||;True|2023-12-25T12:26:50.2316015+08:00||;True|2023-12-25T12:18:27.4149004+08:00||;True|2023-12-25T11:59:46.1381276+08:00||;True|2023-12-25T00:36:00.0643971+08:00||;True|2023-12-25T00:28:55.0051504+08:00||; + True|2025-10-19T02:08:33.6669332Z||;False|2025-10-19T10:07:22.3337545+08:00||;False|2025-10-19T10:05:22.9484805+08:00||;True|2025-10-10T16:54:27.1472888+08:00||;False|2025-10-10T16:53:44.1700030+08:00||;False|2025-10-10T16:52:48.1740453+08:00||;False|2025-10-10T16:51:21.5067253+08:00||;False|2025-10-10T16:50:19.2140597+08:00||;False|2025-10-10T16:49:21.2213290+08:00||;False|2025-10-10T16:48:47.7229948+08:00||;False|2025-10-10T16:48:15.1258700+08:00||;True|2025-09-30T13:29:42.2354235+08:00||;True|2025-09-25T11:44:52.6858389+08:00||;True|2025-09-25T11:08:27.8810109+08:00||;True|2025-09-25T09:28:50.2563374+08:00||;True|2025-09-24T16:14:02.3072184+08:00||;True|2025-09-23T22:38:52.4414757+08:00||;True|2025-09-23T22:19:07.1006356+08:00||;True|2025-09-23T22:18:01.5945225+08:00||;True|2025-09-23T22:06:15.6293613+08:00||;True|2025-09-23T21:53:14.2977444+08:00||;True|2025-09-23T21:46:55.2322411+08:00||;False|2025-09-23T21:45:23.7858854+08:00||;False|2025-09-23T21:03:51.8325689+08:00||;True|2025-09-23T10:03:32.2251920+08:00||;False|2025-09-23T09:38:08.2372201+08:00||;False|2025-09-23T09:37:49.9390545+08:00||;True|2024-03-11T21:31:45.8102398+08:00||;True|2024-03-11T07:26:24.7660541+08:00||;True|2024-03-08T22:08:40.0154831+08:00||;True|2024-03-03T10:14:36.8109114+08:00||;True|2024-03-02T18:44:57.3288537+08:00||;True|2024-01-24T17:51:37.9164415+08:00||;True|2024-01-24T16:36:50.5612157+08:00||;True|2024-01-24T15:51:35.7556653+08:00||;True|2024-01-17T23:40:40.7526618+08:00||;True|2024-01-17T23:36:10.3692844+08:00||;True|2024-01-17T23:22:03.2378834+08:00||;True|2024-01-03T11:35:44.7118292+08:00||;True|2024-01-03T11:11:23.4270453+08:00||;True|2024-01-03T11:04:35.2081526+08:00||;True|2024-01-03T10:57:03.7053107+08:00||;True|2024-01-03T10:51:50.7463989+08:00||;False|2024-01-03T10:50:24.9775312+08:00||;True|2024-01-03T10:47:30.1128183+08:00||;True|2024-01-03T10:42:55.8640657+08:00||;True|2024-01-03T09:24:24.3436056+08:00||;True|2024-01-02T23:40:38.2001198+08:00||;True|2024-01-02T23:08:36.7230444+08:00||;True|2024-01-02T22:53:43.9658255+08:00||;True|2024-01-02T22:25:38.5545279+08:00||;False|2024-01-02T22:24:42.6577609+08:00||;True|2024-01-02T22:04:33.4708889+08:00||;True|2024-01-02T21:49:57.9249898+08:00||;True|2023-12-28T22:42:58.5976180+08:00||;True|2023-12-28T22:24:09.2051205+08:00||;True|2023-12-28T22:05:48.4865497+08:00||;True|2023-12-28T21:50:57.4549336+08:00||;True|2023-12-28T21:45:30.4557939+08:00||;True|2023-12-28T21:19:59.3614594+08:00||;False|2023-12-28T21:17:04.3069097+08:00||;False|2023-12-28T21:15:56.7788810+08:00||;False|2023-12-28T21:14:57.3617402+08:00||;False|2023-12-28T21:10:45.4382469+08:00||;True|2023-12-28T19:45:33.1431914+08:00||;True|2023-12-26T11:30:36.6418716+08:00||;True|2023-12-26T11:17:40.6433651+08:00||;True|2023-12-26T09:13:56.0741559+08:00||;True|2023-12-26T09:10:55.5358737+08:00||;True|2023-12-25T23:15:34.6534359+08:00||;True|2023-12-25T23:09:47.1566176+08:00||;False|2023-12-25T23:07:32.1118803+08:00||;True|2023-12-25T22:59:50.4643459+08:00||;True|2023-12-25T22:50:14.3584798+08:00||;False|2023-12-25T22:49:20.0279513+08:00||;True|2023-12-25T22:44:07.4183973+08:00||;True|2023-12-25T22:35:27.3847085+08:00||;True|2023-12-25T22:23:21.3542658+08:00||;True|2023-12-25T22:12:00.5219522+08:00||;True|2023-12-25T16:52:12.5089621+08:00||;True|2023-12-25T16:43:30.8348193+08:00||;True|2023-12-25T16:35:08.2421925+08:00||;True|2023-12-25T16:25:21.3233455+08:00||;False|2023-12-25T16:24:39.1703901+08:00||;True|2023-12-25T16:24:01.4340091+08:00||;True|2023-12-25T16:10:06.5213850+08:00||;True|2023-12-25T15:42:17.1376331+08:00||;True|2023-12-25T15:29:47.8537015+08:00||;True|2023-12-25T14:04:54.3750643+08:00||;False|2023-12-25T14:04:07.9330700+08:00||;True|2023-12-25T13:51:58.1949269+08:00||;True|2023-12-25T13:41:42.4832670+08:00||;True|2023-12-25T13:00:25.3861450+08:00||;True|2023-12-25T12:48:45.3851245+08:00||;True|2023-12-25T12:46:54.1266013+08:00||;True|2023-12-25T12:37:03.2615780+08:00||;False|2023-12-25T12:36:06.2657224+08:00||;True|2023-12-25T12:31:59.6032354+08:00||;True|2023-12-25T12:26:50.2316015+08:00||;True|2023-12-25T12:18:27.4149004+08:00||; \ No newline at end of file diff --git a/README.md b/README.md index cc701c2..3a59ba7 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# dysync.net - 抖音同步工具(我收藏的、我喜欢的) +# dysync.net - 抖音同步工具(我收藏的、我喜欢的,指定博主) `dysync.net` 是一款基于 **.NET Core 6.0** 和 **Vue** 开发的工具,用于同步抖音收藏夹以及我喜欢的视频,解决个人收藏和喜欢的视频容易失效的问题。支持多账号同步,并已预设刮削信息,同步后的视频可直接在 Emby 或 Jellyfin 中播放。 @@ -21,7 +21,7 @@ Cookie 是同步功能的关键,请严格按照以下步骤获取: ![输入图片说明](docs/getcookies.png) ![输入图片说明](docs/secUserId.png) - +![输入图片说明](docs/upers-uid.png) ### 2. 路径映射规则 为了方便管理和播放,请理解并正确配置路径映射: @@ -59,7 +59,8 @@ docker run -d --restart=always \ -v /你的/本地/视频1/路径:/app/collect \ -v /你的/本地/视频2/路径:/app/favorite \ -v /你的/本地/数据库/路径:/app/db \ - -p 18101:10101 \ + -v /你的/本地/数据库/路径:/app/uper \ + -p 10101:10101 \ --name dysync2025 \ registry.cn-hangzhou.aliyuncs.com/jianzhichu/dysync.net @@ -77,7 +78,7 @@ services: container_name: dysync2025 # 容器名称,可自定义 restart: always # 容器异常退出时自动重启 ports: - - "18101:10101" # 端口映射:本地端口:容器端口(容器端口10101不可修改) + - "10101:10101" # 端口映射:本地端口:容器端口(容器端口10101不可修改) volumes: # 第一个账号的收藏的视频存储路径(本地路径:容器路径) - /本地视频路径1:/app/collect @@ -85,6 +86,7 @@ services: - /本地视频路径1:/app/favorite # 数据库存储路径 - /本地数据库路径:/app/db + - /指定博主视频路径:/app/uper # 第二个账号的视频存储路径(多账号示例,需在后台对应配置) - /本地视频路径2:/app/yeyeye # (可选)如需添加环境变量,取消下方注释并配置 diff --git a/app/index.html b/app/index.html index a39fa6c..f243388 100644 --- a/app/index.html +++ b/app/index.html @@ -5,7 +5,7 @@ - 抖音同步 + 抖音同步小帮手 diff --git a/app/src/pages/cok/CookieTable.vue b/app/src/pages/cok/CookieTable.vue index cba1f9d..030ccf9 100644 --- a/app/src/pages/cok/CookieTable.vue +++ b/app/src/pages/cok/CookieTable.vue @@ -30,7 +30,7 @@ const columns = [ interface UpSecUserIdItem { uper?: string; // 若要求必填,可去掉问号 `uper: string;` uid?: string; // 同上,必填则去掉问号 - syncAll: number; + syncAll: boolean; } type DataItem = { @@ -238,7 +238,7 @@ const showUpers = (recode: DataItem) => { }; const addRow = () => { - form.upSecUserIdsJson.push({ uper: '', uid: '', syncAll: 0 }); + form.upSecUserIdsJson.push({ uper: '', uid: '', syncAll: false }); }; const removeRow = (index) => { form.upSecUserIdsJson.splice(index, 1); @@ -286,37 +286,40 @@ const rowCount = 4; - - - - 添加抖音Up主 - - - -
- - - - - - -
- - - 同步全部作品 - - -
- - + + + + 添加抖音Up主 -
+ + +
+ + + + + + + +
+ + 同步全部作品 + + +
+ + + + + +
+
- @@ -30,6 +37,8 @@ import { reactive, ref } from 'vue'; import { useAccountStore } from '@/store'; import { ThemeProvider } from 'stepin'; +// 控制密码显示/隐藏的状态 +const showPassword = ref(false); export interface LoginFormProps { username: string; password: string; diff --git a/docs/upers-uid.png b/docs/upers-uid.png new file mode 100644 index 0000000..3b63a21 Binary files /dev/null and b/docs/upers-uid.png differ diff --git a/job/DouYinFavoritSyncJob.cs b/job/DouYinFavoritSyncJob.cs index 85df8f0..077ed42 100644 --- a/job/DouYinFavoritSyncJob.cs +++ b/job/DouYinFavoritSyncJob.cs @@ -82,7 +82,7 @@ namespace dy.net.job hasMore = data != null && data.HasMore == 1 && cookie.FavHasSyncd == 0; if (cookie.FavHasSyncd == 1) { - Serilog.Log.Debug($"collect-Cookie[{cookie.UserName}]已完整同步过,后续只获取最新一页数据"); + Serilog.Log.Debug($"favorite-Cookie[{cookie.UserName}]已完整同步过,后续只获取最新一页数据"); } //Serilog.Log.Debug($"还有数据需要同步吗?{(hasMore ? "YES" : "NO")}"); if (data == null) diff --git a/service/CommonService.cs b/service/CommonService.cs index c2f5a15..60537af 100644 --- a/service/CommonService.cs +++ b/service/CommonService.cs @@ -1,4 +1,5 @@ -using dy.net.model; +using dy.net.dto; +using dy.net.model; using SqlSugar; using System.Threading.Tasks; @@ -69,8 +70,31 @@ namespace dy.net.service /// public bool UpdateAllCookieSyncedToZero() { - var sql = "update dy_cookie set CollHasSyncd=0,FavHasSyncd=0,UperSyncd=0"; - return sqlSugarClient.Ado.ExecuteCommand(sql) > 0; + //var sql = "update dy_cookie set CollHasSyncd=0,FavHasSyncd=0,UperSyncd=0"; + // sqlSugarClient.Ado.ExecuteCommand(sql) > 0; + var cookies= sqlSugarClient.Queryable().ToList(); + + foreach (var cookie in cookies) + { + cookie.CollHasSyncd = 0; + cookie.FavHasSyncd = 0; + cookie.UperSyncd = 0; + var upers = cookie.UpSecUserIds; + if (!string.IsNullOrWhiteSpace(upers)) + { + var uperList = Newtonsoft.Json.JsonConvert.DeserializeObject>(upers); + if (uperList != null && uperList.Count > 0) + { + foreach (var uper in uperList) + { + uper.syncAll = false; + } + } + var newUpers = Newtonsoft.Json.JsonConvert.SerializeObject(uperList); + cookie.UpSecUserIds = newUpers; + } + } + return sqlSugarClient.Updateable(cookies).ExecuteCommand() > 0; }