外观
项目介绍
拼好歌(phgmusic) 是一个开源、非商业的跨平台音乐播放器框架,由 uni-app + Vue 3 客户端与 Cloudflare Workers 服务端两部分组成,面向技术爱好者与开发者,用于学习跨端应用开发,以及以 Cloudflare Workers 承载的 Serverless 后端实践(有完整的服务端代码与数据库,只是不需要自己买服务器运维)。
一句话概括
用一套代码构建多端播放器客户端,配套一个可自行部署的轻量服务端,账号与数据完全由使用者自己掌握。
项目组成
客户端
- 技术栈:uni-app + Vue 3,桌面端由 Electron 承载
- 覆盖平台:Android、iPhone、鸿蒙、Windows、macOS、Linux
- 能力:播放控制、歌单与收藏、歌词、后台播放、定时关闭、暗黑模式、多语言
- 详见 客户端架构
服务端
- 技术栈:Cloudflare Workers + D1 + QuickJS(WASM)沙箱
- 能力:账号体系、数据同步、插件沙箱、管理后台、用量统计
- 详见 服务端架构
设计原则
| 原则 | 说明 |
|---|---|
| 解耦 | 客户端与服务端独立部署、独立演进 |
| 自托管 | 服务端可部署在自己的 Cloudflare 账号下,不依赖官方服务器 |
| 可扩展 | 插件化架构,播放核心与扩展分离;插件格式遵循洛雪音乐(lx-music)音源脚本协议 |
| 非商业 | 不接受商业合作与捐赠,仅供技术学习与交流 |
边界声明(重要)
- 本项目是工具与框架,本身不提供、不存储、不传输任何音频内容;
- 不内置、不附带、不推荐、不分发任何插件;插件由使用者自行提供,并自行承担相应责任;
- 项目不运营任何面向公众的在线服务;使用者的部署实例由使用者自行管理与负责;
- 项目免费、开源、非商业。
常见问题
拼好歌是什么?
拼好歌(phgmusic)是一个开源跨平台音乐播放器框架,包含 uni-app + Vue 3 客户端与 Cloudflare Workers 服务端,面向技术学习与二次开发。
拼好歌支持哪些平台?
客户端支持 Android、iPhone、鸿蒙、Windows、macOS、Linux。其中 Android 与 Windows / macOS / Linux 提供安装包;iOS 与华为纯血鸿蒙需用微信开发者工具自行编译小程序运行。各平台能力差异见平台与运行模式。
拼好歌是开源的吗?采用什么协议?
是。发布仓库采用 Apache-2.0 协议开源,可自由使用、修改与分发,需保留版权与许可声明。
拼好歌需要付费吗?
不需要。项目完全免费且非商业,服务端可部署在 Cloudflare 免费套餐上。
服务端必须自己部署吗?
不是必须。客户端本地功能可独立使用;账号与数据同步功能需要连接一个服务端实例,该实例可自行部署。
拼好歌的客户端用什么技术栈?
uni-app + Vue 3(Vue 3.4),桌面端使用 Electron 打包,服务端使用 TypeScript 编写并运行在 Cloudflare Workers 上。
