Releases: YuiNijika/MusicStorm
Release list
v0.0.8
本次版本上线网页版并大规模补全网易云能力:新增发现页(排行榜 / 新碟上架 / 新歌速递 / 分类歌单)、私人 FM、心动模式、音乐云盘与收藏歌手 / MV,歌单支持创建、编辑、删除与创建者展示;系统性修复了网易云登录与写接口的风控问题(-460 / 301),并重做资料库结构、接入邮箱登录与每日签到。网页版与桌面端共用同一套界面与数据层,能力完全对齐。
新增功能
-
新增网页版
- 浏览器直接打开即用,无需安装,支持扫码 / 手机号 / 邮箱三种登录方式
- 本地曲库在浏览器内持久化(IndexedDB),支持目录与文件导入,艺人 / 专辑分组与桌面版一致
- 与桌面端共用同一套网易云接口后端,登录态、歌单、收藏等数据互通
-
新增发现页
- 官方排行榜、新碟上架、新歌速递、分类歌单四大区块
- 新碟与新歌支持按地区筛选(华语 / 欧美 / 韩国 / 日本)
- 首屏只加载排行榜,其余区块滚动到附近才拉取,每批「加载更多」分页
-
新增私人 FM
- 首页区块一键开启,登录后连续播放,「下一首」加入垃圾桶不再推荐
-
新增心动模式
- 歌单页「播放全部」旁一键智能播放,随机种子生成推荐队列接管播放
-
新增音乐云盘
- 资料库「云盘」tab 查看网易云云盘歌曲,支持列表播放与删除(操作菜单 + 二次确认)
-
新增收藏歌手 / 收藏 MV
- 歌手页、MV 页新增收藏按钮,资料库新增「收藏歌手」「收藏 MV」tab
-
新增歌单创建与编辑
- 新建歌单支持名称与介绍;歌单页显示创建者
- 自己的歌单显示「编辑」(改名 + 改介绍)与「删除」(对话框二次确认),他人歌单显示收藏
-
新增邮箱登录与每日签到
- 登录弹窗新增「邮箱」tab,支持邮箱密码登录
- 设置页账号面板新增「每日签到」,覆盖网易云双端签到奖励
-
新增账号 VIP 状态展示
- 侧栏与设置页账号信息显示「账号 · free / vip」
优化与调整
-
资料库重构为多 tab
- 歌单 / 收藏歌手 / 收藏 MV / 云盘四 tab,各自懒加载
- 歌单卡片去背景,与收藏歌手 / MV 的网格风格统一
-
网易云接口后端补全
- 对齐官方 Node 版新增排行榜、新碟、新歌、私人 FM、心动模式、云盘、收藏、播放记录、分类歌单、相似 MV、精品歌单标签、签到、邮箱登录等接口
- 后端 OpenAPI 文档从 71 接口补至 81,官网开发文档同步更新
-
本地库对话框化
- 移除艺人 / 专辑 / 清空存储的原生确认弹窗,统一为对话框确认(移除艺人可带「同时删除其下专辑」开关)
修复问题
-
修复网易云登录与写接口风控(-460 / 301)
- 手机号登录 URI 补
w/前缀并补全风控关键字段 - 写接口补全设备指纹 cookie(
_ntes_nuid/NMTID/WNMCID等),eapi 头动态生成buildver/requestId/__csrf - weapi / eapi 的 User-Agent 分离(weapi 浏览器 UA、eapi 桌面 UA)
- 手机号登录 URI 补
-
修复创建歌单返回 301 系统错误
- weapi 写接口改用浏览器 UA,与登录态来源匹配
-
修复收藏歌手 / MV / 云盘返回 301 / 未登录
- 统一 deviceId(游客注册与登录共用同一枚),修复登录态与设备指纹不一致被风控
-
修复歌单收藏「接口未找到」
playlist/subscribeURI 语义修正(subscribe / unsubscribe)
-
修复编辑歌单后不立即生效
- 写操作成功后自动失效磁盘缓存,改名 / 改介绍 / 删除 / 收藏立即反映到列表与详情
-
修复云盘列表排版错位
- 操作列补进网格模板,删除、时长、更多操作不再挤作一团
-
修复登录后仍持续轮询扫码状态
- 登录成功后阻断重启轮询,弹窗关闭后不再后台请求
-
修复切换账号后资料未更新
- 会话刷新竞态保护,旧响应不再覆盖新账号数据
v0.0.7
本次版本围绕多平台与工程基建展开:完成 macOS 桌面端适配与打包工程(暂未发布),上线官网与开发文档体系;应用侧完成艺人专辑无限滚动、网易云官方 API 源切换、全屏播放器交互梳理与提示动效优化,并修复跨域拦截与全屏播放器布局切换误触窗口最大化等问题。Android 移动端适配持续推进中,暂未发布。
新增功能
- 新增官网与文档体系(website 子包)
- 官网首页(功能 / 截图 / 下载 / 开源)+ 文档站(快速上手、本地曲库、常见问题及 17 篇开发文档)
- GitHub Pages 自动部署:website 变更自动构建并发布至仓库
/docs,支持自定义域名 - 项目开源:MIT 协议并补充 LICENSE
- 官网细节:明暗主题切换(跟随系统 + 手动锁定)、文档代码高亮、侧边导航折叠、文档索引搜索
- 新增艺人专辑无限滚动
- 艺人页专辑列表下滑自动追加加载,按 id 去重防翻页重复,滚动至底部前 300px 预加载
- 新增标题栏双击动作自定义
- 双击标题栏行为可在设置中配置:最大化 / 还原、最小化、无操作
- 设置页「更新」新增 GitHub 贡献者展示
- 开源共建者头像墙,点击跳转个人主页,本地缓存 + 过期后台刷新规避未认证 API 限额(60 次/小时)
优化与调整
- 网易云音源接入优化
- 默认官方源切换为
api.miomoe.cn,响应统一 envelope({ success, code, message, data })解包,与内置集成模式读取形状对齐 - 修复 external 模式请求路径拼接:去除前导斜杠以保留 base 子路径,第三方源保持兼容
- 默认官方源切换为
- 全屏播放器交互梳理
- 播放样式下拉移除主题色调色板,仅保留布局切换(经典 / 封面 / 歌词)
- 歌词组件在打开全屏时即预热,加载态骨架兜底,切换布局不再白屏
- 修复切换布局误触窗口最大化 / 还原(下拉菜单项点击穿透拖拽区双击检测)
- 提示(toast)动效按 Apple 规范重做
- 材质化入场(上移 + 缩放)与镜像退场,堆叠高度平滑塌缩;「减少动态效果」下自动降级
- 移动端操作优化
- 全屏播放器手势与分段控件交互改进
- 设置页 tab 宽度自适应内容,不再写死最大宽度
- 底部播放条进度条改为与全屏播放器一致的全宽
- macOS 桌面端适配工程储备 #10
- 完成系统 Now Playing 集成(锁屏与媒体控制中心显示歌曲标题、封面与播放状态,封面更新在主线程安全发布)
- 完成 DMG 打包工程(Universal 通用二进制,Intel + Apple Silicon)、应用图标去银边重绘
- CI 适配 Xcode 26,启用 macOS 媒体相关 API;待稳定后随独立版本发布
修复问题
- 修复官方源请求被 CORS 拦截(移除多余的凭据携带,与云端通配允许策略兼容)
- 修复全屏播放器切换播放样式时误触发窗口最大化 / 还原
- 修复艺人页专辑分页边界重复与切换艺人时状态残留
v0.0.6
本次版本聚焦桌面端体验打磨与构建工程完善:重构了移动端适配层与全屏播放器动效,新增一键构建脚本,并修复标题栏拖动闪烁、全屏播放器异常缩放、release 版 DevTools 失效等问题;Android 移动端适配持续推进中,暂未发布。
新增功能
- 新增一键构建脚本
scripts/build.py- 输入数字选择 Windows / Android 构建
- 自动检测包管理器、JDK、Android SDK(命令推导 + 标准安装位扫描,零硬编码路径)
- Android 构建自动处理 symlink 失败、Gradle daemon 异常等环境问题
- 新增设置页文字分段控制组件
- 设置页 tab 升级为与移动端顶部导航同款的分段控制器,窄屏自动换行
优化与调整
- 全屏播放器动效统一
- 位移动画统一为内联 transform,消除 Tailwind v4 translate 属性与手势 transform 冲突导致的进出场闪烁
- 登录风控修复(为移动端验证码登录铺路)
- 设备指纹与请求 UA 保持一致(统一桌面指纹链路),消除「登录有风险」误判
- 验证码发送与登录增加同步防重守卫,杜绝快速双击触发重复短信
- 更新检查平台隔离
- PC 与 Android 按 tag 前缀(
vX.Y.Z/vX.Y.Z-android)各自检查更新,缓存独立,不再跨平台串台
- PC 与 Android 按 tag 前缀(
- CSS 拆分与工程整理
- 自定义样式迁移至
Style.css,App.css仅保留框架层;全项目注释按「解释 why 不解释 what」规范清理
- 自定义样式迁移至
- Android 构建工程储备
- 打通 NDK 交叉编译、APK 签名与独立版本线(
v0.0.x-android),移动端 UI(分段导航、全屏播放器手势、安全区、返回手势、调色板)持续迭代中,待稳定后随独立版本发布
- 打通 NDK 交叉编译、APK 签名与独立版本线(
修复问题
- 修复 PC 版标题栏拖动一直闪烁
- 拖拽位移改用屏幕坐标 + rAF 节流,消除视口随窗口移动形成的反馈循环抖动
- 修复全屏播放器修改模板时误触发缩小(最小化)
- 顶栏移除无意义的窗口拖拽逻辑,触屏与按钮操作不再被双击判定误伤
- 修复 release 构建版无法呼出开发者工具
- Cargo 启用
devtoolsfeature,release 下 DevTools 命令不再被编译剔除
- Cargo 启用
- 修复侧边栏未撑满页面高度
- 侧边栏直接作为 flex 容器子元素,移除阻断拉伸的包裹层
v0.0.5
本次版本重点完善桌面应用体验:新增系统托盘、全局快捷键与关闭窗口最小化到托盘,全局与应用内快捷键均支持自定义;新增播放队列面板,增强歌曲右键菜单与歌词编辑、搜索历史;同时按 Apple 设计规范重做全屏播放器动效,并对本地封面缓存、网易云账号与统计页进行了系统升级。
新增功能
- 新增系统托盘
- 左键单击托盘图标恢复主窗口
- 托盘右键菜单支持显示主窗口、播放 / 暂停、上一首、下一首与退出
- 新增全局快捷键
- 默认
Ctrl+Alt+Space播放 / 暂停、Ctrl+Alt+←/→上一首 / 下一首,任意应用下生效 - 全局快捷键支持自定义录制,修改后即时生效并持久化
- 默认
- 新增关闭窗口最小化到托盘
- 关闭窗口后音乐继续在后台播放,从托盘恢复主窗口
- 退出走托盘菜单「退出」,设置页可关闭该行为
- 新增应用内快捷键自定义
- 播放 / 暂停、快退快进、音量增减、上一首 / 下一首、关闭全屏播放共 8 项支持点击录制
- 支持组合键与单键,修改后立即生效
- 新增播放队列面板
- 播放条新增队列入口,查看「接下来播放」列表
- 支持拖拽排序、单曲移除、一键清空与点击跳转
- 新增歌曲右键菜单操作
- 歌曲右键新增「下一首播放」「加入队列」
- 本地歌曲新增「打开所在文件夹」,直接定位到系统文件管理器
- 新增歌词编辑
- 任意歌曲可手动编辑歌词并覆盖显示,网易云曲目需登录
- 新增搜索历史
- 搜索页记录历史词条,支持单条删除与一键清空
- 新增网易云多账号管理
- 登录账号列表管理,支持账号间切换
- 新增封面缓存自动清理
- 超出上限(4000 张 / 400 MB)后按最旧自动清理
- 同名封面按内容哈希去重,原图与缩略图成对删除
- 新增 MV 下载
- MV 详情页支持直接下载 mp4
- m3u8 分片流给出明确提示,不提供无效直链下载
- 新增性能模式
- 一键关闭毛玻璃与动画,减少 GPU 合成开销
优化与调整
- 重做全屏播放器动效,按 Apple 设计规范执行
- 进入与退出改为从底部升起 / 滑回,锚定底部播放条触发源,空间一致
- 全程仅使用 transform 与 opacity 合成属性,移除导致卡顿的全屏模糊
- 系统开启「减少动态效果」时自动降级为短促淡入淡出
- 全局样式规范化
- 统一缓动曲线与时长 tokens,可逆过渡使用镜像曲线
- 统一控件按压反馈与悬停过渡
- 优化封面加载稳定性
- 移除封面组件在视口外挂起时的不可靠清理逻辑,修复全屏封面偶发失效
- 优化统计页
- 支持按时间段筛选统计,新增自定义日期区间
- 优化网易云会话刷新
- 增加竞态保护,快速切换账号或手动刷新时旧响应不再覆盖新数据
- 优化升级清理机制
- 版本升级时自动清理 WebView2 可再生缓存(磁盘 / JS / GPU 缓存),保留登录态
修复与删减
- 修复全屏播放器展开与收起动画缺失、收起观感异常的问题
- 修复全屏播放封面偶发失效、显示为占位图的问题
- 修复网易云会话刷新竞态导致账号信息串数据的问题
- 修复若干类型与构建错误
v0.0.4
本次版本重点解决冷启动体验:修复了隐藏窗口等待机制导致的固定 5 秒启动延迟,主包体积减小 36%,网易云加密库改为按需加载;同时重做了启动画面、优化了本地资料库的管理交互。
新增功能
- 全新启动画面
- 毛玻璃材料化进场动画,无卡片边框,跟随系统与应用内明暗主题
- 内联启动画面兜底首帧,React 就绪后无缝切换,无窗口切换闪烁
优化与调整
- 冷启动大幅提速
- 修复隐藏窗口下
requestAnimationFrame永不触发导致的固定 5 秒启动等待,改为首帧提交后立即显示主窗 - 网易云加密库(node-forge + crypto-js)改为按需加载,主包 880 kB → 495 kB(-36%)
- 设置页、全屏播放器歌词、登录弹窗改为懒加载,进一步减小启动解析量
- API 缓存首轮清理延迟执行,不与首屏渲染争抢磁盘 I/O
- 修复隐藏窗口下
- 本地资料库管理交互优化
- 艺人卡片操作改为 ⋯ 菜单(编辑艺人 / 删除分组),与专辑卡片完全一致
- 头部「管理」「清空」合并为单个操作图标按钮(批量管理 / 清空资料库),并排于「新建」旁
- 「多选」入口更名「管理」,语义更明确;「全部歌曲」统一为卡片式入口,移除重复的弱文字链接
- 批量操作栏删除按钮补充图标,操作意图更直观
修复与删减
- 修复冷启动变慢的根因:隐藏窗口等待 rAF 触发显示导致每次启动固定多等 5 秒
- 修复加密库全量进启动包导致首屏解析过重的问题
- 简化启动链路:移除独立 splash 窗口机制(单窗口直显 + 内联启动画面)
- 移除废弃的
splashscreen.html与 handoff 逻辑
v0.0.3
本次版本重点围绕冷启动性能、本地音乐管理与外部解码能力进行升级:冷启动从 15 秒级降至 3~5 秒,新增本地音乐艺人分组、批量操作与 FFmpeg 外部解码器支持,同时修复了标签编码、封面缓存与本地曲库同步中的多项问题。
Warning
本次更新可能会导致本地歌单丢失
新增功能
-
冷启动性能大幅优化
- WebView2 使用固定数据目录,冷启动复用已有 V8 与 GPU 缓存,避免全量重建
- SQLite 启用 WAL 模式与合理同步策略,降低冷磁盘 I/O
- 非首屏页面改为按需代码拆分加载,减小初始包体
- 启动时非关键任务(API 探测、更新检查、旧数据迁移)延迟到首屏渲染后执行
-
新增 FFmpeg 外部解码器支持
- 设置页支持自动检测、手动选择与清除 FFmpeg
- 内置解码器不支持的本地格式(APE、WV、DSF、DFF、TTA 等)自动回退 FFmpeg 解码
- FFmpeg 缺失时播放会给出明确引导提示
- 输出 32-bit 浮点 PCM 并保留源采样率
-
新增本地音乐艺人分组功能
- 支持一个艺人文件夹(如 Beyond)下多个子专辑文件夹整体导入
- 根目录散曲自动归入「精选」专辑
- 专辑可归属到艺人,艺人支持改名、换封面与删除
- 删除艺人时可选择是否连带删除其下专辑与曲目索引
-
新增本地音乐批量操作
- 支持多选专辑 / 艺人批量删除
- 底部批量操作栏:类型切换、已选计数、全选与删除
-
新增本地音乐扫描进度实时显示
- 导入时显示「正在扫描… n/m · 文件名」
-
新增封面缓存系统
- 封面原图与列表缩略图统一缓存,列表不再直接解码大原图
- 同目录 / 父目录常见封面图一并进入缓存
-
新增长列表虚拟滚动
- 歌单、专辑、搜索与本地曲目列表在数据量大时保持流畅
-
新增各详情页专属骨架屏
- 歌单、专辑、歌手、电台、电台节目、MV、本地与统计页按真实布局定制加载骨架
-
新增本地标签编码修复
- 修复大量中文 MP3 ID3v2.3 标签被按 ISO-8859-1 误读造成的乱码,自动还原 GBK / UTF-8
优化与调整
-
优化本地元数据补扫机制
- 从按专辑全量扫描改为按缺失或过期版本增量补扫
- 已完成扫描的歌曲不再重复处理,无封面 / 无歌词不再被当作未扫描
-
优化本地导入流程
- 新建专辑、导入专辑文件夹、导入艺人文件夹、添加单曲合并为「新建」下拉菜单
-
优化播放引擎切换
- H5 与 WASAPI 双引擎切换不再互相干扰播放状态
- 原生引擎失败时同曲回退 H5
-
优化播放会话恢复
- 本地歌曲以曲库最新元数据为准,不再长期保存过期封面 / 歌词快照
- 网易云临时播放地址在恢复时重新解析
-
优化更新检测时机,延迟到首屏渲染完成后执行,避免阻塞冷启动
修复与删减
- 修复冷启动长时间白屏与 WebView2 缓存异常占用的问题
- 修复删除本地专辑时可能误删仍被其他内容使用的文件夹记录
- 修复重复导入同一文件时新增数量统计不准确的问题
- 修复封面缓存触发 WebView 存储容量限制后歌词无法继续写入的问题
- 修复 GBK / GB18030 中文歌词被按 UTF-8 有损读取而出现乱码的问题
- 修复本地曲库更新后播放队列仍使用旧封面 / 旧歌词快照的问题
- 修复元数据补扫失败或返回空字段时清除已有封面、歌词、标题与歌手的问题
- 修复新建菜单部分选项点击不触发的问题
- 修复播放器切曲 / 暂停竞态下引擎状态残留的问题
v0.0.2
本次版本重点完善了本地音乐管理、元数据与歌词支持,并对电台节目、播放体验和整体界面进行了系统升级。应用视觉风格进一步向 Apple Music 靠拢,同时修复了本地曲库、播放会话与歌词读取中的多项稳定性问题。
新增功能
- 新增本地音乐网易云元数据匹配,可为本地歌曲自动补全封面与歌词
- 支持按歌名、歌手和歌曲时长进行可信度匹配
- 支持单曲手动匹配
- 支持专辑或当前歌曲列表批量补全
- 仅补充缺失内容,不主动覆盖已有封面和歌词
- 新增本地音乐元数据增量扫描与版本迁移机制
- 旧版本曲库会按照当前扫描能力自动补扫
- 已完成扫描的歌曲不会在每次启动时重复处理
- 扫描失败的文件会记录尝试状态,避免持续重复扫描
- 新增多种本地歌词编码支持
- 支持 UTF-8、UTF-8 BOM
- 支持 UTF-16 LE / UTF-16 BE
- 支持 GBK / GB18030 中文歌词
- 本地歌词扫描与播放读取统一使用相同解码逻辑
- 新增电台节目排序功能 #3
- 支持按最新节目和最早节目排序
- 播放队列会同步跟随当前显示顺序
- 切换页面后保留节目排序偏好
- 新增外观调色范围设置
- “强调色”仅影响按钮、选中状态、图表、滑块与焦点等交互元素
- “全局色调”会进一步为应用背景、侧边栏、卡片、浮层和玻璃材质加入低饱和色调
- 设置页与标题栏快捷调色板均可切换
- 中性色保持原有的自然灰阶表现
- 新增本地曲库元数据实时同步
- 曲库封面或歌词更新后,播放队列会同步刷新展示信息
- 更新过程中不会重新加载音频或重置当前播放进度
优化与调整
- 全面调整应用视觉设计,使整体风格更接近 Apple Music
- 统一亮色与暗色模式下的背景、卡片、浮层和分隔线
- 重构侧边栏、标题栏、播放器、菜单和表单控件样式
- 优化圆角、间距、阴影、焦点反馈和按压动效
- 改进字体渲染、文本选择和键盘焦点可见性
- 优化主题色系统
- 主题色现在统一驱动主要操作、侧边栏选中状态、图表、滑块和焦点环
- 调整不同色相在亮色与暗色模式下的对比度和可读性
- 全局色调采用低饱和投影,避免背景颜色过重
- 从全局色调切回强调色时会完整恢复中性表面颜色
- 优化全屏播放器视觉效果
- 重构封面背景模糊、渐变、亮度和饱和度
- 分别适配亮色与暗色主题
- 提升歌词、封面和播放控件在复杂背景下的可读性
- 优化玻璃材质层级,减少背景透出造成的视觉干扰
- 优化本地专辑与曲库管理
- 重复导入同一音乐文件时,不再错误提示为新增歌曲
- 删除专辑时仅在文件夹不再被其他专辑或歌曲使用后移除目录记录
- 优化本地专辑列表、详情页与歌曲操作布局
- 本地歌曲封面和歌词补全入口更加集中
- 优化本地元数据扫描性能
- 从按专辑全量扫描改为按缺失或过期版本增量扫描
- 多次扫描请求会复用同一个进行中的任务
- 单个文件读取失败不会阻断整个曲库处理
- 无封面或无歌词会被视为有效扫描结果,不再因此反复扫描
- 优化本地曲库扫描结果合并逻辑
- 新扫描到的有效字段会更新旧数据
- 空值或临时读取失败不会清除已有标题、歌手、封面、歌词和文件信息
- 保留用户已经设置的有效元数据
- 优化播放会话恢复
- 本地歌曲恢复时会根据歌曲 ID 从当前曲库重新获取元数据
- 本地播放会话不再长期保存可能过期的封面和歌词快照
- 网易云临时播放地址仍会在恢复播放时重新解析
- 优化网易云封面与歌词写入逻辑
- 封面和歌词改为独立获取、独立保存
- 封面缓存失败时不再阻止歌词保存
- 批量补全会分别统计成功匹配、封面和歌词数量
- 优化电台节目列表操作
- 排序结果即时生效
- 当前节目的播放队列与界面顺序保持一致
- 页面切换后恢复用户之前选择的排序方式
- 优化应用内容区域与侧边栏比例
- 调整最大内容宽度、页面留白和侧边栏尺寸
- 改善宽屏环境下的信息密度与视觉重心
- 优化调色范围按钮布局
- “强调色”和“全局色调”自动等宽铺满容器
- 修复窄宽度下“全局色调”文字换行的问题
修复与删减
- 修复旧曲库已有文件指纹时可能被错误视为完成最新元数据扫描,导致歌词长期无法补全的问题
- 修复元数据补扫失败或返回空字段时,可能清除已有封面、歌词、标题和歌手信息的问题
- 修复本地曲库更新后,播放队列仍使用旧封面或旧歌词快照的问题
- 修复应用重启后继续恢复陈旧本地歌曲元数据的问题
- 修复封面缓存触发 WebView 存储容量限制后,歌词无法继续写入的问题
- 修复 GBK、GB18030 等中文歌词被按 UTF-8 有损读取而出现乱码的问题
- 修复 UTF-16 与带 BOM 歌词在不同读取入口下行为不一致的问题
- 修复重复选择本地歌曲时新增数量统计不准确的问题
- 修复删除本地专辑时可能误删仍被其他内容使用的文件夹记录
- 修复本地元数据扫描请求可能重复执行,造成额外磁盘读取的问题
- 修复电台节目排序后播放队列仍沿用原始顺序的问题
- 修复部分菜单、浮层和玻璃背景透底过强,导致文字可读性下降的问题
- 修复全屏播放器在亮色或暗色主题下背景色不稳定、对比度不足的问题
- 修复主题色只影响少量控件,导致侧边栏、图表和交互状态视觉不统一的问题
- 修复从全局色调切回强调色后可能残留背景色调的问题
- 修复调色范围按钮宽度不一致及“全局色调”文字换行问题