1. 网易云API简介
网易云API是一个基于Node.js的第三方网易云音乐API,使用它可以轻松地获取网易云音乐的歌曲信息、歌单、排行榜等,为我们的应用提供调用接口。
网易云API的主要功能包括:
获取歌曲详情
搜索歌曲、专辑、歌手、歌单
获取歌曲评论
获取MV相关信息
获取音乐排行榜
获取用户歌单
获取艺人信息
获取电台及节目信息
通过这些接口,我们可以轻松地获取到网易云音乐的各种信息,为我们的应用提供更多的功能。
2. Vue项目中的使用
2.1 安装
我们可以使用npm来安装网易云API:
npm install NeteaseCloudMusicApi
安装完成之后,我们就可以开始在Vue项目中使用它了。
2.2 获取歌曲排行榜
要获取歌曲排行榜,我们需要使用网易云API提供的接口:
/top/list?idx={id}
其中,idx表示排行榜的种类,具体的取值可以通过以下API获取:
/toplist/detail
我们可以在Vue项目中使用axios来调用这个接口:
import axios from 'axios';
const getRankList = async () => {
try {
const rank = await axios.get(`${process.env.VUE_APP_BASE_URL}/top/list?idx=1`);
return rank.data.playlist.tracks;
} catch (err) {
throw new Error(err);
}
};
export { getRankList };
这里使用了async/await来处理异步请求,当请求成功后,我们返回排行榜的歌曲列表。
2.3 播放音乐
要播放音乐,我们需要用到另一个Vue插件:vue-audio-api。此插件提供了Vue组件,可以直接在Vue项目中使用,非常方便。
首先我们需要安装vue-audio-api:
npm install vue-audio-api
在Vue项目中引入vue-audio-api,使用它提供的<vue-audio>组件:
import VueAudio from 'vue-audio-api';
Vue.use(VueAudio);
我们可以通过以下代码实现歌曲播放:
<template>
<vue-audio :autoplay="false" :source="src"></vue-audio>
</template>
<script>
import { getRankList } from '@/api/';
export default {
data() {
return {
src: ''
};
},
async created() {
try {
const songList = await getRankList();
this.src = songList[0].mp3Url;
} catch (err) {
throw new Error(err);
}
}
};
</script>
在vue-audio组件中,我们可以设置autoplay为false,也可以在created中通过JavaScript的方式动态设置src属性来实现歌曲播放。
至此,我们已经完成了Vue网易云API实现歌曲排行榜功能的整个过程。