Created
September 8, 2015 13:42
-
-
Save teeceepee/317c1075527eee9aa2a5 to your computer and use it in GitHub Desktop.
豆瓣歌单 API
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var songlist_create_url = '/j/songlist/create'; | |
var addsong_url = '/j/songlist/addsong'; | |
// 根据名字创建一个新歌单。 | |
var create_songlist = function(name, callback) { | |
var title = name.slice(0, 20); | |
$.ajax_withck({ | |
url: songlist_create_url, | |
type: 'POST', | |
data: { | |
sl_title: title | |
}, | |
success: function(data) { | |
data.songlist_id = data.sl_url.split('/').reverse()[0]; | |
callback(data); | |
} | |
}); | |
}; | |
// 向歌单中添加一首新歌曲。 | |
//{ | |
// song_id: '', | |
// songlist_id: '', | |
// callback: function(data) {} | |
//} | |
var add_song = function(params) { | |
var callback = params.callback; | |
var data = { | |
song_id: params.song_id, | |
sl_id: params.songlist_id | |
}; | |
$.ajax_withck({ | |
url: addsong_url, | |
type: 'POST', | |
async: false, | |
data: data, | |
success: function(data) { | |
if (callback) { | |
callback(data); | |
} else { | |
console.log(data); | |
} | |
} | |
}); | |
}; | |
// 根据歌单名和歌曲 id 创建新的歌单。 | |
var create_new_songlist = function(songlist_name, song_ids) { | |
create_songlist(songlist_name, function(data) { | |
if (data.r === 'success') { | |
var songlist_id = data.songlist_id; | |
song_ids.forEach(function(song_id) { | |
add_song({ | |
song_id: song_id, | |
songlist_id: songlist_id | |
}); | |
}); | |
} else { | |
console.error('创建歌单失败'); | |
console.log(data); | |
} | |
}); | |
}; | |
var get_name = function() { | |
return $('#wrapper h1 span').text(); | |
} | |
var get_song_ids = function() { | |
var ids = $('.song-items-wrapper .song-items .song-item').map(function(i, el) { | |
return $(el).attr('id'); | |
}).toArray(); | |
return ids; | |
}; | |
create_new_songlist(get_name(), get_song_ids()); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment