外观
客户端架构
拼好歌客户端是一套代码覆盖多端的播放器:界面与业务用 uni-app + Vue 3 编写,桌面端由 Electron 承载,Android 走原生打包,iOS 与华为纯血鸿蒙通过微信小程序运行。具体操作步骤见客户端使用教程。
技术栈
| 部分 | 技术 | 说明 |
|---|---|---|
| 界面与业务 | uni-app + Vue 3 | 一套代码同时构建移动端与桌面端 |
| 桌面容器 | Electron | Windows / macOS / Linux 的桌面应用 |
| 移动端 | 原生打包 / 微信小程序 | Android 用安装包;iOS 与鸿蒙用小程序 |
| 本地存储 | 设备本地存储 + JSON 备份 | 歌单、设置、播放历史可在本地备份与恢复 |
| 服务端通信 | HTTP(专属服务器) | 账号、同步与插件调用走自部署实例 |
分层结构
- 表现层:首页、搜索、播放器、播放列表、排行榜、歌单广场、AI 推荐、我的、设置等页面,以及跨页面复用的 UI 组件;
- 业务层:播放控制与播放模式、歌词同步、歌单与收藏、账号与数据同步、定时关闭、主题切换;
- 数据层:本地存储(设置、缓存、备份)与服务端接口(账号、同步、插件调用);
- 插件层:音源插件的执行入口,按运行模式决定在设备本地还是服务端执行。
跨端适配
同一套页面在手机、平板、桌面三种形态下渲染:手机使用独立页面,平板与桌面使用更宽的布局与侧边导航,并按屏宽换算尺寸单位,避免窄窗口下元素被放大或挤压。各平台的运行方式与差异见平台与运行模式。
插件在哪执行
- 本地运行:插件在设备上执行,不经过服务器;仅桌面端与 Android 可选;
- 专属服务器:插件在你部署的 Cloudflare Workers 实例上执行,所有平台都能用;登录、多端同步与 AI 推荐也只在该模式下可用。
插件格式与脚本写法见音源插件使用教程。
数据与同步
登录专属服务器后,歌单、收藏、播放历史与设置会同步到你自己部署的实例;也可以导出 JSON 在本地备份与恢复。服务端侧的实现见服务端架构。
