主题
技术栈与开源组件
瓜子音乐由以下开源技术构建。本项目为闭源软件,在此向所有使用的开源组件及其开发者致谢。
合规与安全
以上信息基于项目实际依赖记录。如需报告开源组件的安全问题或有合规疑问,请通过 官网 联系我们。
桌面客户端
运行框架
| 组件 | 版本 | 用途 |
|---|---|---|
| Electron | 42.x | 跨平台桌面应用框架,提供原生窗口、系统托盘、文件系统等能力 |
| React | 18.x | 用户界面框架,组件化构建 UI |
| TypeScript | 5.x | 类型安全的 JavaScript 超集 |
| Vite | 5.x | 前端构建工具,提供极速热更新和打包 |
界面组件
| 组件 | 用途 |
|---|---|
| Ant Design | UI 组件库,提供按钮、输入框、弹窗、表格等基础组件 |
| @remixicon/react | 图标库,提供界面中使用的 SVG 图标 |
| @dnd-kit | 拖拽排序组件,用于歌单内歌曲排序 |
音频播放
| 组件 | 用途 |
|---|---|
| Web Audio API | 浏览器内置音频引擎,支持 A/B 双缓冲无缝切歌 |
| @applemusic-like-lyrics | Apple Music 风格逐字歌词渲染组件 |
数据存储
| 组件 | 用途 |
|---|---|
| better-sqlite3 | 本地 SQLite 数据库,存储歌曲缓存、收藏、歌单、播放记录 |
系统能力
| 组件 | 用途 |
|---|---|
| koffi | 直接调用 Windows 原生 API(用于任务栏播控嵌入、SMTC 媒体控制) |
| systeminformation | 获取系统硬件和操作系统信息 |
音乐文件处理
| 组件 | 用途 |
|---|---|
| music-metadata | 解析音频文件元数据(歌名、艺术家、专辑、封面) |
| node-id3 | 向 MP3 文件写入 ID3 标签(封面、歌词、歌曲信息) |
网络与工具
| 组件 | 用途 |
|---|---|
| webdav | WebDAV 客户端,连接远程存储播放音乐 |
| crypto-js | 加密工具库,用于平台 API 请求加密 |
| qrcode | 生成二维码,用于各平台扫码登录 |
| string-similarity | 字符串相似度匹配,辅助搜索结果匹配 |
| electron-updater | 自动更新组件,检测和安装新版本 |
构建与打包
| 组件 | 用途 |
|---|---|
| electron-builder | 打包为 Windows 安装程序(.exe) |
| vite-plugin-electron | Vite 与 Electron 集成插件 |
| sharp | 高性能图像处理(图标生成) |
文档站
| 组件 | 用途 |
|---|---|
| VitePress | 静态文档站点生成器(你正在浏览的页面) |
后端服务
| 组件 | 用途 |
|---|---|
| Node.js | 后端运行环境 |
| Express | Web 框架,提供 API 服务 |
| PostgreSQL | 关系型数据库,存储用户、歌单、同步数据 |
| PM2 | 进程管理,保持服务持续运行 |
| Nginx | Web 服务器 / 反向代理 |
致谢
瓜子音乐的发展离不开以下项目的支持:
- 开源社区:上述所有开源组件及其开发者
- 洛雪音乐(LX Music):自定义音源协议的设计与社区维护
- Apple Music Like Lyrics:逐字歌词渲染组件
- 所有反馈问题的用户:你们让瓜子变得更好
如有遗漏或信息需更新,欢迎通过 官网 联系我们。