## Why 用户创建的歌单数据(歌单信息、歌曲关联)仅存储在本地 RDB 数据库中,一旦卸载应用或更换设备,所有歌单数据将丢失。用户需要一种可靠的方式将歌单备份到远程存储,并在需要时恢复。同时,自动备份到服务器作为 VIP 增值功能,可以增强产品价值。 ## What Changes - 新增歌单导出功能:将歌单数据序列化为 JSON 格式文件,支持手动导出到本地存储 - 新增歌单导入功能:从 JSON 备份文件恢复歌单数据(歌单信息 + 歌曲关联) - 新增 WebDAV 备份功能:将歌单备份文件上传到用户已配置的 WebDAV 账户(复用现有 `RemoteDriveManager`) - 新增 WebDAV 恢复功能:从 WebDAV 账户下载备份文件并恢复歌单 - 新增自动备份功能(VIP):歌单变更时自动备份到服务器端(通过远程 API),VIP 用户专享 - 新增备份管理 UI:在设置页面添加备份/恢复入口,显示备份历史和状态 ## Capabilities ### New Capabilities - `playlist-export-import`: 歌单数据的本地导出和导入,包括 JSON 序列化格式定义、文件选择器集成、数据校验与合并策略 - `playlist-remote-backup`: 歌单数据的远程备份与恢复,包括 WebDAV 备份上传/下载、服务器端自动备份(VIP)、备份历史管理 ### Modified Capabilities (无需修改现有规格) ## Impact - **数据模型**: `PlaylistTable` 需要新增导出/导入方法,将歌单及关联歌曲序列化为 JSON - **远程存储**: 复用 `RemoteDriveManager` 和现有 WebDAV/远程网盘账户体系(`RemoteDriveType`),新增备份文件的上传下载逻辑 - **VIP 系统**: 集成现有 VIP 权限检查(`VipPage`、`UserUtil`),自动备份功能仅限 VIP 用户 - **配置系统**: 通过 `ConfigManager` 获取服务器端备份 API 地址等配置 - **UI 层**: 在 `SettingPage` 新增备份管理入口,新建备份管理页面/对话框 - **依赖**: 无新外部依赖,使用系统 `@kit.CoreFileKit` 进行文件操作,使用 `@kit.NetworkKit` 进行网络请求