国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Vue 實現網易云音樂 WebApp

Karuru / 3361人閱讀

摘要:基于等開發一款移動端音樂,界面參考了安卓版的網易云音樂布局適配常見移動端。圖標使用阿里巴巴圖標庫,中間的唱片旋轉動畫使用了實現。搜索功能實現功能搜索歌手歌單歌曲熱門搜索數據節流上拉刷新保存搜索記錄。

基于 Vue(2.5) + vuex + vue-router + vue-axios +better-scroll + Scss + ES6 等開發一款移動端音樂 WebApp,UI 界面參考了安卓版的網易云音樂、flex 布局適配常見移動端。

因為服務器的原因,所以可能多人訪問的時候有些東西會加載不出來,如果可以的話一會再訪問應該就沒什么問題了,出現這樣的問題,實在抱歉。

項目演示地址:移動端音樂 WebApp,或者可以掃描二維碼訪問:

推薦使用手機訪問,電腦在 Chrome 調試模式下食用效果更佳,開啟調試模式的手機模式后,如果不能滾動,刷新一下頁面即可

源碼地址:vue-music-webapp,歡迎 star 和 fork 哦~

如果你覺得我做的不錯的話,我就厚著臉皮求個 star ?? 哈,star 是對我最大的鼓勵(老臉一紅)
預覽

圖片雖然壓縮過了,但是幾張加載一起還是有 3MB 左右,所以請耐心等待一下啦。感覺不錯的可以去上面 的地址體驗一下呦~

推薦、排行榜、歌手

歌單詳情、個人中心

播放器、播放列表

搜索頁面

開發目的

通過學習開發一個 Vue 全家桶項目,讓自己更熟練的使用 Vue 全家桶、模塊化開發、ES6 等等知識,提高自己的技術能力。

技術棧

前端

Vue:用于構建用戶界面的 MVVM 框架

vue-router:為單頁面應用提供的路由系統,使用了 Lazy Loading Routes 技術來實現異步加載優化性能

vuex:Vue 集中狀態管理,在多個組件共享某些狀態時非常便捷

vue-lazyload:實現圖片懶加載,節省用戶流量,優化頁面加載速度

better-scroll:解決移動端各種滾動場景需求的插件,使移動端滑動體驗更加流暢

SCSS:css 預編譯處理器

ES6:ECMAScript 新一代語法,模塊化、解構賦值、Promise、Class 等方法非常好用

后端

Node.js:利用 Express 搭建的本地測試服務器

vue-axios:用來請求后端 API 音樂數據

NeteaseCloudMusicApi:網易云音樂 NodeJS 版 API,提供音樂數據

其他工具

vue-cli:Vue 腳手架工具,快速初始化項目代碼

eslint:代碼風格檢查工具,幫助我們規范代碼書寫(一定要養成良好的代碼規范)

iconfont :阿里巴巴圖標庫,誰用誰知道

fastclick :消除 click 移動游覽器 300ms 的延

實現功能

播放器內核、推薦頁面、熱榜頁面、歌手頁面、歌單詳情、歌手詳情、排行榜詳情、搜索頁面、播放列表、用戶中心等等功能。

推薦頁面

推薦頁分成三個部分,分別是 banner 輪播圖、推薦歌單、推薦歌曲,數據都是使用 axios 請求 API 獲取得到的,圖片都使用 vue-lazyload 實現懶加載。

輪播圖:使用 better-scroll 實現,具體可以看這里 Slide 。點擊跳轉方面只實現歌曲和歌單的跳轉,因為暫時只實現了這兩個功能。

推薦歌單,推薦歌曲:使用 vuex 管理數據,方便組件之間的數據交互(播放器播放歌曲)。因為數據上還有播放數量,所以就順便也加上去了。

排行榜頁面

同樣是通過 API 獲取到排行榜的數據,但是因為 API 獲取到的是排行榜中所有歌曲的數據,所以難免在加載速度上有點慢,后期再看能不能優化一下,加載的慢畢竟太影響用戶體驗了,別的就沒什么了。

歌手頁面

實現歌手列表的左右聯動(這個需要理解理解),因為之前已經寫過和這個有關的博客,所以就不多寫了,具體可以看我之前的這個筆記 移動端字母索引導航 。

歌曲列表組件

用來顯示歌曲列表,在很多的地方都進行了復用,例如:歌單詳情頁、排行榜詳情頁、歌手詳情頁、搜索結果、用戶中心等等。

歌單詳情頁

通過歌單的 ID 來獲取歌單中的歌曲數據,然后還做了一些體驗上面的交互,比如上滑顯示狀態欄然后將狀態欄標題變為歌單名,具體可以嘗試一下就知道了。

然后就是復用 歌曲列表組建 來顯示歌曲。

排行榜詳情、歌手詳情

和歌單詳情基本上沒有什么區別,除了 UI 界面方面有細微的改動(根據不同的內容作出不同的優化)。

播放器

最最最重要的組件,畢竟是個音樂播放器,不能放歌那啥都是扯淡了。

實現功能:順序播放、單曲循環、隨機播放、收藏等。

播放、暫停使用 HTML5 的 audio 實現。

數據、播放狀態、播放歷史、習慣歌曲等方面使用了 vuex 來進行管理,因為數據太多,組件直接傳遞的話是會死人的,所以還是老老實實的用 vuex 吧,數據之前的傳遞真的很方便。

圖標使用 iconfont 阿里巴巴圖標庫,中間的唱片旋轉動畫使用了 animation 實現。

歌詞部分獲取到網易的歌詞數據,然后使用 第三方庫 lyric-parser 進行處理。實現顯示歌詞、拖動進度條歌詞同步滾動、歌詞跟隨歌曲進度高亮。

通過 localstorage 存儲喜歡歌曲、播放歷史數據。

audio 標簽在移動端不能夠自動播放的問題

電腦端是沒有這個問題的,這個問題真的是讓我很頭大,最后是用了很鬼畜的方法解決了(使用 addEventListener 監聽 touchend 事件,然后在回調函數中讓 audio 播放一次,具體看 App.vue 文件,注釋有寫)。

播放列表

顯示和管理當前播放歌曲,可以用來刪除列表中的歌曲、以及選擇播放歌曲。

搜索功能

實現功能:搜索歌手、歌單、歌曲、熱門搜索、數據節流、上拉刷新、保存搜索記錄。

通過關鍵字請求 API 獲取搜索數據,顯示歌手、歌單、歌曲。

實現了上刷新,因為搜索可以設置請求數據的條數,所以可以用來實現上刷新的功能。

通過節流函數實現數據節流,通過 localstorage 存儲搜索數據。

用戶中心

將在本地存儲的數據顯示出來,方便用戶使用,后期準備添加更多功能。

TODO

優化排行榜加載速度

優化重復代碼

增加歌曲評論

增加 MV、電臺 功能

emm,更多功能容我再想想哈

感謝

感謝 Binaryify 對接口文檔 NeteaseCloudMusicApi 的不斷維護與更新。

感謝 ustbhuangyi 老師的 Vue 實戰教程 ,讓我學習到很多 vue 的知識。

最后

最后的最后當然是厚著臉皮的再求個 star 啦,如果覺得我的項目還不錯的話 ,就給個 star 鼓勵一下吧~

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/95021.html

相關文章

  • vue+vant同一項目實現豆瓣電影加網易音樂webapp-最佳練手項目

    摘要:很多小伙伴練手都會去仿寫豆瓣電影或者網易云音樂,所以,這回干脆把兩個集合起來,具體長什么樣,請各位看預覽或下面圖片啦。怎么折騰法呢比如豆瓣部分我使用了,網易云部分則沒有,網易的組件則是自己造的輪子,當然在實際開發中肯定不會這么搞啦。。 很多小伙伴練手都會去仿寫豆瓣電影或者網易云音樂,所以,這回干脆把兩個集合起來,具體長什么樣,請各位看預覽或下面圖片啦。 目的: 做這個項目最主要的目的是...

    suosuopuo 評論0 收藏0
  • Vue2-MV:基于Vue2實現網易音樂MV的webapp

    摘要:這是一個基于實現的網易云音樂的。在線地址主頁功能瀏覽搜索觀看查看評論截圖技術點安裝運行鳴謝此網站提供的此接口的說明請到這里查看 Vue2-MV 這是一個基于Vue2實現的網易云音樂MV的webapp。 在線地址github 主頁功能 瀏覽搜索MV 觀看MV 查看MV評論 截圖 showImg(https://segmentfault.com/img/remote/146000000...

    zhisheng 評論0 收藏0
  • [vue全家桶]每個人都能做的網易音樂

    摘要:仿網易云音樂項目地址來源感謝讓我能用喜歡的東西做一個屬于自己的播放器源碼地址不要臉的求哈哈哈項目預覽端按切換手機調試模式效果更佳移動端可直接掃碼技術棧文件結構構建服務和配置項目不同環境的配置項目目錄項目入口文件項目配置文件靜態資源生產目錄 仿網易云音樂(webapp) 項目地址 (project address) api來源 感謝binaryify讓我能用喜歡的東西做一個屬于自己的...

    zombieda 評論0 收藏0

發表評論

0條評論

Karuru

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<