Commit Graph

69 Commits

Author SHA1 Message Date
dcf13b2f07
refactor: move resource URL refresh from favorites loading to playback/preload
Replace passive resource checking on playlist item mount with active checking
during playback and preload operations. This improves performance by reducing
unnecessary network requests and ensures resources are validated only when needed.

Changes:
- Create songResourceChecker utility for centralized resource validation
- Remove resource checking from PlayListItem component
- Add resource validation in Player component before playback
- Add resource validation in usePlayQueueStore before preload
- Maintain data consistency between play queue and favorites

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-04 21:22:39 +10:00
6461c0adac
style: add text-xs class to player title for non-Chrome browsers
Ensure consistent font size rendering across different browsers
by applying Tailwind's text-xs utility class to the song title
in the mini player component.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-04 21:03:09 +10:00
672b2d80d5
refactor: simplify currentTrack computed property in Player.vue
Remove unnecessary else clause for cleaner code structure.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-04 21:02:24 +10:00
92093ef80d
fix: resolve playroom UI state inconsistency when page loses focus
When lyrics are enabled and the page loses focus while playing a song without lyrics,
then plays a song with lyrics, returning to the page caused controller and lyrics
layout to become misaligned. Added page focus handlers to sync UI state correctly.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-04 20:54:54 +10:00
7a938bd58c
fix: add cache control headers and timestamp parameter to axios HEAD request in PlayListItem.vue 2025-05-30 11:45:15 +10:00
290a9af5e1
fix: update song information in favourites when source URL changes
Some checks failed
构建扩展程序 / 构建 Chrome 扩展程序 (push) Successful in 1m6s
构建扩展程序 / 构建 Firefox 附加组件 (push) Has been cancelled
构建扩展程序 / 发布至 Chrome 应用商店 (push) Has been cancelled
构建扩展程序 / 发布至 Firefox 附加组件库 (push) Has been cancelled
构建扩展程序 / 发布至 Edge 附加组件商店 (push) Has been cancelled
2025-05-30 10:35:15 +10:00
9e4b53b1e7
fix: change axios request from GET to HEAD for song source URL in PlayListItem.vue
Some checks failed
构建扩展程序 / 构建 Chrome 扩展程序 (push) Successful in 1m3s
构建扩展程序 / 构建 Firefox 附加组件 (push) Has been cancelled
构建扩展程序 / 发布至 Chrome 应用商店 (push) Has been cancelled
构建扩展程序 / 发布至 Firefox 附加组件库 (push) Has been cancelled
构建扩展程序 / 发布至 Edge 附加组件商店 (push) Has been cancelled
2025-05-29 15:55:38 +10:00
a85a092e5c
fix: add headers to axios request for range retrieval in PlayListItem.vue
Some checks failed
构建扩展程序 / 构建 Chrome 扩展程序 (push) Has been cancelled
构建扩展程序 / 构建 Firefox 附加组件 (push) Has been cancelled
构建扩展程序 / 发布至 Chrome 应用商店 (push) Has been cancelled
构建扩展程序 / 发布至 Firefox 附加组件库 (push) Has been skipped
构建扩展程序 / 发布至 Edge 附加组件商店 (push) Has been skipped
2025-05-29 15:54:43 +10:00
568af58103
fix: fix an issue for the edge cases of resources url changing
All checks were successful
构建扩展程序 / 构建 Chrome 扩展程序 (push) Successful in 1m2s
构建扩展程序 / 构建 Firefox 附加组件 (push) Successful in 55s
构建扩展程序 / 发布至 Chrome 应用商店 (push) Has been skipped
构建扩展程序 / 发布至 Edge 附加组件商店 (push) Has been skipped
构建扩展程序 / 发布至 Firefox 附加组件库 (push) Has been skipped
2025-05-29 13:47:33 +10:00
af41f70d37
fix: update description in PreferencePanel.vue for CI/CD build process clarity
Some checks failed
构建扩展程序 / 构建 Chrome 扩展程序 (push) Successful in 1m7s
构建扩展程序 / 构建 Firefox 附加组件 (push) Successful in 57s
构建扩展程序 / 发布至 Firefox 附加组件库 (push) Has been skipped
构建扩展程序 / 发布至 Chrome 应用商店 (push) Failing after 14m56s
2025-05-29 11:57:19 +10:00
1aeac29f38
feat: add CI/CD information display in PreferencePanel and support for environment variables
All checks were successful
构建扩展程序 / 构建 Chrome 扩展程序 (push) Successful in 1m4s
构建扩展程序 / 构建 Firefox 附加组件 (push) Successful in 1m3s
构建扩展程序 / 发布至 Chrome 应用商店 (push) Has been skipped
构建扩展程序 / 发布至 Firefox 附加组件库 (push) Has been skipped
2025-05-29 11:35:50 +10:00
09a99f75ae
feat: display version number dynamically and add GitHub link in PreferencePanel 2025-05-28 15:14:13 +10:00
885a7dabab
feat(PreferencePanel, usePreferences): add PreferencePanel component and integrate preference settings 2025-05-28 12:34:14 +10:00
b9a8ca7ae4
feat(Player, Playroom): add volume control functionality with persistent settings 2025-05-28 11:30:12 +10:00
ab67e07384
feat(PlayListItem, Library): add PlayListItem component and integrate into Library page 2025-05-28 10:45:16 +10:00
0cfd82d34a
feat(AlbumDetail, Player, Library): enhance playback functionality and improve user prompts 2025-05-28 10:18:05 +10:00
377a15cdad
fix(AlbumDetailDialog): comment out unused StarEmptyIcon button for cleanup 2025-05-27 22:08:31 +10:00
ede6eef00f
feat(TrackItem): add favourites functionality to track item component 2025-05-27 22:07:43 +10:00
404698bfd1
feat(PlayQueueItem): add moveUp and moveDown functions for queue item repositioning 2025-05-27 21:17:37 +10:00
cf158c5d73
fix(PlayQueueItem): set queueReplaceLock to true before removing item from queue 2025-05-27 21:13:25 +10:00
8eee570200
feat(PlayQueue): implement PlayQueueItem component for better queue management and UI 2025-05-27 21:12:52 +10:00
f8b860adf3
fix(Player): adjust album cover image size for better alignment 2025-05-27 20:33:55 +10:00
b60f84f36d
fix(AlbumDetailDialog): add overflow hidden to track item container for better layout 2025-05-27 18:39:16 +10:00
9f5add6163
fix(TrackItem): update toast message and duration for queue addition feedback 2025-05-27 17:10:42 +10:00
c6868ed2a2
feat: add vue-toast-notification for user feedback and implement queue management in TrackItem component 2025-05-27 17:03:55 +10:00
7f86c8bfa9
feat(AlbumDetailDialog): enhance dialog styling with backdrop blur and image shadow 2025-05-27 16:23:21 +10:00
ca07ae3a8c
feat(AlbumDetailDialog): enhance album background styling and loading indicator
fix(TrackItem): adjust button hover effects and reposition track number display
2025-05-27 16:08:05 +10:00
34aedfdb24
feat(Home): add AlbumDetailDialog component for album details display 2025-05-27 15:01:37 +10:00
6ff90137e7
fix(Player): comment out preloading progress indicator in template 2025-05-27 14:17:01 +10:00
7a0c638d2c
feat(Player): implement audio preloading functionality with state management 2025-05-27 13:44:04 +10:00
401905fd43
fix(ScrollingLyrics): standardize formatting and improve readability of code structure 2025-05-26 21:31:14 +10:00
d8d1284c56
fix: update language attribute in HTML and adjust script source path for consistency
refactor(ScrollingLyrics): simplify markup and improve readability of lyrics rendering logic
2025-05-26 20:30:55 +10:00
95d00616d0
fix(ScrollingLyrics): adjust scroll behavior and limit range for user interactions 2025-05-26 18:52:20 +10:00
145a2d2dbb
fix: storage / network permission issue 2025-05-26 18:44:25 +10:00
c129b2dd1b
fix(ScrollingLyrics): handle empty lyrics input by returning a default empty line and adjust current line index logic 2025-05-26 18:28:33 +10:00
8a16f3cde8
style(ScrollingLyrics): adjust layout and improve animations for better user experience 2025-05-26 18:23:24 +10:00
6bf9c493aa
feat(ScrollingLyrics): enhance lyrics display with scroll indicators, loading states, and user interactions 2025-05-26 17:49:26 +10:00
7ecc38dda8
feat(歌词): 添加滚动歌词组件和接口定义
新增 ScrollingLyrics.vue 组件实现歌词滚动显示功能,包括:
1. 解析 LRC 格式歌词文本
2. 根据当前播放时间高亮对应歌词行
3. 支持歌词和间隔时间的处理

