專案介紹
首先,整個專案主要技術棧還是基於React,專案大部分樣式主要是仿照iPhone版網易雲音樂進行實現,部分地方進行了調整,程式碼部分基本上拋棄了class的寫法,全方位擁抱Hook,真香。關於防抖、節流、懶載入這些優化手段,在專案裡統統有用到
編寫這個專案的目的其實很簡單,就是想把目前所掌握的知識進行一個彙總,然後分享給大家,找出目前所存在的一些問題,然後及時進行調整,歡迎大家的批評和指正。
GitHub地址 歡迎大家star。
線上訪問地址
手機端用掘金直接開啟會有點問題,建議右上角在瀏覽器中開啟。
PC端的話建議使用谷歌瀏覽器,相容性問題會在之後進行修復。
技術棧
前端部分
- react:前端三大主流框架之一,
- redux:提供可預測的狀態管理工具
- redux-saga:基於redux提供非同步業務實現方案
- react-router-dom:react路由管理工具
- redux-actions:簡化redux的使用
- typescript:JavaScript超集
- axios:基於promise的HTTP庫
- antd:前端元件庫
- less:CSS預處理語言
- webpack:前端構建工具
後端
- 後端使用的是一個開源的NodeJs版的Api 點選檢視
主要功能介紹
具體功能在圖裡已經展示出來,就不一一進行介紹了,大家自行體會就OK,這在這裡放幾張Gif圖片了哈
- 首頁
- 歌單廣場
- 排行榜
- 歌手頁
- 歌手詳情
- 搜尋
- 播放頁
- 評價
結語
目前專案還在自測中,可能、額。肯定會有一些Bug,也希望大家多多提issues,專案會一直保持更新,以後也會新增一些功能,一起加油吧!
部分問題
- 排行榜某些榜單在所提供介面中找不到,所以自動跳轉到飆升榜。
- 獲取歌單歌曲沒有提供分頁功能,只能直接獲取全部,導致部分介面響應可能會緩慢。
- 有時候剛開啟的時候會報跨域問題,雖然介面已經新增Access-Control-Allow-Origin,但還是會偶現,目前尚未解決。
提示
- 目前播放列表是根據你點開的歌單或者排行榜自動新增進去的。
- 首頁輪播圖可能會有部分點選無反應,是因為我會判斷這是不是一首可以免費聽得歌,是的話回跳到播放頁。
- 在播放歌曲的時候,如果播放列表中沒有歌曲,點選上一首或者下一首是沒有反應的哦。