Skip to content

Add plugin LX Music v0.0.2 - #740

Merged
lzx8589561 merged 1 commit into
ZToolsCenter:mainfrom
jiang66-so:plugin/lx-music-ztools
Nov 10, 2026
Merged

lzx8589561 merged 1 commit into
ZToolsCenter:mainfrom
jiang66-so:plugin/lx-music-ztools

Conversation

@jiang66-so

@jiang66-so jiang66-so commented Nov 9, 2026 •

Copy link
Copy Markdown

插件用途与本次范围

LX Music 2.12.6 的 ZTools 原生移植,当前提交 0.0.2 Windows 开发版。安装后输入 lxmusic、LX Music 或 洛雪音乐 打开原 LX 界面;用户可本地导入兼容 LX API 2.0.0 的 JS 音源,或通过 HTTP(S) URL 导入后选择使用。不依赖另装 LX 桌面版,不附带第三方音源。

当前支持范围为原界面、列表/设置基础服务、自定义音源导入与隔离执行、解析播放地址及原播放器。下载、同步、开放 API、桌面歌词和系统集成仍在移植,本次不宣称完整功能移植完成。

本次变更

  • 默认入口改为 dist/lx.html,复用原 LX Vue / Pug / Less 界面与播放器;Node 服务逐模块生成可读 CJS。
  • 去掉 LX 内部的缩小、关闭按钮以及桌面窗口留白、边框、圆角和阴影,让内容铺满 ZTools 插件区域;播放详情页保留返回控件。
  • 接通本地 JS / URL 两种音源导入入口;脚本在受 CSP 限制的浏览器 Worker 中执行,不向脚本暴露 ztools、Node require 或文件桥。
  • 复用原 LX 数据模型,使用插件数据目录下的 Node SQLite,验证事务回滚与重开。
  • 构建前自动安装 preload 的独立运行依赖;适配插件中心 Node 20 构建环境。
  • 修正 CLI 1.3.2 在 Windows 下更新已有 PR 时的 Git 参数引号,不跳过上游同步、冲突检测或分支 lease 保护。

构建与验证

npm ci
npm run build:ztools
npm run test:ztools
npm run test:p0
npm run pack
npm run test:host
npm run test:source
npm run test:player
npm run test:publish
  • 14 项 Node 契约测试通过。
  • 官方 CLI 源码过滤后,在全新目录用 Node 20.20.2 安装、构建、打包,确认 6 个运行依赖均在插件目录内。
  • 将该 ZIP 安装到全新临时 ZTools 数据目录,验证关键词搜索打开原播放器,无开发服务器依赖。
  • 原设置页本地文件 / URL 导入流程通过;仅文件选择器返回受控测试路径,其余为实际宿主 API、文件服务与界面流程。
  • 受控音源 API 初始化、同步 crypto、HTTP 回调、音质校验、切源取消通过。
  • 原 LX 引擎播放自生成 WAV,验证 duration/currentTime、暂停/继续、后台播放及下一首;播放详情返回可用,窗口按钮不可见。
  • 界面边界测量确认填满插件视图,外层无阴影和圆角。
  • 发布演练覆盖首次/重复发布,以及已有 PR、缺少本地上游同步记录的 Windows 回归场景。
  • 独立发布审查及 Windows 引号修复专项审查未发现 Critical / Important 阻断。

宿主验证组合为本机 ZTools app.asar 3.3.0-beta.2 + 独立 Electron 42.3.3 / Node 24.15.0,不使用日常配置。不能把这个结果推广为所有 ZTools 版本或安装版 EXE 的完整实机验收。独立宿主冷启动曾出现主页面 ztools 未注入而无法搜索,原因未定位;最终串行 ZIP 回归通过,此环境稳定性问题未标记为已解决。

截图

设置页:去掉内部窗口按钮及桌面外框,内容铺满插件区域。

原 LX 设置页

原界面自定义源管理:本地和 URL 导入的受控测试源。

自定义源管理

自检与限制

  • plugin.json 的 name / title / version / description / author、入口、图标和 CHANGELOG 已检查。
  • preload 和依赖服务可读;不压缩、混淆 Node 服务。
  • 保留上游 Apache-2.0 LICENSE、NOTICE 与源码基线归属。
  • 源码提交不包含 node_modules、dist、测试产物、.env 或凭据;构建时再生成运行产物。
  • PR 文件范围仅涉及 plugins/lx-music-ztools/。
  • 已在上述隔离 ZTools 组合中加载并验证本次声明的主要流程,附实际截图。
  • 以开发版功能范围提交审核,未完成项如实说明。
  • 仓库方 GitHub Actions 批准/构建仍以平台实际结果为准。

真实用户音源和外部平台服务未全量验证;本地测试脚本与音频结果不能替代真实平台可用性或人工听音验收。音源运行环境为 Worker,依赖 DOM 的非标准脚本扩展不在已验证兼容范围。完整矩阵见插件目录的 docs/ztools/compatibility.md。

@jiang66-so
jiang66-so force-pushed the plugin/lx-music-ztools branch 2 times, most recently from 5410e08 to 539b9d3 Compare November 10, 2026 02:14
@jiang66-so jiang66-so changed the title Add plugin LX Music v0.0.1 Add plugin LX Music v0.0.2 Nov 10, 2026
- feat: scaffold LX Music ZTools plugin and release tooling
- test: verify host loading and prepare official draft publishing
- test: cover production ZIP installation in isolated ZTools
- fix: use authenticated gh transport for GitHub API on Windows
- docs: include upstream attribution and verified framework screenshot
- feat: verify native source isolation and ZTools P0 lifecycle
- feat: adapt original LX data services and event contracts
- feat: run original LX UI and isolated custom source requests
- feat: enable native playback and verified local plugin installation
- 发布准备:去除 LX 窗口装饰并更新至 0.0.2 开发版
- 修复:适配插件中心 Node 20 的样式构建依赖
- 文档:更新 0.0.2 发布验证范围与上游归属
- 修复:兼容 Windows 下更新已有插件 PR 的 Git 参数引用
@jiang66-so
jiang66-so marked this pull request as ready for review November 10, 2026 02:17
@lzx8589561
lzx8589561 merged commit 6f6fa44 into ZToolsCenter:main Nov 10, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants