mirror of
https://github.com/atdunbg/Nekosonic-Music.git
synced 2026-06-21 16:48:48 +08:00
新增: - 音乐云盘页面(列表/详情弹窗/删除/存储空间, NOS multipart上传+LBS区域查询+进度事件) - 下载音乐页面(独立于本地音乐, 只显示应用下载的歌曲) - PageHeader粘性头部组件(IntersectionObserver控制显隐, 渐变模糊背景) - useLocalMusic composable(LocalSong类型/formatFileSize/localSongToSong/fetchMissingCovers) - 云盘上传完整流程(cloud_upload命令: check->token->LBS->NOS分块上传->info->publish) - 云盘API(user_cloud/user_cloud_detail/user_cloud_del) - 歌手关注/取关(artist_sub/artist_sublist命令, ArtistDetail关注按钮+artistSublist查询状态) - 本地音乐多文件夹扫描(scan_local_folders命令, settings.localMusicPaths, 模态框管理) - 侧边栏下载音乐和云盘导航项, 路由新增downloaded-music和cloud-music - md5 crate依赖 改进: - 路由全部改为懒加载 - keep-alive缓存管理重写(30s TTL+导航栈保护+FavoriteSongs常驻+10s定时清理) - 播放器状态同步改为轮询isAudioPlaying(替代audio-started事件), 超时后watchForLatePlayback继续监听 - audio.rs新增is_playing原子状态+is_audio_playing命令 - 同步命令改async+spawn_blocking(list_local_songs/delete_local_song/check_local_song/get_default_download_path) - scan_dir_for_songs抽取为公共函数, 新增downloaded_only参数 - RoamDrawer tab状态从组件本地ref移至store(roamTab替换roamInitialTab) - App.vue onMounted改为非阻塞 - 多页面添加骨架屏加载态和加载失败重试 - 多页面使用PageHeader替代手动返回按钮 - PlaylistDetail/ArtistDetail添加简介弹窗(溢出时显示查看完整介绍) - Home推荐/排行榜拆分为独立fetch函数支持分别重试 - Toast去重(3s窗口)+数量限制(最多3条) - LocalMusic移除删除功能改文件夹模态框, ArtistDetail头像改圆形简介内嵌 - README重写 修复: - 播放超时后后端实际开始播放但UI显示暂停(watchForLatePlayback+tick定期同步isAudioPlaying) - FM播放缺少playSeq竞态保护 - scrobble离线时仍发送(添加navigator.onLine检查) - RoamDrawer已打开时点击评论按钮无法切换(roamTab移至store) - 关闭RoamDrawer后再打开永远显示评论(closeRoamDrawer重置roamTab) - 歌手详情页关注状态离开后丢失(artist_detail不返回followed, 改用artistSublist查询) - audio-ended事件在切歌时误触发(新增_switchingSong标志拦截) - 路由beforeEach中localStorage key从user改为user_profile - toggle播放前先同步后端状态
177 lines
7.9 KiB
Markdown
177 lines
7.9 KiB
Markdown
## v0.7.0
|
||
|
||
### ✨ 新功能
|
||
- **音乐云盘**:新增云盘页面,可浏览、播放云盘中的歌曲,查看文件详情(文件名、大小、比特率、上传时间),删除云盘歌曲,查看存储空间使用情况
|
||
- **云盘上传**:支持上传本地音频文件到云盘,上传过程显示实时进度,支持 mp3/flac/wav/ogg/aac/m4a 格式
|
||
- **下载音乐**:本地音乐拆分为「本地音乐」和「下载音乐」两个独立页面,下载音乐只显示通过应用下载的歌曲
|
||
- **本地音乐多文件夹**:本地音乐支持添加多个扫描文件夹,通过三点按钮+弹窗管理文件夹路径
|
||
- **歌手关注**:歌手详情页新增关注/取关按钮,关注状态在离开页面后不会丢失
|
||
- **粘性导航栏**:页面滚动较深时顶部自动显示返回按钮和功能按钮,渐变模糊效果,不影响阅读
|
||
- **骨架屏加载**:首页、歌单、歌手、专辑、云盘等多个页面加载时显示骨架占位动画,不再只有"加载中"文字
|
||
|
||
### 🐛 修复
|
||
- 网络较差时播放启动超时,音乐实际已开始播放但界面仍显示暂停
|
||
- 全屏漫游抽屉打开时点击评论按钮无法切换到评论页
|
||
- 关闭漫游抽屉后再打开,始终显示评论而非歌词
|
||
- 歌手详情页关注后离开再回来,关注状态丢失
|
||
- 切歌时偶尔触发上一首歌的播放结束事件导致异常
|
||
- 评论点赞无限叠加(改为服务端状态驱动)
|
||
- 播放栏进度条上方多余分隔线
|
||
|
||
### 🎨 变更
|
||
- 歌手详情页头像改为圆形,简介从独立标签页移至头部内嵌显示,溢出时可展开查看完整介绍
|
||
- 歌单详情页描述溢出时显示"查看完整介绍"按钮
|
||
- 首页推荐和排行榜加载失败时显示重试按钮,支持分别重试
|
||
- 多个页面的返回按钮统一为粘性导航栏组件
|
||
- 消息提示增加去重和数量限制,避免重复弹出
|
||
|
||
### ⚡ 优化
|
||
- 页面切换更流畅,路由全部改为懒加载
|
||
- 页面缓存管理优化,30 秒未访问自动释放,多级跳转时保留导航链上的页面,「我喜欢的音乐」常驻缓存
|
||
- 本地音乐扫描不再阻塞界面导航
|
||
- 应用启动不再等待网络请求完成
|
||
|
||
|
||
## v0.6.0
|
||
|
||
### ✨ 新功能
|
||
- **亮色主题**:新增浅色外观模式,支持深色/浅色切换,7 种主题色各有对应亮色变体
|
||
- **封面主色背景**:全屏漫游抽屉背景自动提取封面图主色调,沉浸感更强;抽屉打开时底部播放栏也跟随封面主色,视觉融为一体
|
||
- **发现页重做**:支持多类型搜索(歌曲/歌手/专辑),输入时自动显示搜索建议,搜索历史和热门搜索
|
||
- **漫游增强**:全屏抽屉支持歌词/评论切换,播放栏新增减少推荐按钮
|
||
- **减少推荐**:FM 模式下可标记"不推荐这首歌"或"不推荐这个歌手",后续不会再收到类似推荐
|
||
- **列表风格统一**:正在播放的歌曲序号位置显示跳动动画,鼠标悬停显示播放图标;红心/下载等图标统一使用图标库
|
||
|
||
### 🐛 修复
|
||
- 专辑页艺术家过多时窗口缩小会竖排显示,现在支持自动换行
|
||
- FM 播放时退出登录后首页仍可点击下一首
|
||
- 本地音乐播放时缓冲进度条未重置
|
||
- 亮色主题下多处文字看不见
|
||
- 退出 FM 模式时状态未正确清理
|
||
- 暗色模式下关闭抽屉时播放栏短暂闪烁亮色
|
||
|
||
### 🎨 变更
|
||
- 移除播放列表按钮上的数字角标
|
||
- 主页每日推荐和 FM 卡片标题固定为白色,不随主题变化
|
||
|
||
### 🧹 清理
|
||
- 内部代码优化和冗余清理
|
||
|
||
|
||
## v0.5.1
|
||
|
||
### 🐛 修复
|
||
- 修复页面缓存不刷新的问题:切换回已缓存的页面时数据永远不更新,现在超过 5 分钟会自动重新加载
|
||
- 修复本地音乐页面空列表时刷新按钮不显示的问题
|
||
- 修复修改下载路径后本地音乐列表不更新的问题,现在会自动刷新
|
||
- 修复私人 FM 播放约二三十首后循环重复的问题:新增听歌打卡上报,服务端推荐不再重复
|
||
- 修复歌词界面切换翻译开关时歌词未居中的问题
|
||
- 修复 Linux 下从外部控制暂停时进度条跳回 0 的问题:MPRIS 现在正确报告播放进度位置
|
||
|
||
### ⚡ 优化
|
||
- 私人 FM 预取队列优化,队列剩余不足时自动后台拉取下一批
|
||
|
||
|
||
## v0.5.0
|
||
|
||
### ✨ 新功能
|
||
- **蓝牙耳机/键盘媒体键控制**:支持通过蓝牙耳机按钮、键盘媒体键、系统通知栏/锁屏面板控制播放、暂停、切歌(Windows / Linux / macOS)
|
||
- **网络状态检测**:断网和恢复时弹出提示,网络恢复后自动重新加载页面内容
|
||
- **音量记忆**:关闭应用后音量设置不丢失,下次打开自动恢复
|
||
- **歌词翻译**:支持显示歌词翻译,可在漫游页面切换开关
|
||
- **登录页优化**:已登录用户访问登录页会自动跳转回首页
|
||
|
||
### 🎨 变更
|
||
- 默认主题色改为天蓝色
|
||
- 全局快捷键显示顺序调整为 Ctrl + Alt(之前是 Alt + Ctrl)
|
||
- 快捷键显示优化:按键名更简洁,如 KeyP 显示为 P
|
||
- 页面缓存优化:更多页面切换时保留状态,窗口隐藏时自动释放
|
||
- 登录页等待确认时的文字颜色修正
|
||
|
||
### 🐛 修复
|
||
- 手动检查更新时,之前跳过的版本现在会正常弹出更新提示
|
||
- 点击正在播放的歌曲无法恢复播放的问题
|
||
- 部分内部类型定义问题导致的潜在隐患
|
||
|
||
### ⚡ 底层优化
|
||
- 音频播放引擎全面重构,播放更稳定
|
||
- 后端 API 调用模式统一,代码更易维护
|
||
- 歌曲数据模型统一,各页面显示更一致
|
||
|
||
|
||
## v0.4.1
|
||
|
||
添加音频输出外设选择
|
||
|
||
|
||
## v0.4.0
|
||
|
||
### ✨ 新功能
|
||
- 添加歌曲的艺术家入口,歌曲的艺术家现可点击查看其他歌曲、专辑和介绍
|
||
- 添加歌曲的评论查看功能
|
||
|
||
### 🐛 修复
|
||
- 修复私人漫游自动播放下一首调用多次问题
|
||
|
||
### ⚡ 优化
|
||
- 优化播放逻辑,歌曲列表在点击时候不再单首累加,而是直接获取当前列表所有的歌曲作为播放内容
|
||
|
||
|
||
## v0.3.0
|
||
|
||
### ✨ 新功能
|
||
- **本地音乐页面**:支持浏览、播放本地歌曲,横向菜单添加「从磁盘删除」功能
|
||
- **下载系统**:支持下载歌曲到自定义路径,保存完整元数据(封面/专辑/时长)
|
||
- **封面补全**:本地音乐缺少封面时尝试从网易云 API 获取
|
||
- **更新信息**:添加查看最新版更新日志按钮
|
||
- **下载路径**:支持自定义下载路径
|
||
- **本地音乐**:支持本地音乐播放
|
||
- **下载提示**:下载进度与完成提示
|
||
- **快捷键绑定**:支持自定义全局和本地快捷键(播放/暂停、上一首/下一首、音量调节)
|
||
|
||
### 🐛 修复
|
||
- 修复私人漫游播完一首歌后跳三首的问题
|
||
- 修复全屏漫游抽屉和漫游页面无封面歌曲显示破损图片
|
||
- 修复 PlayerBar 无封面歌曲显示破损图片
|
||
- 修复播放网络歌曲时进度条先走但无声音
|
||
|
||
### ⚡ 优化
|
||
- **流式播放**:边下载边播放,缓冲 64KB 后即刻开始,无需等待完整下载
|
||
|
||
|
||
## v0.2.0
|
||
|
||
### 🎵 播放
|
||
- 优化私人漫游(个人 FM)功能
|
||
- 新增歌曲喜欢/取消喜欢红心
|
||
- 新增播放历史本地记录(最近 200 首)
|
||
|
||
### 📋 歌单
|
||
- 修改逻辑 我的歌单 不再显示收藏按钮
|
||
- 收藏歌单支持取消收藏
|
||
- 实现我的音乐功能
|
||
- 实现历史播放记录功能
|
||
|
||
### 🎨 外观
|
||
- 全局复选框与选择框优化
|
||
- 部分UI优化,统一风格
|
||
|
||
### 🖥️ 窗口
|
||
- 关闭窗口弹出确认弹窗:最小化到托盘 / 退出程序
|
||
- 支持"不再询问"选项,可在设置中修改
|
||
- 修复退出时 WebView2 报错(Error 1410)
|
||
- 修复歌词抽屉全屏时候顶栏无法接收事件问题
|
||
|
||
### 💾 持久化
|
||
- Cookie 存储迁移至 Tauri app_data_dir
|
||
- 播放历史持久化到 localStorage
|
||
|
||
### ⚙️ 其他
|
||
- 添加设置功能
|
||
- 关于添加链接可直接访问仓库
|
||
|
||
|
||
## v0.1.0
|
||
|
||
Nekosonic 是一款基于 Tauri 2 + Rust 的跨平台桌面音乐播放器,音源主要来自网易云音乐,开箱即用。
|