同时在 vite-env.d.ts 中新增 LyricsLine 和 GapLine 接口定义,并在 Playroom.vue 中集成歌词组件
2025-05-26 17:29:31 +10:00
4da52e7f95
feat(播放器): 添加循环播放模式功能
实现三种循环播放模式:关闭、全部循环和单曲循环。修改播放逻辑以支持不同模式:
- 关闭模式:播放到队列末尾时停止
- 全部循环:播放到队列末尾时从头开始
- 单曲循环:当前歌曲播放结束后自动重播

新增单曲循环图标组件,并优化播放控制按钮的UI交互。
2025-05-26 13:39:47 +10:00
791fa0dbc7
refactor(Player): 提取获取当前曲目的逻辑到单独函数
将重复的获取当前曲目逻辑封装为 getCurrentTrack 函数,提高代码可维护性并避免重复代码
2025-05-26 13:24:10 +10:00
0db105705b
fix(播放队列): 修复随机播放模式下的状态重置问题
在Player组件中重置shuffleCurrent状态,确保随机播放逻辑正确执行。同时在AlbumDetail页面为随机播放按钮添加点击事件,正确设置随机播放状态。
2025-05-26 13:23:22 +10:00
d99ae28f8c
feat(播放器): 添加随机播放功能
实现播放队列的随机播放模式,包括:
1. 在 store 中添加 shuffleList 和 playMode 状态
2. 修改播放器组件以支持随机播放时的歌曲切换
3. 更新播放界面以显示随机播放队列
4. 添加随机播放按钮交互逻辑

