diff --git a/index.html b/index.html index cc981c6..7a09c3a 100644 --- a/index.html +++ b/index.html @@ -313,6 +313,19 @@ console.error("Get Toplist Songs failed", e); return []; } + }, + getPlaylist: async (id, source = 'netease') => { + try { + const res = await fetch(`${API_BASE}/api/?type=playlist&id=${id}&source=${source}`); + const data = await res.json(); + if (data.code === 200 && data.data && Array.isArray(data.data.list)) { + return data.data.list; + } + return []; + } catch (e) { + console.error("Get playlist failed", e); + return []; + } } }; @@ -418,7 +431,7 @@ ); - const SideDrawer = ({ isOpen, onClose, view, setView, quality, setQuality, onClearCache, syncToken, setSyncToken, onSyncNow }) => { + const SideDrawer = ({ isOpen, onClose, view, setView, quality, setQuality, onClearCache, syncToken, setSyncToken, onSyncNow, onImportNetease, syncMode }) => { const [isSyncing, setIsSyncing] = useState(false); const [syncMsg, setSyncMsg] = useState(''); @@ -437,6 +450,19 @@ } }; + const handleNeteaseImportClick = () => { + const url = prompt("请输入网易云歌单分享链接\n(例如: https://music.163.com/playlist?id=...)"); + if (url) { + const match = url.match(/[?&]id=(\d+)/); + if (match && match[1]) { + onImportNetease(match[1]); + onClose(); + } else { + alert("无法识别歌单ID,请确保链接包含 id=数字"); + } + } + }; + if (!isOpen) return null; return ( @@ -484,7 +510,9 @@
- +
-

使用相同的密钥在多端同步收藏列表

+

+ {syncMode === 'netease_playlist' + ? '当前为网易云歌单同步模式,每15分钟自动刷新' + : '使用相同的密钥在多端同步收藏列表'} +

{syncMsg && {syncMsg}}
+
+ +

导入后将开启自动同步,每15分钟获取新歌

+
+