mirror of
https://gitlab.com/Binaryify/neteasecloudmusicapi.git
synced 2025-05-23 22:37:41 +08:00
63 lines
1.5 KiB
JavaScript
63 lines
1.5 KiB
JavaScript
// 歌单导入 - 元数据/文字/链接导入
|
|
const createOption = require('../util/option.js')
|
|
module.exports = (query, request) => {
|
|
let data = {
|
|
importStarPlaylist: query.importStarPlaylist || false, // 导入我喜欢的音乐
|
|
}
|
|
|
|
if (query.local) {
|
|
// 元数据导入
|
|
let local = JSON.parse(query.local)
|
|
let multiSongs = JSON.stringify(
|
|
local.map(function (e) {
|
|
return {
|
|
songName: e.name,
|
|
artistName: e.artist,
|
|
albumName: e.album,
|
|
}
|
|
}),
|
|
)
|
|
data = {
|
|
...data,
|
|
multiSongs: multiSongs,
|
|
}
|
|
} else {
|
|
let playlistName = // 歌单名称
|
|
query.playlistName || '导入音乐 '.concat(new Date().toLocaleString())
|
|
let songs = ''
|
|
if (query.text) {
|
|
// 文字导入
|
|
songs = JSON.stringify([
|
|
{
|
|
name: playlistName,
|
|
type: '',
|
|
url: encodeURI('rpc://playlist/import?text='.concat(query.text)),
|
|
},
|
|
])
|
|
}
|
|
|
|
if (query.link) {
|
|
// 链接导入
|
|
let link = JSON.parse(query.link)
|
|
songs = JSON.stringify(
|
|
link.map(function (e) {
|
|
return { name: playlistName, type: '', url: encodeURI(e) }
|
|
}),
|
|
)
|
|
}
|
|
data = {
|
|
...data,
|
|
playlistName: playlistName,
|
|
createBusinessCode: undefined,
|
|
extParam: undefined,
|
|
taskIdForLog: '',
|
|
songs: songs,
|
|
}
|
|
}
|
|
return request(
|
|
`/api/playlist/import/name/task/create`,
|
|
data,
|
|
createOption(query),
|
|
)
|
|
}
|