alger
|
97220761cf
|
fix(lyric): 重启后桌面歌词显示无歌词
playerCore.playMusic 整体替换 (id 不变) 时, lyric watcher 的响应式追踪不可靠
点击播放走 playTrack 流程也未必能可靠触发解析
- 提取 ensureLyricsLoaded 到 module 级别, 直接读 playMusic.value 解析
- openLyric 入口主动调用 (重启首次打开桌面歌词场景)
- onLyricWindowReady 兜底 (窗口异步就绪时 lyric 字段可能刚到位)
- audioService.on('play') 兜底 (重启后首次点击播放场景)
- 在线歌曲 lyric 字段缺失时, 主动调 getMusicLrc API 兜底
|
2026-04-19 16:15:09 +08:00 |
|
alger
|
030a1f1c85
|
fix(mpris): 修复 MPRIS 模块多项安全和性能问题
- 将 fix-sandbox.js 从 postinstall 移除,避免 npm install 时执行 sudo
- 修复 play/pause/stop 事件语义错误,不再全部映射到 togglePlay
- 缓存平台信息避免 sendSync 阻塞渲染进程
- 修复 cleanupAppShortcuts 中缺少 MPRIS 监听器清理导致的事件泄漏
- destroyMpris 中添加 IPC 监听器清理
- 清理冗余调试日志,安全加载 dbus-native 模块
- 添加 mpris-service 类型声明解决跨平台类型检查问题
|
2026-04-11 22:37:26 +08:00 |
|
alger
|
33fc4f768c
|
1. 实现linux下的mpris和gnome状态栏歌词功能
|
2026-04-11 15:45:14 +08:00 |
|
4everWZ
|
8726af556a
|
perf: 长列表渐进式渲染优化与播放栏遮挡修复 (#589)
- 新增 useProgressiveRender composable,提取手工虚拟化逻辑(renderLimit + placeholderHeight)
- FavoritePage/DownloadPage 使用 composable 实现渐进式渲染,避免大量 DOM 一次性渲染
- MusicListPage 初始加载扩大至 200 首,工具栏按钮添加 n-tooltip,新增回到顶部按钮
- 播放栏动态底部间距替代 PlayBottom 组件,修复播放时列表底部被遮挡
- 下载页无下载任务时自动切换到已下载 tab
- i18n: 添加 scrollToTop/compactLayout/normalLayout 翻译(5 种语言)
Inspired-By: https://github.com/algerkong/AlgerMusicPlayer/pull/589
|
2026-04-10 23:26:34 +08:00 |
|
alger
|
ad2df12957
|
fix(core): 修复事件监听器泄漏
- App.vue: offline 监听器添加 onUnmounted 清理,移除冗余 console.log
- MusicHook.ts: document.onkeyup 直接赋值改为 addEventListener + 防重复
- MusicHook.ts: audio-ready 监听器提取为命名函数,先移除再注册防堆叠
|
2026-04-10 23:26:33 +08:00 |
|
alger
|
38723165a0
|
refactor(player): 提取播放栏共享逻辑为 composable
- 新增 useVolumeControl:统一音量管理(volumeSlider、mute、滚轮调节)
- 新增 useFavorite:收藏状态与切换
- 新增 usePlaybackControl:播放/暂停、上/下一首
- PlayBar、MiniPlayBar、SimplePlayBar、MobilePlayBar 使用新 composable
- 修复音量存储不一致:MiniPlayBar/SimplePlayBar 原先绕过 playerStore 直接操作 localStorage
|
2026-04-10 23:26:33 +08:00 |
|
alger
|
0cfec3dd82
|
refactor(player): 重构播放控制系统,移除 Howler.js 改用原生 HTMLAudioElement
- 新建 playbackController.ts,使用 generation-based 取消替代 playbackRequestManager 状态机
- audioService 重写:单一持久 HTMLAudioElement + Web Audio API,createMediaElementSource 只调一次
- playerCore 瘦身为纯状态管理,移除 handlePlayMusic/playAudio/checkPlaybackState
- playlist next/prev 简化,区分用户手动切歌和歌曲自然播完
- MusicHook 适配 HTMLAudioElement API(.currentTime/.duration/.paused)
- preloadService 从 Howl 实例缓存改为 URL 可用性验证
- 所有 view/component 调用者迁移到 playbackController.playTrack()
修复:快速切歌竞态、seek 到未缓冲位置失败、重启后自动播放循环提示、EQ 重建崩溃
|
2026-03-29 13:18:05 +08:00 |
|
alger
|
bc46024499
|
refactor(download): 重构下载系统,支持暂停/恢复/取消,修复歌词加载
- 新建 DownloadManager 类(主进程),每个任务独立 AbortController 控制
- 新建 Pinia useDownloadStore 作为渲染进程单一数据源
- 支持暂停/恢复/取消下载,支持断点续传(Range header)
- 批量下载全部完成后发送汇总系统通知,单首不重复通知
- 并发数可配置(1-5),队列持久化(重启后恢复)
- 修复下载列表不全、封面加载失败、通知重复等 bug
- 修复本地/下载歌曲歌词加载:优先从 ID3/FLAC 元数据提取,API 作为 fallback
- 删除 useDownloadStatus.ts,统一状态管理
- DownloadDrawer/DownloadPage 全面重写,移除 @apply 违规
- 新增 5 语言 i18n 键值(暂停/恢复/取消/排队中等)
|
2026-03-27 23:02:08 +08:00 |
|
alger
|
2b8378bbae
|
✨ feat: 重构心动模式与私人FM播放逻辑
- 心动模式从播放模式循环中独立,移至 SearchBar 作为独立按钮
- 新增私人FM自动续播:播放结束后自动获取下一首
- 播放列表设置时自动清除FM模式标志
- 顺序播放模式播放到最后一首后正确停止
- 新增获取关注歌手新歌 API
- 补充心动模式相关 i18n 翻译
|
2026-03-22 16:49:00 +08:00 |
|
alger
|
68b3700f3f
|
✨ feat: 歌曲右键菜单添加下载歌词功能及下载设置中保存歌词文件选项
- 右键菜单新增"下载歌词"选项,支持获取歌词并保存为 .lrc 文件
- 如有翻译歌词会自动合并到 LRC 文件中
- 下载设置面板新增"单独保存歌词文件"开关
- 开启后下载歌曲时自动在同目录生成同名 .lrc 歌词文件
- 主进程新增 save-lyric-file IPC handler
- 完成 5 种语言的国际化翻译
|
2026-03-16 23:22:17 +08:00 |
|
alger
|
57a441312f
|
feat(ui): 重构 SearchBar、集成 useScrollTitle 标题滚动显示、修复专辑搜索跳转
- 重新设计 SearchBar:左侧 Tab(播放列表/MV/排行榜)+ 滑动指示器 + 搜索框自动展开收缩
- 新增 navTitle store 和 useScrollTitle hook,支持页面滚动后在 SearchBar 显示标题
- 集成 useScrollTitle 到 MusicListPage、歌手详情、关注/粉丝列表、搜索结果页
- 修复搜索结果页专辑点击跳转失败(缺失 type 字段)
- 新增 5 种语言 searchBar tab i18n 键值
|
2026-03-15 14:11:59 +08:00 |
|
alger
|
479db66eb0
|
fix(lyric): 修复桌面歌词窗口首次打开无歌词问题
歌词窗口 Vue 加载完成后发送 lyric-ready 信号,主窗口收到后
发送完整歌词数据,替代不可靠的延迟猜测方案
|
2026-03-12 18:31:16 +08:00 |
|
alger
|
1c222971d5
|
refactor: 统一进度追踪机制,移除重复的rAF更新循环 (H-007/H-008)
- 移除 Mechanism A (rAF + setTimeout 混用),消除定时器泄漏 bug
- 将逐字歌词进度计算和 localStorage 保存迁移到 Mechanism B (setInterval 50ms)
- 消除 nowTime 竞争写入,从 ~30次/秒 seek 调用降到 20次/秒
- 修复 timer ID 类型 (any -> number)
|
2026-03-12 18:09:20 +08:00 |
|
alger
|
ec8a07576f
|
fix: 修复播放并发控制死代码、shallowRef响应式、歌词IPC高频调用 (H-005/H-006/H-009)
- H-005: 删除 playerCore.ts 中无效的 playInProgress 局部变量
- H-006: fetchSongs 修改 shallowRef 元素后添加 triggerRef 触发更新
- H-009: sendLyricToWin 从每秒20次全量发送改为每秒5次轻量更新
|
2026-03-12 18:07:20 +08:00 |
|
alger
|
a62e6d256e
|
refactor: 重构音乐和歌词缓存逻辑 可配置缓存目录
|
2026-03-06 19:56:01 +08:00 |
|
alger
|
36917a979d
|
feat: 优化音乐播放逻辑
|
2026-03-04 19:53:50 +08:00 |
|
alger
|
e53a035ebc
|
refactor: 重构历史记录
|
2026-02-06 20:35:04 +08:00 |
|
alger
|
b955e95edc
|
feat: 优化播放逻辑
|
2026-02-06 20:34:07 +08:00 |
|
alger
|
3a3820cf52
|
feat: 扩展数据层与播放能力
|
2026-02-04 20:18:27 +08:00 |
|
algerkong
|
999cd6526b
|
feat: 优化播放检测逻辑
|
2025-12-20 14:16:32 +08:00 |
|
alger
|
b9287e1c36
|
fix: 修复音源解析致命性错误
|
2025-12-13 14:46:15 +08:00 |
|
alger
|
1a0e449e13
|
feat: 一系列播放优化
|
2025-12-13 11:31:49 +08:00 |
|
alger
|
34ba2250bf
|
feat: 重构播放 store
|
2025-11-08 14:26:04 +08:00 |
|
alger
|
3527da17da
|
feat: 添加心动模式播放
|
2025-10-22 22:48:52 +08:00 |
|
alger
|
6d7ba6dbae
|
feat: 历史记录页面 添加本地和云端两种记录支持,支持歌曲、歌单、专辑
|
2025-10-22 21:51:16 +08:00 |
|
alger
|
a5d3ff359c
|
feat: 优化逐字歌词效果,桌面歌词添加逐字歌词效果
|
2025-10-12 17:11:48 +08:00 |
|
alger
|
cb2baeadf5
|
feat: 逐字歌词
|
2025-10-11 20:23:54 +08:00 |
|
Leko
|
56922caa40
|
feat: 新增歌詞翻譯模組和 OpenCC 翻譯引擎
|
2025-09-14 17:16:53 +08:00 |
|
alger
|
659c9f9a4c
|
feat: 优化解析功能,添加缓存
|
2025-09-14 01:03:29 +08:00 |
|
alger
|
d8734f8302
|
feat: 格式化代码
|
2025-09-14 00:19:41 +08:00 |
|
alger
|
70677dfb14
|
fix: 不喜欢的操作只有每日推荐歌曲才请求接口,去除不喜欢的提示
|
2025-09-13 23:58:33 +08:00 |
|
shano
|
fb8b4c9341
|
feat: 日推不感兴趣调用官方接口
|
2025-09-10 13:13:17 +08:00 |
|
alger
|
ad51f57bd7
|
🦄 refactor: 重构播放列表逻辑 优化随机播放功能
feated: #368 #353
|
2025-08-12 19:51:29 +08:00 |
|
alger
|
3ba85f34ed
|
feat: 优化类型处理
|
2025-08-07 22:57:17 +08:00 |
|
alger
|
c08c2cbf19
|
refactor: 更新 eslint 和 prettier 配置 格式化代码
|
2025-07-23 23:54:35 +08:00 |
|
algerkong
|
4d831777f1
|
🔧 chore: 移除统计,更新支持的音乐源列表
|
2025-06-27 18:49:37 +08:00 |
|
algerkong
|
b9c38d257a
|
✨ feat: 重构播放控制逻辑,添加播放进度恢复功能并清理无用代码
|
2025-06-11 20:12:52 +08:00 |
|
alger
|
21b2fc08be
|
feat: 优化移动端界面设计以及歌词界面设计 添加播放模式选择
|
2025-06-07 10:48:54 +08:00 |
|
alger
|
e46df8a04e
|
feat: 优化窗口大小管理功能,优化窗口状态保存与恢复逻辑
- 引入窗口大小管理器,初始化窗口大小管理
- 优化窗口状态保存与恢复,确保在迷你模式下正确应用窗口大小
- 移除不必要的代码,简化窗口管理逻辑
- 更新窗口创建逻辑,确保窗口大小和位置的正确性
|
2025-06-06 23:37:06 +08:00 |
|
alger
|
b203077cad
|
feat: 添加下载设置功能,支持自定义文件名格式和下载路径配置
- 新增下载设置抽屉,允许用户设置下载路径和文件名格式
- 支持多种文件名格式预设和自定义格式
- 实现下载项的显示名称格式化
- 优化下载管理逻辑,避免重复通知
|
2025-06-05 23:02:41 +08:00 |
|
alger
|
61700473b9
|
feat: 添加主窗口自适应大小功能,页面缩放功能,支持缩放因子的调整和重置,并在搜索栏中提供缩放控制
|
2025-05-28 22:08:17 +08:00 |
|
alger
|
c975344dd0
|
feat: 添加歌词矫正功能,支持增加和减少矫正时间
|
2025-05-26 22:58:42 +08:00 |
|
alger
|
dee4515cb3
|
fix: 修复切换收藏和不喜欢状态时事件处理逻辑
|
2025-05-24 10:11:29 +08:00 |
|
alger
|
53bc1774ff
|
fix: 修复下载请求中的音乐 URL 处理逻辑
|
2025-05-24 10:02:15 +08:00 |
|
alger
|
ad7b504eef
|
🦄 refactor: 重构歌曲组件,添加基础组件和多种样式,优化播放列表抽屉功能
|
2025-05-23 19:39:46 +08:00 |
|
alger
|
ca51020602
|
refactor: 将下载逻辑提取到useDownload hook中
|
2025-05-22 20:58:47 +08:00 |
|
alger
|
2e96161bd0
|
✨ feat: 修改播放列表展示形式,优化播放逻辑,添加清空播放列表功能
|
2025-05-17 13:27:50 +08:00 |
|
algerkong
|
c7d586407e
|
🐞 fix: 移除不必要的 i18n 导入,优化 MusicHook 逻辑
|
2025-05-02 19:35:32 +08:00 |
|
algerkong
|
c5af89e51f
|
🐞 fix: 移除不必要的监听器,优化音频播放逻辑,添加音频就绪事件处理,改进操作锁机制以防止并发操作
|
2025-05-02 19:25:12 +08:00 |
|
alger
|
a7f2045c7b
|
✨ feat: 添加统计服务
|
2025-04-12 23:16:12 +08:00 |
|