diff --git a/src/app/admin/page.tsx b/src/app/admin/page.tsx index 3f616e3..ef36899 100644 --- a/src/app/admin/page.tsx +++ b/src/app/admin/page.tsx @@ -3718,6 +3718,8 @@ const NetDiskConfigComponent = ({ const [ucCookie, setUcCookie] = useState(''); const [ucToken, setUcToken] = useState(''); const [ucSavePath, setUcSavePath] = useState('/'); + const [pan115Enabled, setPan115Enabled] = useState(false); + const [pan115Cookie, setPan115Cookie] = useState(''); useEffect(() => { const quark = config?.NetDiskConfig?.Quark; @@ -3739,6 +3741,8 @@ const NetDiskConfigComponent = ({ setUcCookie(config?.NetDiskConfig?.UC?.Cookie || ''); setUcToken(config?.NetDiskConfig?.UC?.Token || ''); setUcSavePath(config?.NetDiskConfig?.UC?.SavePath || '/'); + setPan115Enabled(config?.NetDiskConfig?.Pan115?.Enabled || false); + setPan115Cookie(config?.NetDiskConfig?.Pan115?.Cookie || ''); }, [config]); const handleSave = async () => { @@ -3777,6 +3781,10 @@ const NetDiskConfigComponent = ({ Token: ucToken, SavePath: ucSavePath, }, + Pan115: { + Enabled: pan115Enabled, + Cookie: pan115Cookie, + }, }), }); @@ -3962,6 +3970,34 @@ const NetDiskConfigComponent = ({ }); }; + const handleValidatePan115 = async () => { + await withLoading('validatePan115NetDisk', async () => { + try { + const response = await fetch('/api/admin/netdisk', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ + action: 'validate', + provider: 'pan115', + Pan115: { + Cookie: pan115Cookie, + }, + }), + }); + + const data = await response.json(); + if (!response.ok) { + throw new Error(data.error || '校验失败'); + } + + showSuccess(data.message || '115 Cookie 格式正常', showAlert); + } catch (error) { + showError(error instanceof Error ? error.message : '校验失败', showAlert); + throw error; + } + }); + }; + return (
@@ -4386,6 +4422,64 @@ const NetDiskConfigComponent = ({
+
+ + 115网盘 + +
+
+
+

+ 启用115网盘 +

+

+ 开启后,网盘搜索中的115网盘资源会显示“立即播放”按钮 +

+
+ +
+ +
+ +