Repository navigation
v0.27.0
ToneCore v0.27.0
曲库支持列表 / 小图 / 大图三种显示方式;图标重新设计;主页本地音乐管理补齐(补回被误删的功能)。
变更
1. 曲库支持三种显示方式
列表 / 小图 / 大图,覆盖曲库页两处内容:
- 云端搜索结果(
OnlineSearch) - 在线推荐榜单(
Library)
三处——主页本地列表、推荐榜单、搜索结果——共用同一个偏好 key tc.home.view。
因为它们本质是同一类内容(封面墙 or 列表),在一处调过显示方式,其余不必再调一遍。
网格视图下的操作按钮(加入队列 / 入库)默认隐藏、hover 浮出,避免小卡片被按钮挤满。
2. 主页本地音乐管理补齐
这里要先说一个我自己的失误:v0.26.0 重写曲库页时,我把单曲详情 /
删除 / 重新刮削整个删掉了,却忘了迁到主页 —— 结果本地歌曲只能播、不能管。
这是功能倒退,本版补回并扩展:
- 列表行悬停新增「详情」「移入回收站」入口
- 网格卡片新增常驻「详情」按钮
- 详情弹窗:封面 / 标题 / 歌手 / 专辑 / 时长 / 格式 / 文件路径,并提供
播放、加入队列、重新刮削、移入回收站
移动端适配(顺带修的隐性坑):此前操作按钮是 opacity-0 + group-hover 才显形,
但触屏设备没有 hover —— 等于这些功能在手机上根本不存在。
现改为小屏常驻、大屏才收进 hover:
opacity-60 md:opacity-0 md:group-hover:opacity-100
3. 图标重新设计
v0.19.0 之后再没改过,在 Unraid 面板和浏览器标签页的小尺寸下辨识度偏低。
- 底:深色径向渐变
#2E3846 → #0E1218,深/浅两种主题下都不发灰 - 声波:由两道弧改为三层同心弧环(青蓝 → 紫渐变),左右严格镜像
(各以 0° / 180° 为中心 ±35°),语义是「声音由内向外扩散」,小尺寸下层次依然清晰 - 中心保留发光音符(青蓝竖向渐变),仍是第一眼识别点
assets/icon.svg与assets/icon.png已同步
排查记录(避免以后重复踩)
「Unraid 图标是旧版」其实是个误判
我一开始以为是部署没同步或缓存旧版,于是做了 crypto-brute 式的排查。实测结论相反:
| 位置 | md5 |
|---|---|
仓库 HEAD:assets/icon.png blob |
4ba287a6… |
/mnt/user/icons/ToneCore.png |
4ba287a6… |
/var/local/emhttp/…/images/ToneCore-icon.png |
4ba287a6… |
容器内 /app/public/icon.png |
4ba287a6… |
四份完全一致,且与仓库当前文件是同一个 blob ——
根本不是缓存问题,而是这个图标自 v0.19.0 起就没再改过。
所以真正该做的是重做设计,清缓存、重新 tag 镜像都是白费功夫。
SVG 弧线端点必须落在圆上
手写 SVG arc 的端点若不落在对应半径的圆上,渲染器会自动缩放弧半径,
结果与 PNG 对不上。我第一版手写端点偏差达 12–26px,弧会明显变形。
现已按 r 与角度重算校验(左弧 145°→215°、右弧 -35°→35°,sweep=1)。
验证
npm run build ✅ web + server 均通过
npm test ✅ 15 项全过
悬空引用检查 ✅ 无 recent / home.albums / home.artists / filterBy 残留
package-lock ✅ 未漂移
未改动(仍是待办)
- 歌词「提前跑完」:v0.26.0 实测过,跑偏的集中在
online来源
(在线按歌名匹配,易命中翻唱版,时间轴天然对不上本地文件)。
修法是按真实时长校验候选、命中率低就回退本地/内嵌来源,需更多样本验证。 - 锁屏不显示动态歌词:Media Session API 不提供歌词接口,属浏览器能力边界,
非 bug —— 专辑图 / 歌名 / 歌手能正常显示即说明该层已通。 - 酷我(kw)在线搜索封面;音源状态显示口径。