仿移动端网易云项目坑及技巧总结

网易云依赖患者,上班途中半小时的路程基本每天都是网易云陪我度过的。为了向网易云致敬,也为了深入学习vue,想做移动端的仿网易云。

[项目地址](https://github.com/chentianyuan/yun-music)

vue全家桶(vue,vue-cli,vue-router,vuex,axios,ES6,flex布局),swiper插件,rem,自适应布局。

项目结构就不放了,项目中道崩殂,勉强实现了音乐播放功能,没有使用成熟的UI框架,做出来不太好看,一边学一边用,项目结构处理不当,数据管理处理不当,在此记录一些做出的错误以免日后再犯。



1,音乐类音频处理必定放在全局app.vue下,否则路由跳转后音乐即停,audio自身隐藏,通过其api及src属性控制音乐的播放暂停跳转等功能。

2,基本各个组件皆能改变音乐数据,musicData存放在vuex中,在需要的组件中通过Computed或watch属性监听。

computed:{

music:function(){

      return  this.$store.state.musicData

}

}

3,控制图片高度等于图片宽度

var pic = document.getElementsByClassName("pic"),

var width = pic[0].offsetWidth

for(var i = 0 ; i < pic.length ; i++){

pic[i].style.height = width+"px"

}

4,nodejs实现api转发,pipe()把一个文件流和另一个文件流串起来,这样源文件的所有数据就自动写入到目标对象res里了,当我们请求这个urls时,只要axios.$get('/lyric',function(res){})即可

app.get('/lyric', function(req, res) {

var urlOption = url.parse(req.url);

var urls='https://api.imjad.cn/cloudmusic/'+urlOption.search;

req.pipe(request(urls,function(error,response,body) {})).pipe(res);

});


大不了是重头再来。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 个人入门学习用笔记、不过多作为参考依据。如有错误欢迎斧正 目录 简书好像不支持锚点、复制搜索(反正也是写给我自己看...
    kirito_song阅读 2,500评论 1 37
  • 来源:http://www.cnblogs.com/opendigg/p/6513510.html UI组件 el...
    YU_XI阅读 2,872评论 0 26
  • document.write(''); } if ( (document.cookie && document.c...
    一副怂样阅读 731评论 0 1
  • 流是Node中最重要的组件和模式之一。在社区里有一句格言说:让一切事务流动起来。这已经足够来描述在Node中流...
    宫若石阅读 584评论 0 0
  • 又是一个充实而又有意义的1周,我跨进了运城博物馆的大门,我将成为这里面的一员,告诉更多的人运城的文化一一女娲炼石...
    夏沫晨光阅读 223评论 0 0