All Projects → lsqy → Taro Music

lsqy / Taro Music

Licence: mit
🎉基于taro + taro-ui + redux + react-hooks + typescript 开发的网易云音乐小程序,目前正在使用react-hooks重构中(不定时更新)

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Taro Music

Raveberry
A multi-user music server with a focus on participation
Stars: ✭ 442 (-46.49%)
Mutual labels:  music, music-player
Jetpack Musicplayer
即使不用云音乐听曲儿,也请务必收藏好该库!🔥 一行代码即可接入,音乐播放控制组件 - Even if you don't listen to the music by Spotify, be sure to collect this library, please! 🔥 This music player component can be accessed by only one line of code. Supporting by LiveData & AndroidX.
Stars: ✭ 577 (-30.15%)
Mutual labels:  music, music-player
Petal
🌺 Douban.FM Client With Extra - - - 一个简洁的豆瓣FM客户端。
Stars: ✭ 460 (-44.31%)
Mutual labels:  music, music-player
Ttkmusicplayer
TTKMusicPlayer that imitation Kugou music, the music player uses of qmmp core library based on Qt for windows and linux.(支持网易云音乐、QQ音乐、酷我音乐、酷狗音乐等等)
Stars: ✭ 765 (-7.38%)
Mutual labels:  music, music-player
Jetpack Mvvm Best Practice
是 难得一见 的 Jetpack MVVM 最佳实践!在 以简驭繁 的代码中,对 视图控制器 乃至 标准化开发模式 形成正确、深入的理解!
Stars: ✭ 6,950 (+741.4%)
Mutual labels:  music, music-player
Jmc
jmc - a new macOS media organizer
Stars: ✭ 432 (-47.7%)
Mutual labels:  music, music-player
Diffuse
A music player that connects to your cloud/distributed storage.
Stars: ✭ 517 (-37.41%)
Mutual labels:  music, music-player
Canaree Music Player
Complete music player published in the Play Store. Heavily relies on Dagger, kotlin coroutines and Clean architecture.
Stars: ✭ 371 (-55.08%)
Mutual labels:  music, music-player
Webaudiofont
Use full GM set of musical instruments to play MIDI and single sounds or effects. Support for reverberation and equaliser. No plugins, no Flash. Pure HTML5 implementation compatible with desktop and mobile browser. See live examples.
Stars: ✭ 600 (-27.36%)
Mutual labels:  music, music-player
Orin
Fork of @kabouzied Phonograph, I always wanted to try my hands on Tunzo's material design music player concept which can be found here: https://www.uplabs.com/posts/a-music-player-in-material-design-a-concept ... Work in progress.
Stars: ✭ 587 (-28.93%)
Mutual labels:  music, music-player
Flutter Musicplayer
A complete music player in flutter with cool UI and design.
Stars: ✭ 391 (-52.66%)
Mutual labels:  music, music-player
Music Player Go
🎶🎼 Very slim music player 👨‍🎤 100% made in Italy 🍕🌳🌞🍝🌄
Stars: ✭ 654 (-20.82%)
Mutual labels:  music, music-player
Playpauseview
Let the play and pause button transition gracefully
Stars: ✭ 383 (-53.63%)
Mutual labels:  music, music-player
Skplayer
🎵 A simple & beautiful HTML5 music player
Stars: ✭ 437 (-47.09%)
Mutual labels:  music, music-player
Youtube Music
YouTube Music Desktop App bundled with custom plugins (and built-in ad blocker / downloader)
Stars: ✭ 376 (-54.48%)
Mutual labels:  music, music-player
Tauonmusicbox
The Linux desktop music player from the future! 🌆
Stars: ✭ 494 (-40.19%)
Mutual labels:  music, music-player
Lms
Lightweight Music Server. Access your self-hosted music using a web interface.
Stars: ✭ 315 (-61.86%)
Mutual labels:  music, music-player
Music Player
From UI Proposal to Code 🎶▶️
Stars: ✭ 3,459 (+318.77%)
Mutual labels:  music, music-player
Audio Visualizer Android
🎵 [Android Library] A light-weight and easy-to-use Audio Visualizer for Android.
Stars: ✭ 581 (-29.66%)
Mutual labels:  music, music-player
Chord
Chord - A Modern Music Player
Stars: ✭ 615 (-25.54%)
Mutual labels:  music, music-player

taro-music

基于Taro与网易云音乐 api 开发,技术栈主要是:typescript+taro+taro-ui+redux+react-hooks,目前主要是着重小程序端的展示,主要也是借此项目强化下上述几个技术栈的使用,打造一个最佳实践项目,通过这个项目也可以帮助你快速使用Taro开发一个属于你自己的小程序,此项目会持续更新,欢迎watchstar


GitHub stars GitHub forks GitHub watchers GitHub

快速开始

注意事项

