SuperAPI AI 工具集

justanothermusicclient-tauri-youtube-music

通用与其它

查看项目

更新于 10-15 23:57

技能介绍

用途:用于构建和扩展 JustAnotherMusicClient——一个基于 Tauri、React、TypeScript 的桌面 YouTube Music 客户端,目标平台为 Windows、macOS、Linux。项目无官方 YouTube Music API,依赖网页抓取/注入实现集成。

主要技术:Tauri(Rust 桌面框架)、React 前端、TypeScript 类型安全开发。

环境要求:Node.js LTS(建议 v18+)与 npm、Rust 与 Cargo。Windows 需 Microsoft Edge WebView2 Runtime 和带 C++ 工作负载的 Visual Studio Build Tools;macOS 需 Xcode Command Line Tools(xcode-select --install);Linux(Debian/Ubuntu)需安装 libwebkit2gtk-4.0-dev、build-essential、curl、wget、libssl-dev、libgtk-3-dev、libayatana-appindicator3-dev、librsvg2-dev 等依赖。

安装与运行: git clone https://github.com/2latemc/JustAnotherMusicClient.git cd JustAnotherMusicClient npm install npm run tauri dev

构建:npm run tauri build,产物位于 src-tauri/target/release/bundle/。类型检查、Lint、格式化分别使用 npm run type-check、npm run lint、npm run format。

项目结构:src/ 为 React 前端,src-tauri/ 为 Rust 后端,关键配置为 src-tauri/tauri.conf.json 和 src-tauri/Cargo.toml。

主要开发模式:通过 #[tauri::command] 定义 Rust 命令,前端用 @tauri-apps/api/tauri 的 invoke 调用;使用 appWindow 与 WebviewWindow 管理窗口;可集成系统托盘、Discord Rich Presence、本地缓存(@tauri-apps/api/fs 的 AppData 目录);通过 WebviewWindow.eval 在 YouTube Music WebView 中注入脚本读取播放状态。

常见问题:Rust 未安装可用 rustup 安装;Windows 缺失 WebView2 需另行安装;Linux 缺依赖按发行版补装;macOS 钥匙串弹窗需选“始终允许”;热重载异常可删除 node_modules、dist、src-tauri/target 后重装;CORS/CSP 问题需在 tauri.conf.json 配置 CSP;崩溃可用 RUST_LOG=debug npm run tauri dev 查看日志。

限制:项目为独立项目,与 YouTube 或 Google 无关联;不提供下载功能;对 YouTube Music 服务的访问仍受其服务条款约束。许可证为 Apache-2.0。收费、价格等信息暂未提供。