vue-music
下載依賴
啟動專案
打包項目
後台GitHub 位址
https://github.com/Binaryify/NeteaseCloudMusicApi 開發時對應版本:4.0.23 若發生問題則選擇最新版本
預覽地址
仿網易雲音樂預覽網址
uni-app版
uni-app版倉庫
目前完成功能
- 歌曲播放器:播放、拖曳進度、音量調整、下載、播放列表,歌曲頁歌詞滾動、評論
- 發現頁:推薦、歌單、歌手、排行榜、最新音樂(新歌速遞、新碟上架(本週新碟))
- 登入:手機號密碼登錄,二維碼登錄,驗證碼登錄,退出登入
- 歌曲清單:喜歡音樂,專輯入口,歌手入口,目前播放音樂行
- 各詳情頁
- 歌單詳情頁:歌曲清單、歌曲單頁搜尋、載入完整歌單、收藏、評論
- 專輯詳情頁:歌曲清單、搜尋、收藏、評論、專輯詳情
- 歌手詳情頁:專輯清單、歌手描述、MV、相似歌手
- 影片詳情頁:影片播放(使用原生video 及控製播放)、相似影片推薦、 MV 播放、MV 推薦,按讚、收藏、留言、追蹤創作者
- 使用者詳情頁:基本資訊、地區(僅支援國內地區)、創建的歌單、收藏的歌單、更新個人資訊和頭像
- 搜尋:歌曲、歌手、歌單、使用者、MV、專輯搜尋、熱門搜榜、搜尋建議、搜尋結果快速入口
- 評論(需登入):按讚、回覆、留言、留言分頁、及頁碼跳轉和回覆跳轉輸入框的動畫
- 影片(需登入):影片清單、MV 清單、全部MV 頁、MV 排行頁
- 我的收藏(需登入):收藏的專輯、MV、歌手及篩選功能
- 最近播放(本地存儲,不是雲端的播放記錄)
- 私人FM(需要登入):播放、垃圾桶,喜歡、評論、歌詞滾動(這裡表現不太與網易雲一樣,如果想要一致需要改很多)
- 全部頁面行動裝置適配
- 路由懶加載及程式碼分塊,新增未登入情況下導航守衛,路由props 解耦合
- 使用Vuex 管理登入狀態、目前歌曲清單及歌曲狀態、其餘多組件狀態
- 分享的介面為分享到網易雲動態,因還沒有做動態部分,所有分享是無效的,收藏全部歌曲按網易雲的表現是收藏到某個創建的歌單或者創建新歌單,暫未加入
BUG or UPDATE
- 新增對歌單載入完整歌曲的限制(使用過程中遇到了個6000 單曲的歌單,使用trackIds 請求對應歌曲會造成431 錯誤)
- 增加最近播放歌曲數量的限制11/19
- 解決新增導航守衛後,重新整理遺失登入狀態,在重新取得完登入狀態就錯誤導航的bug 11/20
- 加入影片播放時停止歌曲播放
- 解決歌手詳情頁相似歌手tab 下切換歌手無法更新資料的狀況
- 加入歌詞滾動的js 動畫
- 新增路由視圖切換的動畫
- 新增歌手詳情頁Tab 切換載入資料的動畫以及為空時的提示
- 新增@根目錄,並將API 依功能模組化,方便管理
- 遇到了作用域具名插槽後備內容打包後不生效的問題,其在開發環境表現正常,暫未解決,只能用到都使用,而不是利用後備內容
- 遇到了超出JS 最大安全數字的問題,暫未解決(在獲取搜尋建議時得到的歌曲資訊中的圖片是NULL,但是圖片ID 有,只不過超出安全數不准確),可以自己定義axios 處理資料的方式(axios 預設直接JSON.parse),有相關的插件
- 解決歌曲頁面評論區點擊用戶跳轉用戶路由,但播放介面不關閉的bug,以及用戶頁面不隨id 變化的bug,刪除播放元件重複邏輯
- 行動端outline 沒有圓角,更換為border
- 將專輯清單、歌單清單、歌手清單整合為一個組件
- 將僅渲染的資料凍結,優化效能
- 將影片詳情和MV 詳情頁整合為一個組件
- 大部分子頁面使用同一個捲軸,監聽路由位址,重置滾動條,以及更換歌曲時重置歌曲播放頁滾動條
- 修復評論內容長數字不換行的bug
- 解決歌曲進度往前拉,歌詞激活行不變的bug;改變了歌詞滾動判斷的當前時間來源(之前是audio 實時播放時間,現在是前者經過處理的提交到vuex 的當前時間,可能會稍有延遲或提前);抽離歌詞組件(私人FM 需重複使用)
- chrome對媒體標籤有限制,必須使用者有互動才能自動播放
- 新增編輯創建的歌單訊息,使用VueCropper插件實現裁剪圖片
- 新增個人資訊包括頭像的裁剪更改,未加入地區,將圖片裁剪及處理為blob物件封裝成一個組件(歌單封面和個人頭像)
- 取消使用Nprogress
- 歌手頁取消使用ELTABS,改用專案中的TabMenu;修改封裝的axios請求的get方法,改變處理錯誤的方式,使其能被async/await接收
- 部分插件cdn載入有些慢,導致第一次載入白螢幕時間過長
- 解決退出登入不退回首頁的bug,部分頁面圖片懶加載
- 新增了部分圖片懶加載,去除部分不合理的骨架,更改了組件使用的規範性
- 以及更改vue3 + ts版本重構中發現的bug