当开启随机播放时,会生成随机播放列表并保持当前播放歌曲不变,关闭时可恢复原播放顺序。
2025-05-26 13:20:08 +10:00
5ded7f4f9d
refactor(Player): 移除调试用的console.log语句
清理播放器组件中用于调试的console.log输出语句,保持代码整洁
2025-05-26 10:56:53 +10:00
cc6c6e311e
feat(播放控制): 为曲目列表添加点击播放功能
- 在 TrackItem 组件中添加 playfrom 属性,用于接收播放函数
- 修改 playTheAlbum 函数支持从指定索引开始播放
- 为 TrackItem 按钮添加点击事件,点击时调用 playfrom 函数
2025-05-26 08:28:47 +10:00
bb474c998c
feat(audioVisualizer): 增加最大分贝门槛配置并优化频段增强
在音频可视化工具中新增 `maxDecibels` 配置项,用于调整最大分贝门槛。同时优化频段增强逻辑,简化频率范围定义,并更新测试数据以支持六频段模拟。这些改动提升了音频可视化的灵活性和准确性。
2025-05-25 22:26:12 +10:00
e9c807e01b
feat(Player): 替换暂停图标为音频可视化效果
在播放按钮中,将原有的暂停图标替换为音频可视化效果,提升用户交互体验。同时,在音频可视化工具中新增了响度门槛和最小高度配置,优化了频段范围和增强逻辑。
2025-05-25 21:44:07 +10:00
73aaef1662
feat(音频可视化): 添加音频可视化功能并优化播放队列显示
引入音频可视化器模块,用于实时显示音频频谱。在播放队列中添加可视化效果,并优化播放队列的UI显示。同时,更新播放队列的标题为“播放队列”以提升用户体验。
2025-05-25 20:22:05 +10:00
740d9a2d69
feat: 添加并替换多个图标组件以提高代码复用性
本次提交新增了多个图标组件,并在多个页面和组件中替换了原有的内联SVG代码。通过引入这些可复用的图标组件,提高了代码的可维护性和一致性。
2025-05-25 17:20:03 +10:00
3074950226
fix(Player): 修复播放器时间更新逻辑
修复了播放器组件中时间更新逻辑的问题,将`!newValue`改为`newValue === null`以更准确地判断时间更新条件。同时在`Playroom`页面中改进了时间格式化函数,当时间无效时返回`-:--`而不是`0:00`,并增加了对NaN值的处理。
2025-05-25 14:25:12 +10:00
de71db1992
feat(播放器): 添加播放进度同步功能
在播放器组件中添加了对播放进度的监听和同步功能,确保进度条与播放时间保持一致。同时,在播放队列存储中添加了`updatedCurrentTime`字段,用于更新播放时间。这些改动提升了用户体验,使播放进度控制更加直观和准确。
2025-05-25 10:38:13 +10:00