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 相关文章推荐
获取Javscript执行函数名称的方法
Dec 22 Javascript
ajax不执行success回调而是执行了error回调
Dec 10 Javascript
基于IE下ul li 互相嵌套时的bug,排查,解决过程以及心得介绍
May 07 Javascript
js模仿windows桌面图标排列算法具体实现(附图)
Jun 16 Javascript
jquery删除数据记录时的弹出提示效果
May 06 Javascript
jQuery的end()方法使用详解
Jul 15 Javascript
jquery动态导航插件dynamicNav用法实例分析
Sep 06 Javascript
非常实用的js验证框架实现源码 附原理方法
Jun 08 Javascript
JavaScript检测原始值、引用值、属性
Jun 20 Javascript
原生js二级联动效果
Jun 20 Javascript
小程序实现新用户判断并跳转激活的方法
May 20 Javascript
前端监听websocket消息并实时弹出(实例代码)
Nov 27 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
dedecms系统的广告设置代码 基础版本
2010/04/09 PHP
thinkphp在模型中自动完成session赋值示例代码
2014/09/09 PHP
php+ajax实时输入自动搜索匹配的方法
2014/12/26 PHP
ThinkPHP实现生成和校验验证码功能
2017/04/28 PHP
跨浏览器的设置innerHTML方法
2006/09/18 Javascript
基于jquery的兼容各种浏览器的iframe自适应高度的脚本
2010/08/13 Javascript
jQuery的slideToggle方法实例
2013/05/07 Javascript
js菜单点击显示或隐藏效果的简单实例
2014/01/13 Javascript
javascript 动态创建表格
2015/01/08 Javascript
js实现简单的省市县三级联动效果实例
2016/02/18 Javascript
BootStrap扔进Django里的方法详解
2016/05/13 Javascript
Bootstrap基本组件学习笔记之进度条(15)
2016/12/08 Javascript
浅析Jquery操作select
2016/12/13 Javascript
jquery 正整数数字校验正则表达式
2017/01/10 Javascript
基于jQuery实现简单人工智能聊天室
2017/02/10 Javascript
基于node.js之调试器详解
2017/08/22 Javascript
element 结合vue 在表单验证时有值却提示错误的解决办法
2018/01/22 Javascript
[03:14]2014DOTA2西雅图国际邀请赛 EG战队巡礼
2014/07/07 DOTA
Python线程指南详细介绍
2017/01/05 Python
儿童python练习实例
2018/05/27 Python
Python文件监听工具pyinotify与watchdog实例
2018/10/15 Python
python 实现在tkinter中动态显示label图片的方法
2019/06/13 Python
Python 3.8正式发布,来尝鲜这些新特性吧
2019/10/15 Python
pygame库实现俄罗斯方块小游戏
2019/10/29 Python
python中自带的三个装饰器的实现
2019/11/08 Python
python re模块匹配贪婪和非贪婪模式详解
2020/02/11 Python
python识别验证码图片实例详解
2020/02/17 Python
python 安装impala包步骤
2020/03/28 Python
Python图像处理二值化方法实例汇总
2020/07/24 Python
ONLY瑞典官网:世界知名服装品牌
2018/06/19 全球购物
全球在线商店:BerryLook
2019/04/14 全球购物
英文版网络工程师求职信
2013/10/28 职场文书
酒店管理求职信范文
2014/04/06 职场文书
我们的节日元宵节活动总结
2015/02/06 职场文书
班主任工作经验交流会总结
2015/11/02 职场文书
Win11安装升级时提示“该电脑必须支持安全启动”
2022/04/19 数码科技