仿网易云音乐webApp

项目介绍

首先,整个项目主要技术栈仍是基于React,项目大部分样式主要是仿照iPhone版网易云音乐进行实现,部分地方进行了调整,代码部分基本上抛弃了class的写法,全方位拥抱Hook,真香。关于防抖、节流、懒加载这些优化手段,在项目里通通有用到
编写这个项目的目的其实很简单,就是想把目前所掌握的知识进行一个汇总,而后分享给你们,找出目前所存在的一些问题,而后及时进行调整,欢迎你们的批评和指正。

GitHub地址 欢迎你们star。
在线访问地址
手机端用掘金直接打开会有点问题,建议右上角在浏览器中打开。
PC端的话建议使用谷歌浏览器,兼容性问题会在以后进行修复。前端

技术栈

前端部分

  • react:前端三大主流框架之一,
  • redux:提供可预测的状态管理工具
  • redux-saga:基于redux提供异步业务实现方案
  • react-router-dom:react路由管理工具
  • redux-actions:简化redux的使用
  • typescript:JavaScript超集
  • axios:基于promise的HTTP库
  • antd:前端组件库
  • less:CSS预处理语言
  • webpack:前端构建工具

后端

  • 后端使用的是一个开源的NodeJs版的Api 点击查看

主要功能介绍

具体功能在图里已经展现出来,就不一一进行介绍了,你们自行体会就OK,这在这里放几张Gif图片了哈react

  • 首页
  • 歌单广场
  • 排行榜
  • 歌手页
  • 歌手详情
  • 搜索
  • 播放页
  • 评价

结语

目前项目还在自测中,可能、额。确定会有一些Bug,也但愿你们多多提issues,项目会一直保持更新,之后也会添加一些功能,一块儿加油吧!webpack

部分问题

  • 排行榜某些榜单在所提供接口中找不到,因此自动跳转到飙升榜。
  • 获取歌单歌曲没有提供分页功能,只能直接获取所有,致使部分界面响应可能会缓慢。
  • 有时候刚打开的时候会报跨域问题,虽然接口已经添加Access-Control-Allow-Origin,但仍是会偶现,目前还没有解决。

提示

  • 目前播放列表是根据你点开的歌单或者排行榜自动添加进去的。
  • 首页轮播图可能会有部分点击无反应,是由于我会判断这是否是一首能够免费听得歌,是的话回跳到播放页。
  • 在播放歌曲的时候,若是播放列表中没有歌曲,点击上一首或者下一首是没有反应的哦。