Vue 全家桶實(shí)現(xiàn)移動(dòng)端酷狗音樂(lè)功能
Vue 已經(jīng)用了不少時(shí)間,最近抽空把以前的未完成的酷狗音樂(lè)做完了,過(guò)來(lái)分享下,也可以直接點(diǎn)這里預(yù)覽,注意切換成手機(jī)模式。
技術(shù)棧: vue-router、eventBus、vuex、vue-awesome-swiper
整體功能 vs 酷狗官網(wǎng):
總體模擬官網(wǎng),原來(lái)的亮點(diǎn)保留,如:
- 圖片懶加載
除此之外,增加了
- 加了全局的 Loading 組件,根據(jù)不同頁(yè)面調(diào)整 Loading 尺寸
- 搜索頁(yè)面做了優(yōu)化,可以在刷新時(shí)保留之前的搜索結(jié)果
- 播放頁(yè)面單獨(dú)做了一個(gè)路由,可以在刷新時(shí)保留當(dāng)前歌曲頁(yè)面
- 播放器的常駐以及滾動(dòng)時(shí)最小化,避免遮擋歌曲名稱
- 部分可以重用,極少更新的數(shù)據(jù),譬如主頁(yè)四大欄,避免了數(shù)據(jù)的二次請(qǐng)求。
- 增加了主頁(yè)四欄手勢(shì)滑動(dòng)切換
- 歌詞滾動(dòng)等
- ...
如果參考網(wǎng)易云,后續(xù)可以加的新功能還有一些,不過(guò)暫時(shí)我要先去做其他事了。
CSS 覺(jué)得不難,都是手寫的,采用的是 BEM 規(guī)范,js 是 ESLint。
總體難度適中,只不過(guò),如果規(guī)范化,組件化抽象,任務(wù)還是不少的,具體的坑我就不說(shuō)了,源代碼都在這里,推薦想要熟悉 vue 的同學(xué)也自己試下。
作為一個(gè)練手項(xiàng)目,vue 全家桶都覆蓋到了,當(dāng)然,如果你只用 vue 和 vue-router 去實(shí)現(xiàn),也不是不行,實(shí)現(xiàn)到一大半,就會(huì)明白為什么要全家桶了。
至于酷狗的接口以及跨域的問(wèn)題,解決方案都在 README 里,都是借用的其他作者的分享與整理,在此還是要感謝下 ecitlm 和 JsonBird。
src/ 文件目錄:
|__ App.vue |__ assets |__ css |__ base.less |__ constant.less |__ iconfont.css |__ reset.css |__ images |__ logo__grey.png |__ logo__text.png |__ logo__theme.png |__ js |__ api.js |__ bus.js |__ globalEvent.js |__ mobileLayout.js |__ utils.js |__ components |__ Main.vue |__ new_song |__ NewSong.vue |__ Slider.vue |__ player |__ NextButton.vue |__ PlayButton.vue |__ PlayerLyrics.vue |__ PlayerMax.vue |__ PlayerMed.vue |__ PlayerProgress.vue |__ PrevButton.vue |__ public |__ AppHeader.vue |__ AppLoading.vue |__ AppMusicList.vue |__ AppNav.vue |__ PubList.vue |__ PubModuleDes.vue |__ PubModuleHead.vue |__ PubModuleTitle.vue |__ rank |__ RankInfo.vue |__ RankList.vue |__ search |__ Search.vue |__ singer |__ SingerCategory.vue |__ SingerInfo.vue |__ SingerList.vue |__ song |__ SongList.vue |__ SongListInfo.vue |__ main.js |__ mixins |__ index.js |__ loading.js |__ router |__ index.js |__ store |__ device.js |__ images.js |__ index.js |__ loading.js |__ newSong.js |__ player.js |__ rank.js |__ search.js |__ singer.js |__ song.js
總結(jié)
以上所述是小編給大家介紹的Vue 全家桶實(shí)現(xiàn)移動(dòng)端酷狗音樂(lè)功能,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
vue 實(shí)現(xiàn) rem 布局或vw 布局的方法
這篇文章主要介紹了vue 實(shí)現(xiàn) rem 布局的 或者 vw 布局的方法,本文給提供多種方法,需要的朋友可以參考下2019-11-11vue自定義指令的創(chuàng)建和使用方法實(shí)例分析
這篇文章主要介紹了vue自定義指令的創(chuàng)建和使用方法,結(jié)合完整實(shí)例形式分析了vue.js創(chuàng)建及使用自定義指令的相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2018-12-12vue之el-menu-item如何更改導(dǎo)航菜單欄選中的背景顏色
這篇文章主要介紹了vue之el-menu-item如何更改導(dǎo)航菜單欄選中的背景顏色問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05vue3使用vue-router及路由權(quán)限攔截方式
這篇文章主要介紹了vue3使用vue-router及路由權(quán)限攔截方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-04-04VUE2響應(yīng)式原理使用Object.defineProperty缺點(diǎn)
這篇文章主要為大家介紹了VUE2響應(yīng)式原理使用Object.defineProperty缺點(diǎn)示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08使用vue+element?ui實(shí)現(xiàn)走馬燈切換預(yù)覽表格數(shù)據(jù)
這次做項(xiàng)目的時(shí)候遇到需要切換預(yù)覽表格數(shù)據(jù)的需求,所以下面這篇文章主要給大家介紹了關(guān)于使用vue+element?ui實(shí)現(xiàn)走馬燈切換預(yù)覽表格數(shù)據(jù)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08