Skip to content

Instantly share code, notes, and snippets.

@teeceepee
Created September 8, 2015 13:42
Show Gist options
  • Save teeceepee/317c1075527eee9aa2a5 to your computer and use it in GitHub Desktop.
Save teeceepee/317c1075527eee9aa2a5 to your computer and use it in GitHub Desktop.
豆瓣歌单 API
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