1. 程式人生 > 其它 >呼叫網易雲api介面

呼叫網易雲api介面

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

開發工具與關鍵技術:HBuilder X

作者:吳業華

撰寫時間:2021年5月2號

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

網易雲音樂apihttps://neteasecloudmusicapi.js.org/#/?id=neteasecloudmusicapi

需要用到的部分功能介面:

/*

1、歌曲搜尋介面

請求地址:https://autumnfish.cn/search

請求方法:get

請求引數:keywords(查詢關鍵字)

響應內容:歌曲搜尋結果

2、歌曲url獲取介面

請求地址:https://autumnfish.cn/song/url

請求方法:get

請求引數:id(查詢關鍵字)

響應內容:歌曲url地址

3、歌曲資訊獲取

請求地址:https://autumnfish.cn/song/detail

請求方法:get

請求引數:ids(查詢關鍵字)

響應內容:歌曲詳情(包括封面資訊)

4、熱門評論獲取

請求地址:https://autumnfish.cn/comment/hot?type=0

請求方法:get

請求引數:id(歌曲id,地址中的type固定為0)

響應內容:歌曲的熱門評論

*/

1、建立一個vue專案匯入vue、axios

2、構建一個輸入框方便搜尋需要查詢的音樂

3、歌曲列表

<div class="boxa1">

 <ul>

 <li v-for="item in musicList">

 <a href="#" @click="playMusic(item.id)" class="iconfont icon-bofang1"></a>

 <label>{{item.name}}</label>

 <a href="#" v-if="item.mvid!=0" @click="playMv(item.mvid)" class="iconfont icon-MV"></a>

 </li>

 </ul>

</div>

4、播放音樂

<div class="boxb">

<audio :src="musicUrl" @play="play" @pause="pause" controls autoplay loop>



</audio>

</div>

<div class="mv" v-show="isShow">

<video :src="mvUrl" width="100%" height="100%" controls="controls"></video>

</div>

<div class="mk" @click="hide" v-show="isShow">



</div>

5、js

var app = new Vue({

 el: "#xwyy",

 data: {

 //查詢關鍵字

 query: "",

 //歌曲陣列

 musicList: [],

 //歌曲地址

 musicUrl: "",

 //歌曲封面

 musicCover: "",

 //歌曲評論

 hotComments: [],

 //動畫播放狀態

 isPlaying: false,

 //遮罩層的狀態

 isShow: false,

 //MV地址

 mvUrl: "",

 },

 methods: {

 searchMusic: function() {

 var that = this;

 axios.get('https://autumnfish.cn/search?keywords=' + this.query)

 .then(function(response) {

 console.log(response.data.result.songs);

 that.musicList = response.data.result.songs;

 }, function(err) {

 console.log(err);

 })

 },

 playMusic: function(musicId) {

 console.log(musicId);

 //在回撥函式裡面不能直接寫this.musicUrl

 var that = this;

 //獲取歌曲地址

 axios.get('https://autumnfish.cn/song/url?id=' + musicId)

 .then(function(response) {

 console.log(response.data.data[0].url);

 that.musicUrl = response.data.data[0].url;

 }, function(err) {

 console.log(err);

 })

 //歌曲詳情獲取

 axios.get('https://autumnfish.cn/song/detail?ids=' + musicId)

 .then(function(response) {

 console.log(response.data.songs[0].al.picUrl);

 that.musicCover = response.data.songs[0].al.picUrl;

 }, function(err) {

 console.log(err);

 })

  //歌曲評論獲取

 axios.get('https://autumnfish.cn/comment/hot?type=0&id=' + musicId)

 .then(function(response) {

 // console.log(response.data.hotComments);

 that.hotComments = response.data.hotComments;

 }, function(err) {

 console.log(err);

 })

 },

 //歌曲播放

 play: function() {

 this.isPlaying = true;

 console.log("play");

 },

 //歌曲暫停

 pause: function() {

 this.isPlaying = false;

 console.log("pause");

 },

 //播放MV

 playMv:function(mvid){

 var that = this;

 //獲取MV地址

  axios.get('https://autumnfish.cn/mv/url?id=' + mvid)

 .then(function(response) {

 // console.log(response.data.data.url);

 that.isShow = true;

 that.mvUrl = response.data.data.url;

 }, function(err) {

 console.log(err);

 })

 },

  //隱藏

 hide:function(){

 this.isShow = false;

 }

 }

})

本次作品為學習黑馬程式設計師vue課程demo