特性介绍

🧩 插件市场

  • 本地文件安装:选择 .js 插件文件直接载入
  • 订阅 URL 安装:粘贴 URL 一次性导入多个插件,订阅源更新时可一键升级
  • 插件启用 / 禁用 / 排序:搜索结果按当前排序展示
  • 插件元信息:版本、作者、官方仓库链接
  • 沙箱执行:基于 QuickJS,插件无法访问本地文件系统

🔍 多源搜索

  • 单次输入搜索全部启用的插件
  • 结果按插件分组展示
  • 支持单曲、专辑、歌单、作者四类聚合
  • 网络出错时单插件失败不影响其他源
  • 历史搜索记录与清除

🎧 播放体验

  • 基于 Media3 / ExoPlayer,与系统媒体框架原生集成
  • 锁屏控制、通知栏卡片、车载蓝牙控制
  • 后台播放,可加入电池优化白名单防止被杀
  • 冷启动恢复上次播放进度
  • 倍速播放、音质切换(插件支持时)

📋 歌单管理

  • 本地歌单创建、改名、删除
  • 跨插件聚合:同一歌单可包含来自不同插件的歌曲
  • 批量编辑:多选移动 / 删除 / 复制到其他歌单
  • 导入 / 导出 / 备份恢复

📝 歌词

  • 自动加载插件歌词
  • 滚动跟随 + 点击跳转
  • 偏移微调(毫秒级)
  • 跨源关联:当前插件歌词不准时,可绑定其他源歌词

🌗 主题与视觉

  • 亮色 / 暗色 / 跟随系统
  • 自定义主题色
  • 沉浸式状态栏
  • 响应式尺寸(与原版 RN 适配公式一致)

与上游 RN MusicFree 的关系

  • 对齐目标:交互流程、插件协议、数据结构与上游一致
  • 目前差异:缺 downloadingsetCustomTheme 两个页面
  • 不打算追的部分:RN 周边脚手架、跨平台桥接代码

路线图

短期与长期优先事项(与 AGENTS.md 一致):

  1. 补齐 downloadingsetCustomTheme 两个页面
  2. 强化 topListDetail / pluginSheetDetail / musicDetail 详情链路运行态验收
  3. 加强插件安装 → 搜索 → 播放 → 队列/状态一致性的端到端验证
  4. 持续治理文档,避免历史规范被误用