From a698c6b4939088cb072ed3c21d539912eaa52e45 Mon Sep 17 00:00:00 2001 From: mtvpls Date: Thu, 1 Jan 2026 20:57:44 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=81=E4=BA=BA=E5=BD=B1=E5=BA=93=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E6=89=AB=E6=8F=8F=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/admin/page.tsx | 22 ++++++++++++ src/app/api/admin/openlist/route.ts | 4 ++- src/lib/admin.types.ts | 1 + src/lib/openlist-refresh.ts | 53 ++++++++++++++++++++--------- 4 files changed, 62 insertions(+), 18 deletions(-) diff --git a/src/app/admin/page.tsx b/src/app/admin/page.tsx index 6902521..c1125ba 100644 --- a/src/app/admin/page.tsx +++ b/src/app/admin/page.tsx @@ -2766,6 +2766,7 @@ const OpenListConfigComponent = ({ const [rootPath, setRootPath] = useState('/'); const [offlineDownloadPath, setOfflineDownloadPath] = useState('/'); const [scanInterval, setScanInterval] = useState(0); + const [scanMode, setScanMode] = useState<'torrent' | 'name' | 'hybrid'>('hybrid'); const [videos, setVideos] = useState([]); const [refreshing, setRefreshing] = useState(false); const [scanProgress, setScanProgress] = useState<{ @@ -2785,6 +2786,7 @@ const OpenListConfigComponent = ({ setRootPath(config.OpenListConfig.RootPath || '/'); setOfflineDownloadPath(config.OpenListConfig.OfflineDownloadPath || '/'); setScanInterval(config.OpenListConfig.ScanInterval || 0); + setScanMode(config.OpenListConfig.ScanMode || 'hybrid'); } }, [config]); @@ -2825,6 +2827,7 @@ const OpenListConfigComponent = ({ RootPath: rootPath, OfflineDownloadPath: offlineDownloadPath, ScanInterval: scanInterval, + ScanMode: scanMode, }), }); @@ -3151,6 +3154,25 @@ const OpenListConfigComponent = ({

+
+ + +

+ 混合模式:先用种子库匹配,失败后降级为名字匹配 +

+
+