chengww 537e280fdd refactor(persist): 抽公共防抖 storage 与 minifySong 工具,playlist/playerCore 接入
把 9caaec3 在 playlist 内联的 minifySong + debouncedLocalStorage 抽到
utils 共用,playerCore 同步接入,为后续推广到 playHistory 做准备。

- 新增 utils/debouncedStorage.ts:高频状态变更(volume 拖动、isPlay
  切换)2s 防抖落盘,beforeunload 钩子兜底刷盘;多 store 共用同一
  pendingWrites map,flush 时一次写完所有 pending key
- 新增 utils/persistedSong.ts:minifySong 剥离 base64 picUrl、仅保留
  local:// 永不过期的 playMusicUrl;ar.length 守卫避免空数组吞掉
  s.artists 兜底;al.id 守卫避免序列化出无 id 空壳
- playlist.ts 删除内联实现改用 import,行为不变
- playerCore.ts 切到防抖落盘并 minify playMusic;id 守卫避免空
  playMusic 走 minify 后失去 Object.keys().length===0 判空能力,
  下次启动会误恢复一首无 id 的空歌

Trade-off:极端非正常退出(kill -9 / 断电)下最近 2s 的 volume /
isPlay / playMusic 变更会丢——这些状态丢一次无大碍,可接受
2026-05-17 23:07:58 +08:00
2025-12-20 19:47:38 +08:00
2026-03-04 20:28:38 +08:00
2025-01-10 22:49:55 +08:00
2026-02-10 09:06:25 +08:00
2026-01-21 09:43:49 +08:00
2026-02-10 09:06:25 +08:00
2026-02-04 20:18:29 +08:00

🎵 Alger Music Player

Featured|HelloGitHub

项目下安装以及常用问题文档

主要功能如下

  • 🎵 音乐推荐
  • 🔐 账号登录与同步
  • 📝 功能
    • 播放历史记录
    • 歌曲收藏管理
    • 歌单 MV 排行榜 每日推荐
    • 自定义快捷键配置(全局或应用内)
  • 🎨 界面与交互
    • 沉浸式歌词显示(点击左下角封面进入)
    • 独立桌面歌词窗口
    • 明暗主题切换
    • 迷你模式
    • 状态栏控制
    • 多语言支持
  • 🎼 音乐功能
    • 支持歌单、MV、专辑等完整音乐服务
    • 音乐资源解析(基于 @unblockneteasemusic/server
    • EQ均衡器
    • 定时播放 远程控制播放 倍速播放
    • 高品质音乐
    • 音乐文件下载
    • 搜索 MV 音乐 专辑 歌单 bilibili
    • 音乐单独选择音源解析
  • 🚀 技术特性
    • 本地化服务,无需依赖在线API (基于 netease-cloud-music-api)
    • 全平台适配(Desktop & Web & Mobile Web & Android<测试> & ios<后续>

项目简介

一个第三方音乐播放器、本地服务、桌面歌词、音乐下载、最高音质

预览地址

http://music.alger.fun/

软件截图

首页白 首页黑 歌词 桌面歌词 设置页面 音乐远程控制

项目启动

npm install
npm run dev

开发文档

点击这里开发文档

赞赏

赞赏列表

微信赞赏 支付宝赞赏
WeChat QRcode
喝点咖啡继续干
Wechat QRcode
来包辣条吧~

项目统计

Stargazers over time Alt

欢迎提Issues

声明

本软件仅用于学习交流,禁止用于商业用途,否则后果自负。 希望大家还是要多多支持官方正版,此软件仅用作开发教学。

S
Description
No description provided
Readme MIT 38 MiB
Languages
Vue 52.7%
TypeScript 45.3%
HTML 0.8%
CSS 0.6%
JavaScript 0.6%