neteasecloudmusicapi/module/playlist_import_name_task_create.js
2024-10-20 19:14:06 +08:00

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),
)
}