Repository navigation
Conversation
- 音源运行时:MusicFree 插件(含订阅)、洛雪自定义源、JSON 配置源、JS 脚本源 - 取地址调度:本源 → 洛雪源 → 失败自动换源 - 搜索、播放列表、我喜欢与歌单、下载、LRC 歌词与翻译、本地文件 - 动效:封面取色背景、黑胶唱片、律动条、卡拉 OK 歌词 - Tauri 2 桌面版(桌面歌词窗口)与安卓版(前台服务 + 媒体通知插件) - GitHub Actions:CI、桌面/安卓打包、Cloudflare Pages 部署
新用户:首次欢迎引导、搜索页上手提示、空状态直达按钮;把 .js/.json 拖进窗口或粘贴网址/代码即可导入音源 日常:最近播放、续播上次进度、搜索历史、定时关闭、预取下一首地址、播放列表拖动排序、右键/长按菜单、快捷键表、暂停继续淡入淡出、滚轮调音量 稳定性:每个音源单独超时,搜索结果边到边显示并去重;取地址、歌词也加超时 手机:底部标签栏和「我的」页、播放条/唱片左右滑切歌、返回键先关浮层再回搜索页、触屏加大点击区域 桌面:托盘菜单、关闭到托盘、单实例、记住窗口位置和大小、托盘提示当前歌曲 动效:封面从播放条飞入唱片、黑胶缓起缓停、模糊封面背景交叉淡入、按方向的页面切换、导航滑块、爱心粒子、按钮涟漪、进度条悬停时间、弹窗关闭动画
- Windows 安装程序加 installer-hooks.nsh,装完在桌面创建快捷方式,卸载时删除;中文界面、当前用户安装(不需要管理员权限)、使用应用图标 - 打包产物精简为每个系统一个:Windows -setup.exe、macOS .dmg、Linux .AppImage 和 .deb(去掉 .msi 和 .rpm,避免一个系统两个安装包) - 补上 publisher / homepage / copyright - Release 说明和 README 增加「下载哪个文件、怎么装」的表格
上一版 Windows 打包失败。Tauri 的 NSIS 安装程序本身就在完成页提供「创建桌面快捷方式」选项, 不需要再用钩子重复创建;同时把版权字符串里的 © 换成 ASCII,避免写入版本信息时出错。
Tauri 自带的 NSIS 里没有 SimplifiedChinese.nlf 语言文件,makensis 打包失败, 安装界面先用默认的英文。
之前 PR 的每次运行都会往同一个草稿 Release 里追加文件,里面混进了旧的 .msi 和 .rpm。 现在只有推送 v* 标签或手动运行时才创建 Release。
新增 src/sources/bundled/:5 个洛雪源 + 9 个 MusicFree 插件(网易云、QQ音乐、酷狗、 酷我、汽水、B站、喜马拉雅、千千、YouTube),用 Vite ?raw 打进包内,首次启动由 seed.js 写入音源列表,不再需要用户自己找音源。 - 幂等:删除的内置源记在 bundledRemoved,不会被偷偷加回来 - 「音源」页新增「恢复内置音源」,用于误删恢复与版本升级补源 - tests/bundled.test.js:用应用自己的 compileSource 校验每个内置源可编译、 且能力声明正确(洛雪源不可搜索、MusicFree 源可搜索可取址) - README 同步:安装说明、音源接入、声明
…置里关);喜欢按钮改为空心/实心红色;版本 0.2.1
- 新增内置:网易云官方直连(wy-official)、QQ音乐官方直连(qq-official) - 移除内置:元力WY/KG/KW/QQ/MG、网易音乐、酷狗简云、酷我、汽水、B站、 喜马拉雅、千千、YouTube —— 体检里不是空结果就是取不到地址 - BUNDLE_VERSION 1 → 2,老用户点「恢复内置音源」即可换新 - 版本号 0.2.0 → 0.2.1(package.json / tauri.conf.json / Cargo.toml / main.js) - 测试断言同步:内置 MusicFree 源下限 6 → 3 体检依据:34 个插件真跑一遍(搜索 → 取地址 → Range 验播放), 能出声的只有 9 个,其中 2 个是本轮新写的官方直连。
- 恢复 5c295b0 的安卓通知栏/耳机按键修复、桌面全局快捷键、喜欢按钮等改动 - 内置音源:撤掉元力系与体检失败项,只留 5 个洛雪源 + 网易云官方直连、 QQ音乐官方直连、腾讯音乐(BUNDLE_VERSION=2) - README、release.yml 的说明同步;测试 16 项通过
- bundled 新增 kg-official(酷狗官方搜索,带 hash/albumId) - BUNDLE_VERSION 2 → 3;版本 0.2.1 → 0.2.2 - 链路实测(应用运行时 + 真网络):搜《晴天》→ 首条 hash 正确 → 播放时 官方取地址撞付费墙 → 自动接力洛雪源 → 206 audio/x-flac 30.2MB 941kbps - 发布说明同步:内置 9 个源
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by xiao · project thread
概要
不带曲库的音乐播放器"外壳",歌曲来源完全由用户配置的音源决定。前端是 Vite + 原生 JS,用 Tauri 2 打包成桌面版和安卓版,网页版可以部署到 Cloudflare Pages。
音源(
src/sources/)lx.request / send / on / utils(AES、RSA 无填充、MD5、Buffer、zlib),按平台代号 kw / kg / tx / wy / mg 接收其他音源搜到的歌功能
搜索、播放列表、我喜欢 / 自建歌单、下载(附 .lrc,可离线播放)、LRC 歌词与翻译、本地文件和文件夹、主题、备份导入导出。
动效
跟随封面取色的流动背景和主题色、旋转黑胶和唱臂、律动条、卡拉 OK 逐行填色歌词、列表、页面和弹窗过渡;支持
prefers-reduced-motion,设置里可以关掉动态背景。体验打磨(第二轮)
?)、暂停继续淡入淡出、滚轮调音量安装包
-setup.exe(中文界面、免管理员、可在完成页勾选桌面快捷方式)、macOS.dmg、Linux.AppImage/.deb、安卓.apk平台
plugins/tauri-plugin-media-session,Kotlin 前台服务 + MediaSession,用来后台、锁屏播放,并提供通知栏和耳机按键控制unsafe-headers,音源可以设置 Referer / User-Agent,也没有跨域限制CI / 发布
ci.yml:测试、网页构建、Linux 编译检查release.yml:Windows / macOS / Linux 安装包和安卓 APK;PR 上只打包并上传 Artifacts,推送v*标签时生成草稿 Releasedeploy-web.yml:手动触发部署到 Cloudflare Pages(需要CLOUDFLARE_API_TOKEN、CLOUDFLARE_ACCOUNT_ID)已验证
npm test:9 项通过(JSON 源、MusicFree 插件、洛雪源加密与取地址、MusicFree 搜索交给洛雪源、自动换源、歌词解析、歌曲匹配、慢音源超时与边搜边出)cargo check通过;Linux 调试版在虚拟显示器里启动正常未做 / 已知限制
<audio>带不上这些请求头,可以先下载再播放Generated by Claude Code