项目介绍
首先,整个项目主要技术栈还是基于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图片了哈
- 首页

- 歌单广场

- 排行榜

- 歌手页

- 歌手详情

- 搜索

- 播放页

- 评价

结语
目前项目还在自测中,可能、额。肯定会有一些Bug,也希望大家多多提issues,项目会一直保持更新,以后也会添加一些功能,一起加油吧!
部分问题
- 排行榜某些榜单在所提供接口中找不到,所以自动跳转到飙升榜。
- 获取歌单歌曲没有提供分页功能,只能直接获取全部,导致部分界面响应可能会缓慢。
- 有时候刚打开的时候会报跨域问题,虽然接口已经添加Access-Control-Allow-Origin,但还是会偶现,目前尚未解决。
提示
- 目前播放列表是根据你点开的歌单或者排行榜自动添加进去的。
- 首页轮播图可能会有部分点击无反应,是因为我会判断这是不是一首可以免费听得歌,是的话回跳到播放页。
- 在播放歌曲的时候,如果播放列表中没有歌曲,点击上一首或者下一首是没有反应的哦。