首頁  >  文章  >  web前端  >  Vue進階教學:如何利用網易雲API實現歌曲收藏夾功能

Vue進階教學:如何利用網易雲API實現歌曲收藏夾功能

PHPz
PHPz原創
2023-07-18 17:57:161593瀏覽

Vue進階教學:如何利用網易雲API實現歌曲收藏夾功能

介紹:
Vue.js是一個用於建立使用者介面的漸進式JavaScript框架,而網路易云API則是一個開放的網路接口,提供了眾多音樂相關的功能。本教學將教你如何利用Vue.js和網易雲API實作一個簡單的歌曲收藏夾功能,讓使用者可以新增、刪除和播放喜歡的音樂。

環境準備:
在開始之前,請確保你已經安裝了Vue.js和axios(一個用來傳送HTTP請求的JavaScript函式庫)。

步驟一:取得網易雲API權限
首先,我們需要到網易雲官方網站申請開發者帳號,並取得API所需的appKey和appSecret。在申請成功後,你將獲得一個授權碼(token),用於存取網易雲API。

步驟二:建立Vue專案
在命令列中執行以下命令,建立一個新的Vue專案:

vue create music-app

然後進入專案目錄並啟動開發伺服器:

cd music-app
npm run serve

步驟三:寫程式碼
首先,我們需要建立一個名為Music.vue的元件,用來顯示音樂清單和操作按鈕。在src/components目錄下建立Music.vue文件,並在其中編寫以下程式碼:

<template>
  <div>
    <ul>
      <li v-for="music in musics" :key="music.id">
        {{ music.name }}
        <button @click="play(music.id)">播放</button>
        <button @click="remove(music.id)">删除</button>
      </li>
    </ul>
    <input type="text" v-model="input" placeholder="歌曲名">
    <button @click="add">添加</button>
  </div>
</template>

<script>
import axios from 'axios';

export default {
  data() {
    return {
      musics: [],
      input: ''
    };
  },
  methods: {
    fetchMusics() {
      axios.get('https://api.music.163.com/v1/song/playlist', {
        headers: {
          'Authorization': 'Bearer ' + this.token
        }
      })
      .then(response => {
        this.musics = response.data;
      })
      .catch(error => {
        console.log(error);
      });
    },
    add() {
      axios.post('https://api.music.163.com/v1/song', {
        name: this.input
      }, {
        headers: {
          'Authorization': 'Bearer ' + this.token
        }
      })
      .then(response => {
        this.input = '';
        this.fetchMusics();
      })
      .catch(error => {
        console.log(error);
      });
    },
    remove(id) {
      axios.delete('https://api.music.163.com/v1/song/' + id, {
        headers: {
          'Authorization': 'Bearer ' + this.token
        }
      })
      .then(response => {
        this.fetchMusics();
      })
      .catch(error => {
        console.log(error);
      });
    },
    play(id) {
      axios.put('https://api.music.163.com/v1/song/' + id, {
        headers: {
          'Authorization': 'Bearer ' + this.token
        }
      })
      .then(response => {
        console.log('正在播放歌曲:' + id);
      })
      .catch(error => {
        console.log(error);
      });
    }
  },
  mounted() {
    this.fetchMusics();
  }
};
</script>

在上面的程式碼中,我們使用axios發送HTTP請求,透過網易雲API取得音樂清單、新增音樂、刪除音樂和播放音樂。要注意的是,你需要將this.token替換為你自己的授權碼。

步驟四:使用Music元件
在App.vue中使用Music元件。修改src/App.vue文件,程式碼如下:

<template>
  <div id="app">
    <Music></Music>
  </div>
</template>

<script>
import Music from './components/Music.vue';

export default {
  name: 'App',
  components: {
    Music
  }
};
</script>

現在,我們已經完成了Vue.js和網易云API的集成,可以運行專案並看到效果了。

npm run serve

訪問http://localhost:8080,你將看到一個歌曲收藏頁面,可以新增、刪除和播放音樂。

總結:
透過本篇教學,我們學習如何利用Vue.js和網易雲API實作一個簡單的歌曲收藏功能。在實際專案中,你可以根據需求對程式碼進行擴展和最佳化,並添加更多功能。希望本教學對你學習Vue.js和使用網易雲API有幫助。

以上是Vue進階教學:如何利用網易雲API實現歌曲收藏夾功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn