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 相关文章推荐
Javascript 生成指定范围数值随机数
Jan 09 Javascript
js 多种变量定义(对象直接量,数组直接量和函数直接量)
May 24 Javascript
JS日期和时间选择控件升级版(自写)
Aug 02 Javascript
jQuery函数的第二个参数获取指定上下文中的DOM元素
May 19 Javascript
js实现汉字排序的方法
Jul 23 Javascript
jquery插件EasyUI中form表单提交实例分享
Jan 11 Javascript
jquery插入兄弟节点的操作方法
Dec 07 Javascript
基于jQuery实现定位导航位置效果
Nov 15 jQuery
koa+jwt实现token验证与刷新功能
May 30 Javascript
微信小程序如何使用globalData的方法
Jun 06 Javascript
javascript创建元素和删除元素实例小结
Jun 19 Javascript
简单了解three.js 着色器材质
Aug 03 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
再说下636单管机
2021/03/02 无线电
一个简单的PHP&MYSQL留言板源码
2020/07/19 PHP
供参考的 php 学习提高路线分享
2011/10/23 PHP
PHP 读取和编写 XML
2014/11/19 PHP
Yii实现MySQL多数据库和读写分离实例分析
2014/12/03 PHP
PHP开发Apache服务器配置
2015/07/15 PHP
PHP通过微信跳转的Code参数获取用户的openid(关键代码)
2016/07/06 PHP
PHP使用DOM和simplexml读取xml文档的方法示例
2017/02/08 PHP
浅谈PHP进程管理
2019/03/08 PHP
php实现的支付宝网页支付功能示例【基于TP5框架】
2019/09/16 PHP
php中关于换行的实例写法
2019/09/26 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
2020/03/24 PHP
JavaScript中关于indexOf的使用方法与问题小结
2010/08/05 Javascript
使用javascript实现页面定时跳转总结篇
2013/09/21 Javascript
Jquery焦点与失去焦点示例应用
2014/06/10 Javascript
JavaScript实现找出数组中最长的连续数字序列
2014/09/03 Javascript
JavaScript中的DSL元编程介绍
2015/03/15 Javascript
jQuery scrollFix滚动定位插件
2015/04/01 Javascript
使用canvas实现仿新浪微博头像截取上传功能
2015/09/02 Javascript
Bootstrap.css与layDate日期选择样式起冲突的解决办法
2017/04/07 Javascript
浅谈ECMAScript 中的Array类型
2019/06/10 Javascript
python pycurl验证basic和digest认证的方法
2018/05/02 Python
python list多级排序知识点总结
2019/10/23 Python
python进度条显示之tqmd模块
2020/08/22 Python
瑞典时尚服装购物网站:Miinto.se
2017/10/30 全球购物
意大利拉斐尔时尚购物网:Raffaello Network(支持中文)
2018/11/09 全球购物
size?丹麦官网:英国伦敦的球鞋精品店
2019/04/15 全球购物
乡镇综治宣传月活动总结
2014/07/02 职场文书
我的中国梦演讲稿500字
2014/08/19 职场文书
党员检讨书
2014/10/13 职场文书
涉外离婚协议书怎么写
2014/11/20 职场文书
工作保证书怎么写
2015/02/28 职场文书
利用Python读取微信朋友圈的多种方法总结
2021/08/23 Python
《战锤40K:暗潮》跳票至9月 公布新宣传片
2022/04/03 其他游戏
win10怎么设置右下角图标不折叠?Win10设置右下角图标不折叠的方法
2022/07/15 数码科技