koel/resources/assets/js/services/youtube.js
2017-01-14 21:09:38 +08:00

35 lines
822 B
JavaScript

import { http } from '.'
import { event } from '../utils'
import router from '../router'
export const youtube = {
/**
* Search for YouTube videos related to a song.
*
* @param {Object} song
*/
searchVideosRelatedToSong (song) {
if (!song.youtube) {
song.youtube = {}
}
const pageToken = song.youtube.nextPageToken || ''
return new Promise((resolve, reject) => {
http.get(`youtube/search/song/${song.id}?pageToken=${pageToken}`, ({ data }) => {
song.youtube.nextPageToken = data.nextPageToken
song.youtube.items.push(...data.items)
resolve()
}, error => reject(error))
})
},
/**
* Play a YouTube video.
*
* @param {string} id The video ID
*/
play (id) {
event.emit('youtube:play', id)
router.go('youtube')
}
}