'更新'
This commit is contained in:
@@ -121,7 +121,7 @@ async function main() {
|
||||
const track = album.tracks[i];
|
||||
const target = getAlbumDownloadTarget(album, track, i);
|
||||
await waitIfPaused();
|
||||
const artists = track.ar?.map(a => a.name).join('/') || album.artist?.name || '未知';
|
||||
const artists = track.ar?.map(a => a.name).join(' / ') || album.artist?.name || '未知';
|
||||
console.log(`[${i + 1}/${album.tracks.length}] ${track.name} - ${artists}`);
|
||||
try {
|
||||
await downloadSong(track.id, level, {
|
||||
@@ -144,7 +144,7 @@ async function main() {
|
||||
for (let i = 0; i < pl.tracks.length; i++) {
|
||||
const t = pl.tracks[i];
|
||||
await waitIfPaused();
|
||||
console.log(`[${i + 1}/${pl.tracks.length}] ${t.name} - ${t.ar?.map(a => a.name).join('/')}`);
|
||||
console.log(`[${i + 1}/${pl.tracks.length}] ${t.name} - ${t.ar?.map(a => a.name).join(' / ')}`);
|
||||
try { await downloadSong(t.id, level, { downloadLyric: batchLyric, embedCoverArt: batchCover, maxRetries }); }
|
||||
catch (e) { console.error(` ❌ 出错: ${e.message}`); }
|
||||
if (i < pl.tracks.length - 1) await sleep(500);
|
||||
@@ -242,7 +242,7 @@ async function main() {
|
||||
for (let i = 0; i < pl.tracks.length; i++) {
|
||||
const t = pl.tracks[i];
|
||||
await waitIfPaused();
|
||||
console.log(`\n[${i + 1}/${pl.tracks.length}] ${t.name} - ${t.ar?.map(a => a.name).join('/')}`);
|
||||
console.log(`\n[${i + 1}/${pl.tracks.length}] ${t.name} - ${t.ar?.map(a => a.name).join(' / ')}`);
|
||||
try { await downloadSong(t.id, level); }
|
||||
catch (e) { console.error(` ❌ 出错: ${e.message}`); }
|
||||
if (i < pl.tracks.length - 1) await sleep(500);
|
||||
@@ -268,7 +268,7 @@ async function main() {
|
||||
pl.tracks.forEach((t, i) => {
|
||||
const num = String(i + 1).padStart(3);
|
||||
const name = (t.name || '').slice(0, 22).padEnd(24);
|
||||
const artist = (t.ar?.map(a => a.name).join('/') || '').slice(0, 18).padEnd(20);
|
||||
const artist = (t.ar?.map(a => a.name).join(' / ') || '').slice(0, 18).padEnd(20);
|
||||
const album = (t.al?.name || '').slice(0, 18);
|
||||
console.log(` ${num} ${name} ${artist} ${album}`);
|
||||
});
|
||||
@@ -309,7 +309,7 @@ async function main() {
|
||||
console.log(`\n📥 开始下载 ${tracksToDownload.length} 首歌曲...`);
|
||||
for (let i = 0; i < tracksToDownload.length; i++) {
|
||||
const t = tracksToDownload[i];
|
||||
console.log(`\n[${i + 1}/${tracksToDownload.length}] ${t.name} - ${t.ar?.map(a => a.name).join('/')}`);
|
||||
console.log(`\n[${i + 1}/${tracksToDownload.length}] ${t.name} - ${t.ar?.map(a => a.name).join(' / ')}`);
|
||||
try { await downloadSong(t.id, level); }
|
||||
catch (e) { console.error(` ❌ 出错: ${e.message}`); }
|
||||
if (i < tracksToDownload.length - 1) await sleep(500);
|
||||
@@ -958,7 +958,7 @@ async function main() {
|
||||
console.log(`\n💿 ${album.name} - ${album.artist?.name || '未知歌手'}`);
|
||||
console.log(` 共 ${album.tracks.length} 首歌曲`);
|
||||
album.tracks.forEach((track, i) => {
|
||||
const artists = track.ar?.map(a => a.name).join('/') || album.artist?.name || '未知';
|
||||
const artists = track.ar?.map(a => a.name).join(' / ') || album.artist?.name || '未知';
|
||||
console.log(` ${String(i + 1).padStart(2)}. ${track.name} - ${artists}`);
|
||||
});
|
||||
|
||||
@@ -971,7 +971,7 @@ async function main() {
|
||||
|
||||
for (let i = 0; i < album.tracks.length; i++) {
|
||||
const track = album.tracks[i];
|
||||
const artists = track.ar?.map(a => a.name).join('/') || album.artist?.name || '未知';
|
||||
const artists = track.ar?.map(a => a.name).join(' / ') || album.artist?.name || '未知';
|
||||
const target = getAlbumDownloadTarget(album, track, i);
|
||||
await waitIfPaused();
|
||||
console.log(`\n[${i + 1}/${album.tracks.length}] ${track.name} - ${artists}`);
|
||||
@@ -1459,7 +1459,7 @@ async function main() {
|
||||
// 生成 M3U 内容
|
||||
const m3uLines = ['#EXTM3U', ''];
|
||||
for (const t of pl.tracks) {
|
||||
const artist = t.ar?.map(a => a.name).join('/') || '未知';
|
||||
const artist = t.ar?.map(a => a.name).join(' / ') || '未知';
|
||||
const title = t.name || '未知';
|
||||
const duration = Math.round((t.dt || 0) / 1000) || -1;
|
||||
m3uLines.push(`#EXTINF:${duration},${artist} - ${title}`);
|
||||
@@ -1648,7 +1648,7 @@ async function main() {
|
||||
|
||||
for (let i = 0; i < pl.tracks.length; i++) {
|
||||
const t = pl.tracks[i];
|
||||
const artist = t.ar?.map(a => a.name).join('/') || '未知';
|
||||
const artist = t.ar?.map(a => a.name).join(' / ') || '未知';
|
||||
const title = t.name || '未知';
|
||||
console.log(`[${i + 1}/${pl.tracks.length}] ${title} - ${artist}`);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user