🎧 主要特色
集成音乐和有声书,已完成功能:音乐和有声书首页,歌单页,播放页,个人中心,收藏,历史记录,登录等,整体完成度很高
注意:这个项目只是前端,你可以自建音源服务,直接拿Cordova 构建 APK ,搞一个自用音乐APP,美翻天~
核心技术栈
-
前端框架:
- Next.js 15 (基于React 19)
- TypeScript 作为主要开发语言
-
UI 组件库:
- Radix UI 作为底层无样式组件库
- shadcn/ui 作为高级组件系统
- Tailwind CSS 用于样式设计
- 支持暗色主题(通过next-themes实现)
-
状态管理:
- React Context API 实现全局状态管理
- 主要上下文包括:
-
MusicContext:音乐播放、队列和收藏管理
-
AuthContext:用户认证相关
-
ToastContext:通知提示系统
-
应用架构
-
布局结构:
- Next.js App Router 页面路由系统
- 分离的布局组件:RootLayout 和 ClientLayout
- 全局音频元素单例设计
-
核心功能模块:
- 音乐播放器(支持基础播放控制功能)
- 播放列表管理
- 歌曲收藏功能
- 最近播放记录
- 同时支持音乐和有声书两种内容类型
- 聚合搜索功能
-
组件结构:
- UI组件:基于shadcn/ui和Radix UI的基础UI元素
- 功能组件:MusicPlayer、AudiobookPlayer、SongCard等
- 骨架屏(Skeletons)用于加载状态显示
-
音频处理:
- 全局单例音频元素避免重复创建
- 统一的播放控制接口
- 进度条和时间显示
- 播放错误处理
💻 源码地址
[github.com/kibble5788/...](https://link.juejin.cn?target=https%3A%2F%2Fgithub.com%2Fkibble5788%2FMusicNest%255D( "https://github.com/kibble5788/MusicNest%5D(")[github.com/kibble5788/...](https://link.juejin.cn?target=https%3A%2F%2Fgithub.com%2Fkibble5788%2FMusicNest "https://github.com/kibble5788/MusicNest") ## 🐟预览 [music.kudown.vip](https://link.juejin.cn?target=https%3A%2F%2Fmusic.kudown.vip "https://music.kudown.vip") 