目前已将taro的版本升级到最新版本2.1.5,确保你本地的taro-cli的版本也是这个版本,可以通过taro info查看版本号,如果不是最新的话,可以通过执行taro update self(mac或者linux前面需要加上sudo)以及taro update project进行cli与项目依赖的更新保持一致,否则将会导致项目无法正常运行,了解更多详情可查看Taro 环境及依赖检测

重要说明

taro现在已经发布了3.0,目前该项目尚未进行升级适配,所以当安装@tarojs/cli的时候需要注意加上版本号,也就是需要按照下方说明来看下执行的命令是否正确

  如果之前有安装其他版本的@tarojs/cli,需要先全局卸载,执行下方命令,执行完后再执行下方两步
  npm uninstall -g @tarojs/cli
  rm -rf node_modules
  ---------------
  第一步
  npm install -g @tarojs/[email protected]
  or
  cnpm install -g @tarojs/[email protected]
  or
  yarn global add @tarojs/[email protected]

  第二步
  npm install
  or
  cnpm install
  or
  yarn

首先需要在 src 目录下创建一个config.ts,这样可以根据自己的需要将其替换成线上地址,接口服务是使用的NeteaseCloudMusicApi

export const baseUrl: string = 'http://localhost:3000' // 这里配置的这个url是后端服务的请求地址,示例中代表在本地启用的服务端口是3000,如果希望在真机上调试,那么就需要将后端服务部署到一个云主机上

在运行本项目前,请先确保已经全局安装了 Taro,安装可见官网指导

启动后端接口服务

git clone https://github.com/Binaryify/NeteaseCloudMusicApi.git

cd NeteaseCloudMusicApi

npm i

npm run start

接下来启动前端项目

git clone https://github.com/lsqy/taro-music.git

cd taro-music

npm i

npm run dev:weapp

功能列表

  • [x] 用户登陆
  • [x] 退出登陆
  • [x] 我的关注列表
  • [x] 我的粉丝列表
  • [ ] 我的动态列表
  • [x] 最近播放列表
  • [ ] 我的电台
  • [ ] 我的收藏
  • [x] 推荐歌单
  • [x] 推荐电台
  • [x] 推荐电台
  • [x] 我创建的歌单列表
  • [x] 我收藏的歌单列表
  • [x] 共用的歌单详情列表
  • [x] 歌曲播放页面
  • [x] 歌词滚动
  • [x] 歌曲切换播放模式(随机播放/单曲循环/顺序播放)
  • [x] 切换上一首/下一首
  • [x] 喜欢/取消喜欢某首歌曲
  • [x] 评论列表
  • [x] 视频播放
  • [x] 热搜列表
  • [x] 搜索(包含单曲/歌单/视频/歌手/专辑/电台/用户)
  • [x] 统一的播放组件,方便进行切换页面后可以随时进入到播放页面

目录结构简要介绍

这里主要介绍下src目录,因为开发主要是在这个目录下进行的

- src
 - actions // `redux`中的相关异步操作在这里进行
 - assets // 静态资源目录,这里引入了所需的图片资源,以及`fontawesome`字体图标资源
 - components // 封装的项目中可复用的组件,目前只是抽象了`CLoading`(加载效果组件)、`CLyric`(歌词组件)、`CMusic`(正在播放组件)、`CSlide`(滑块组件)、`CTitle`、`CUserListItem`
 - constants // 项目中的常量定义,目前定义了`typescript`的公共定义、`reducers`的名称定义、状态码的定义
 - pages // 项目中的业务页面都在这个目录中
 - reducers // `redux`中的相关同步操作在这里进行
 - services // 可复用的服务可以放在这个目录中,目前只是封装了接口请求的公共服务,可以根据自己项目的需要进行其他服务的扩充
 - store // redux的初始文件
 - utils // 可以复用的工具方法可以放到这个目录当中,目前封装了格式化、歌词解析的相关方法
  - decorators // 抽象的装饰器,主要为了解决在切换页面之后仍然可以继续保持播放状态,因为目前`taro`不支持全局组件
 - app.scss // 全局样式
 - app.tsx // 全局入口文件
 - base.scss // 基础样式
 - config.ts // 项目的全局配置,目前只是配置了`baseUrl`是后端服务的基准请求地址

todo

  • 复用的评论列表
  • 搜索功能 已完成部分功能
  • 个人主页支持跳转
  • 歌手页面
  • react-hooks重构部分功能,正在进行中

最近更新

  • [x] 搜索功能
  • [x] 视频播放
  • [x] mv 播放
  • [x] 视频与 mv 中的评论列表

效果图预览

下面简要列出几张效果图

有待完善部分

还有一些功能点以及细节都还有待进一步完善,目前先把大致主要的功能进行了下实现,当然如果发现什么问题,欢迎能够提交issues,发现之后我会及时进行更正,欢迎 starfork,感谢大家支持 🙏。

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].