Vue 全家桶实现移动端酷狗音乐功能


Posted in Javascript onNovember 16, 2018

Vue 已经用了不少时间,最近抽空把以前的未完成的酷狗音乐做完了,过来分享下,也可以直接点这里预览,注意切换成手机模式。

技术栈: vue-router、eventBus、vuex、vue-awesome-swiper

整体功能 vs 酷狗官网:

Vue 全家桶实现移动端酷狗音乐功能

总体模拟官网,原来的亮点保留,如:

  1. 图片懒加载

除此之外,增加了

  1. 加了全局的 Loading 组件,根据不同页面调整 Loading 尺寸
  2. 搜索页面做了优化,可以在刷新时保留之前的搜索结果
  3. 播放页面单独做了一个路由,可以在刷新时保留当前歌曲页面
  4. 播放器的常驻以及滚动时最小化,避免遮挡歌曲名称
  5. 部分可以重用,极少更新的数据,譬如主页四大栏,避免了数据的二次请求。
  6. 增加了主页四栏手势滑动切换
  7. 歌词滚动等
  8. ...

如果参考网易云,后续可以加的新功能还有一些,不过暂时我要先去做其他事了。

CSS 觉得不难,都是手写的,采用的是 BEM 规范,js 是 ESLint。

总体难度适中,只不过,如果规范化,组件化抽象,任务还是不少的,具体的坑我就不说了,源代码都在这里,推荐想要熟悉 vue 的同学也自己试下。

作为一个练手项目,vue 全家桶都覆盖到了,当然,如果你只用 vue 和 vue-router 去实现,也不是不行,实现到一大半,就会明白为什么要全家桶了。

至于酷狗的接口以及跨域的问题,解决方案都在 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

总结

以上所述是小编给大家介绍的Vue 全家桶实现移动端酷狗音乐功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jQuery 常见操作实现方式和常用函数方法总结
May 06 Javascript
jQuery学习笔记之 Ajax操作篇(一) - 数据加载
Jun 23 Javascript
使用iojs的jsdom库实现同步系统时间
Apr 20 Javascript
JS实现完全语义化的网页选项卡效果代码
Sep 15 Javascript
Jquery操作cookie记住用户名
Mar 29 Javascript
如何选择jQuery版本 1.x? 2.x? 3.x?
Apr 01 jQuery
微信小程序获取微信运动步数的实例代码
Jul 20 Javascript
JS实现获取word文档内容并输出显示到html页面示例
Jun 23 Javascript
Vue使用NProgress的操作过程解析
Oct 10 Javascript
在vue和element-ui的table中实现分页复选功能
Dec 04 Javascript
详解elementUI中input框无法输入的问题
Apr 27 Javascript
JavaScript代码实现微博批量取消关注功能
Feb 05 Javascript
微信小程序自定义toast的实现代码
Nov 16 #Javascript
vue实现简单的星级评分组件源码
Nov 16 #Javascript
微信小程序中的店铺评分组件及vue中用svg实现的评分显示组件
Nov 16 #Javascript
layui-laydate时间日历控件使用方法详解
Nov 15 #Javascript
laydate如何根据开始时间或者结束时间限制范围
Nov 15 #Javascript
layDate插件设置开始和结束时间
Nov 15 #Javascript
解决vue2 在mounted函数无法获取prop中的变量问题
Nov 15 #Javascript
You might like
PHP中防止直接访问或查看或下载config.php文件的方法
2012/07/07 PHP
php基于表单密码验证与HTTP验证用法实例
2015/01/06 PHP
PHP7常量数组用法分析
2016/09/26 PHP
php5.3后静态绑定用法详解
2016/11/11 PHP
PHP数据分析引擎计算余弦相似度算法示例
2017/08/08 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
JS+XML 省份和城市之间的联动实现代码
2009/10/14 Javascript
jquery实现点击弹出层效果的简单实例
2014/03/03 Javascript
SeaJS入门教程系列之完整示例(三)
2014/03/03 Javascript
理解javascript中的闭包
2017/01/11 Javascript
微信小程序 安全包括(框架、功能模块、账户使用)详解
2017/01/16 Javascript
vuejs2.0实现分页组件使用$emit进行事件监听数据传递的方法
2017/02/22 Javascript
JavaScript中的工厂函数(推荐)
2017/03/08 Javascript
基于vue的换肤功能的示例代码
2017/10/10 Javascript
浅谈Koa服务限流方法实践
2017/10/23 Javascript
vue基础之使用get、post、jsonp实现交互功能示例
2019/03/12 Javascript
ES2020 新特性(种草)
2020/01/12 Javascript
JavaScript获取时区实现过程解析
2020/09/24 Javascript
Python自定义scrapy中间模块避免重复采集的方法
2015/04/07 Python
Python 单元测试(unittest)的使用小结
2018/11/14 Python
django的分页器Paginator 从django中导入类
2019/07/25 Python
opencv python图像梯度实例详解
2020/02/04 Python
python 下载m3u8视频的示例代码
2020/11/11 Python
英国在线珠宝店:The Jewel Hut
2017/03/20 全球购物
阿迪达斯墨西哥官方网站:adidas墨西哥
2017/11/03 全球购物
Godiva巧克力英国官网:比利时歌帝梵巧克力
2018/08/28 全球购物
澳大利亚婴儿喂养品牌:Cherub Baby
2018/11/01 全球购物
Carrs Silver官网:英国著名的银器品牌
2020/08/29 全球购物
什么是典型的软件三层结构?软件设计为什么要分层?软件分层有什么好处?
2012/03/14 面试题
盛大笔试题
2016/11/05 面试题
平面设计师工作职责范文
2013/12/03 职场文书
餐厅销售主管职责范本
2014/02/19 职场文书
金融事务专业毕业生求职信
2014/02/23 职场文书
雏鹰争章活动总结
2014/05/09 职场文书
个人作风纪律整顿整改措施
2014/10/25 职场文书
Python 用户输入和while循环的操作
2021/05/23 Python