Skip to content

第三方网易云音乐客户端 / GUI of Netease Cloud Music

License

Notifications You must be signed in to change notification settings

yiktllw/XCMusic

Repository files navigation

XCMusic

第三方网易云音乐客户端 / GUI of Netease Cloud Music
访问Demo · 报告Bug · 提出新特性

Contributors Forks Stargazers Issues MIT License

image

目录

特性

  • 使用Vue3+Electron开发
  • 出于安全考虑,只支持手机扫码登录
  • 与网易云音乐3.0类似的布局
  • 支持下载音乐、播放本地音乐
  • 支持多种主题、自定义主题
  • 支持查看歌词、回忆坐标、音乐百科
  • 支持查看曲谱(没有权限的曲谱需要在手机端购买)
  • 支持自定义缩放
  • 支持音乐云盘
  • 支持音量均衡功能
  • 支持选择输出设备
  • 支持使用弹幕姬点歌。(需要在弹幕姬安装DMPlugin_XCMusic插件)

⬆ 回到目录

待完成

  • 评论
    • 点赞功能
    • 楼中楼功能
  • 播放界面
    • 点击歌词跳转功能
  • 侧边栏
    • 首页推荐
  • 歌单
    • 多选操作,使用ctrl,shift完成多选,拖拽排序
    • 批量下载云盘歌曲
    • 处理无版权歌曲
    • 收藏歌单,收藏专辑
  • 下载
    • 下载界面功能完善
    • 下载时附加元数据信息
  • 设置界面
    • 快捷键
    • 通知管理
  • 系统
    • 完善系统托盘功能
  • 工具
    • 设置代理
    • 集成unblock
  • 插件系统

⬆ 回到目录

配置开发环境

以下操作均基于Node.js,如果没有安装,请先安装Node.js

安装依赖

npm install

使用electron

运行Electron程序

npm run electron:serve

打包为二进制程序

npm run electron:build

使用tauri

  1. 打包网易云音乐api程序:

    1. 克隆仓库:yiktllw/NeteaseCloudMusicApi
    2. NeteaseCloudMusicApi目录下,安装依赖:
    npm install
    1. NeteaseCloudMusicApi目录下,修改app.jsstart函数为:
    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,
      });
    }
    1. NeteaseCloudMusicApi目录下,根据平台运行命令:

    win平台

    npm run pkgwin

    linux平台

    npm run pkglinux

    macos平台

    npm run pkgmacos
    1. NeteaseCloudMusicApi/bin目录下,找到打包的程序,并将其复制到XCMusic/src-tauri/resources/api目录下。
  2. 安装Rust开发环境

  3. 运行tauri程序:

npm run tauri:serve
  1. 打包为二进制程序:
npm run tauri:build

⬆ 回到目录

部署到vercel

  1. fork此项目
  2. 部署yiktllw/NeteaseCloudMusicApi
  3. 新建vercel.json文件,写入:
{
  "builds": [
    {
      "src": "package.json",
      "use": "@vercel/static-build",
      "config": {
        "distDir": "dist_electron"
      }
    }
  ]
}
  1. 导入到vercel,新增一个环境变量: VUE_APP_API,值为第二步部署的api地址。

⬆ 回到目录

灵感来源

⬆ 回到目录

关于

  1. XC系列01: XCMusic
  1. Für "Clara Josephine Schumann".
  1. Prelude for TeXpert Code.
  1. 图标来自于氢原子$ n=3, l=2, m=1 $时的波函数

⬆ 回到目录

许可证

根据 MIT 许可证分发。打开 LICENSE 查看更多内容。

⬆ 回到目录

截图

image

image

image

image

image

image

image

image

image

image

⬆ 回到目录