歌单与收藏同步机制详解
同步了什么内容
登录网易云账号后,以下数据会被拉取到本地:
歌单
- 你自己创建的所有歌单
- 你收藏的公开歌单(他人创建但你点过收藏)
- 歌单内的歌曲列表
收藏
- 你收藏的单曲(红心标记)
- 你收藏的 MV
- 你收藏的歌手
播放历史
- 最近 1000 首播放过的歌曲
- 播放时间戳
等级与签到
- 网易云等级、经验值
- 每日签到积分(可选)
同步时机
首次登录
登录成功后立即全量拉取一次。对于歌单数量特别多的账号(>100 个歌单),可能需要几秒钟加载。
启动时
每次启动应用时会检查会话状态,如果有效则增量更新(只同步上次之后变化的部分)。
手动刷新
在歌单页面或收藏页面点击「刷新」按钮,可以强制重新同步。
离线使用
AlgerMusicPlayer 是本地化服务架构,登录状态和歌单数据缓存在本地 SQLite 数据库中。即使暂时断网,已加载过的歌单信息仍然可以查看。但播放需要网络(灰色解析需要联网)。
多端同步
- 手机网易云 App 修改歌单后,在 AlgerMusicPlayer 手动刷新或下次启动时会同步过来
- 反之在 AlgerMusicPlayer 收藏了新歌,网易云 App 也会看到(因为写的是同一个网易云账号的在线数据)
- 播放历史也是双向同步的
常见同步问题
歌单数量不对?
手动点刷新;如果还是不对,退出登录重新登录一次。
新加的收藏没出现?
等待几秒自动同步或手动刷新。网易云 API 有时会有延迟。
播放历史不全?
AlgerMusicPlayer 只同步自己播放产生的记录。如果你在网易云官方 App 上听过,历史可能不会全部拉过来(取决于网易云 API 返回的数据)。
数据存储位置
本地数据存储在 Electron 用户数据目录的 SQLite 数据库中:
- Windows:
%APPDATA%\AlgerMusicPlayer\ - macOS:
~/Library/Application Support/AlgerMusicPlayer/ - Linux:
~/.config/AlgerMusicPlayer/
删除这个目录等于清除所有登录状态和本地缓存。