第三方网易云音乐客户端 / GUI of Netease Cloud Music
访问Demo
·
报告Bug
·
提出新特性
- 使用Vue3+Electron开发
- 出于安全考虑,只支持手机扫码登录
- 与网易云音乐3.0类似的布局
- 支持下载音乐、播放本地音乐
- 支持多种主题、自定义主题
- 支持查看歌词、回忆坐标、音乐百科
- 支持查看曲谱(没有权限的曲谱需要在手机端购买)
- 支持自定义缩放
- 支持音乐云盘
- 支持音量均衡功能
- 支持选择输出设备
- 支持使用弹幕姬点歌。(需要在弹幕姬安装DMPlugin_XCMusic插件)
- 评论
- 点赞功能
- 楼中楼功能
- 播放界面
- 点击歌词跳转功能
- 侧边栏
- 首页推荐
- 歌单
- 多选操作,使用ctrl,shift完成多选,拖拽排序
- 批量下载云盘歌曲
- 处理无版权歌曲
- 收藏歌单,收藏专辑
- 下载
- 下载界面功能完善
- 下载时附加元数据信息
- 设置界面
- 快捷键
- 通知管理
- 系统
- 完善系统托盘功能
- 工具
- 设置代理
- 集成unblock
- 插件系统
以下操作均基于Node.js,如果没有安装,请先安装Node.js
安装依赖
npm install
运行Electron程序
npm run electron:serve
打包为二进制程序
npm run electron:build
-
打包网易云音乐api程序:
- 克隆仓库:yiktllw/NeteaseCloudMusicApi
- 在
NeteaseCloudMusicApi
目录下,安装依赖:
npm install
- 在
NeteaseCloudMusicApi
目录下,修改app.js
的start
函数为:
async function start() { // 检测是否存在 anonymous_token 文件,没有则生成 if (!fs.existsSync(path.resolve(tmpPath, "anonymous_token"))) { fs.writeFileSync(path.resolve(tmpPath, "anonymous_token"), "", "utf-8"); } // 启动时更新anonymous_token const generateConfig = require("./generateConfig"); await generateConfig(); require("./server").serveNcmApi({ checkVersion: false, port: 43210, }); }
- 在
NeteaseCloudMusicApi
目录下,根据平台运行命令:
win平台
npm run pkgwin
linux平台
npm run pkglinux
macos平台
npm run pkgmacos
- 在
NeteaseCloudMusicApi/bin
目录下,找到打包的程序,并将其复制到XCMusic/src-tauri/resources/api
目录下。
-
安装Rust开发环境
-
运行tauri程序:
npm run tauri:serve
- 打包为二进制程序:
npm run tauri:build
- fork此项目
- 部署yiktllw/NeteaseCloudMusicApi
- 新建vercel.json文件,写入:
{
"builds": [
{
"src": "package.json",
"use": "@vercel/static-build",
"config": {
"distDir": "dist_electron"
}
}
]
}
- 导入到vercel,新增一个环境变量:
VUE_APP_API
,值为第二步部署的api地址。
- 网易云音乐API: Binaryify/NeteaseCloudMusicApi
- YesPlayMusic
- 网易云音乐3.0
- 部分主题配色来源于vscode对应的主题
- XC系列01: XCMusic