diff --git a/apps/yesplaymusic/0.4.7/.env.sample b/apps/yesplaymusic/0.4.7/.env.sample new file mode 100644 index 00000000..b6acecb4 --- /dev/null +++ b/apps/yesplaymusic/0.4.7/.env.sample @@ -0,0 +1,3 @@ +CONTAINER_NAME="yesplaymusic" +PANEL_APP_PORT_HTTP="40075" + diff --git a/apps/yesplaymusic/0.4.7/data.yml b/apps/yesplaymusic/0.4.7/data.yml new file mode 100644 index 00000000..cee5de47 --- /dev/null +++ b/apps/yesplaymusic/0.4.7/data.yml @@ -0,0 +1,10 @@ +additionalProperties: + formFields: + - default: 40075 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number diff --git a/apps/yesplaymusic/0.4.7/docker-compose.yml b/apps/yesplaymusic/0.4.7/docker-compose.yml new file mode 100644 index 00000000..42b28462 --- /dev/null +++ b/apps/yesplaymusic/0.4.7/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + yesplaymusic: + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:80" + image: fogforest/yesplaymusic:0.4.7 + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/apps/yesplaymusic/README.md b/apps/yesplaymusic/README.md new file mode 100644 index 00000000..7b7ee57b --- /dev/null +++ b/apps/yesplaymusic/README.md @@ -0,0 +1,260 @@ +
+

+ + Logo + +

YesPlayMusic

+ +

+ 高颜值的第三方网易云播放器 +
+ 🌎 访问DEMO  |   + 📦️ 下载安装包  |   + 💬 加入交流群 +
+
+

+

+ +[![Library][library-screenshot]](https://music.qier222.com) + + +## 全新版本 +全新2.0 Alpha测试版已发布,欢迎前往 [Releases](https://github.com/qier222/YesPlayMusic/releases) 页面下载。 +当前版本将会进入维护模式,除重大bug修复外,不会再更新新功能。 + +## ✨ 特性 + +- ✅ 使用 Vue.js 全家桶开发 +- 🔴 网易云账号登录(扫码/手机/邮箱登录) +- 📺 支持 MV 播放 +- 📃 支持歌词显示 +- 📻 支持私人 FM / 每日推荐歌曲 +- 🚫🤝 无任何社交功能 +- 🌎️ 海外用户可直接播放(需要登录网易云账号) +- 🔐 支持 [UnblockNeteaseMusic](https://github.com/UnblockNeteaseMusic/server#音源清单),自动使用[各类音源](https://github.com/UnblockNeteaseMusic/server#音源清单)替换变灰歌曲链接 (网页版不支持) + - 「各类音源」指默认启用的音源。 + - YouTube 音源需自行安装 `yt-dlp`。 +- ✔️ 每日自动签到(手机端和电脑端同时签到) +- 🌚 Light/Dark Mode 自动切换 +- 👆 支持 Touch Bar +- 🖥️ 支持 PWA,可在 Chrome/Edge 里点击地址栏右边的 ➕ 安装到电脑 +- 🟥 支持 Last.fm Scrobble +- ☁️ 支持音乐云盘 +- ⌨️ 自定义快捷键和全局快捷键 +- 🎧 支持 Mpris +- 🛠 更多特性开发中 + +## 📦️ 安装 + +Electron 版本由 [@hawtim](https://github.com/hawtim) 和 [@qier222](https://github.com/qier222) 适配并维护,支持 macOS、Windows、Linux。 + +访问本项目的 [Releases](https://github.com/qier222/YesPlayMusic/releases) +页面下载安装包。 + +- macOS 用户可以通过 Homebrew 来安装:`brew install --cask yesplaymusic` + +- Windows 用户可以通过 Scoop 来安装:`scoop install extras/yesplaymusic` + +## ⚙️ 部署至 Vercel + +除了下载安装包使用,你还可以将本项目部署到 Vercel 或你的服务器上。下面是部署到 Vercel 的方法。 + +本项目的 Demo (https://music.qier222.com) 就是部署在 Vercel 上的网站。 + +[![Powered by Vercel](https://www.datocms-assets.com/31049/1618983297-powered-by-vercel.svg)](https://vercel.com/?utm_source=ohmusic&utm_campaign=oss) + +1. 部署网易云 API,详情参见 [Binaryify/NeteaseCloudMusicApi](https://neteasecloudmusicapi.vercel.app/#/?id=%e5%ae%89%e8%a3%85) + 。你也可以将 API 部署到 Vercel。 + +2. 点击本仓库右上角的 Fork,复制本仓库到你的 GitHub 账号。 + +3. 点击仓库的 Add File,选择 Create new file,输入 `vercel.json`,将下面的内容复制粘贴到文件中,并将 `https://your-netease-api.example.com` 替换为你刚刚部署的网易云 API 地址: + +```json +{ + "rewrites": [ + { + "source": "/api/:match*", + "destination": "https://your-netease-api.example.com/:match*" + } + ] +} +``` + +4. 打开 [Vercel.com](https://vercel.com),使用 GitHub 登录。 + +5. 点击 Import Git Repository 并选择你刚刚复制的仓库并点击 Import。 + +6. 点击 PERSONAL ACCOUNT 旁边的 Select。 + +7. 点击 Environment Variables,填写 Name 为 `VUE_APP_NETEASE_API_URL`,Value 为 `/api`,点击 Add。最后点击底部的 Deploy 就可以部署到 + Vercel 了。 + +## ⚙️ 部署到自己的服务器 + +除了部署到 Vercel,你还可以部署到自己的服务器上 + +1. 部署网易云 API,详情参见 [Binaryify/NeteaseCloudMusicApi](https://github.com/Binaryify/NeteaseCloudMusicApi) +2. 克隆本仓库 + +```sh +git clone --recursive https://github.com/qier222/YesPlayMusic.git +``` + +3. 安装依赖 + +```sh +yarn install + +``` + +4. (可选)使用 Nginx 反向代理 API,将 API 路径映射为 `/api`,如果 API 和网页不在同一个域名下的话(跨域),会有一些 bug。 + +5. 复制 `/.env.example` 文件为 `/.env`,修改里面 `VUE_APP_NETEASE_API_URL` 的值为网易云 API 地址。本地开发的话可以填写 API 地址为 `http://localhost:3000`,YesPlayMusic 地址为 `http://localhost:8080`。如果你使用了反向代理 API,可以填写 API 地址为 `/api`。 + +``` +VUE_APP_NETEASE_API_URL=http://localhost:3000 +``` + +6. 编译打包 + +```sh +yarn run build +``` + +7. 将 `/dist` 目录下的文件上传到你的 Web 服务器 + +## ⚙️ Docker 部署 + +1. 构建 Docker Image + +```sh +docker build -t yesplaymusic . +``` + +2. 启动 Docker Container + +```sh +docker run -d --name YesPlayMusic -p 80:80 yesplaymusic +``` + +3. Docker Compose 启动 + +```sh +docker-compose up -d +``` + +YesPlayMusic 地址为 `http://localhost` + +## ⚙️ 部署至 Replit + +1. 新建 Repl,选择 Bash 模板 + +2. 在 Replit shell 中运行以下命令 + +```sh +bash <(curl -s -L https://raw.githubusercontent.com/qier222/YesPlayMusic/main/install-replit.sh) +``` + +3. 首次运行成功后,只需点击绿色按钮 `Run` 即可再次运行 + +4. 由于 replit 个人版限制内存为 1G(教育版为 3G),构建过程中可能会失败,请再次运行上述命令或运行以下命令: + +```sh +cd /home/runner/${REPL_SLUG}/music && yarn installl && yarn run build +``` + +## 👷‍♂️ 打包客户端 + +如果在 Release 页面没有找到适合你的设备的安装包的话,你可以根据下面的步骤来打包自己的客户端。 + +1. 打包 Electron 需要用到 Node.js 和 Yarn。可前往 [Node.js 官网](https://nodejs.org/zh-cn/) 下载安装包。安装 Node.js + 后可在终端里执行 `npm install -g yarn` 来安装 Yarn。 + +2. 使用 `git clone --recursive https://github.com/qier222/YesPlayMusic.git` 克隆本仓库到本地。 + +3. 使用 `yarn install` 安装项目依赖。 + +4. 复制 `/.env.example` 文件为 `/.env` 。 + +5. 选择下列表格的命令来打包适合的你的安装包,打包出来的文件在 `/dist_electron` 目录下。了解更多信息可访问 [electron-builder 文档](https://www.electron.build/cli) + +| 命令 | 说明 | +| ------------------------------------------ | ------------------------- | +| `yarn electron:build --windows nsis:ia32` | Windows 32 位 | +| `yarn electron:build --windows nsis:arm64` | Windows ARM | +| `yarn electron:build --linux deb:armv7l` | Debian armv7l(树莓派等) | +| `yarn electron:build --macos dir:arm64` | macOS ARM | + +## :computer: 配置开发环境 + +本项目由 [NeteaseCloudMusicApi](https://github.com/Binaryify/NeteaseCloudMusicApi) 提供 API。 + +运行本项目 + +```shell +# 安装依赖 +yarn install + +# 创建本地环境变量 +cp .env.example .env + +# 运行(网页端) +yarn serve + +# 运行(electron) +yarn electron:serve +``` + +本地运行 NeteaseCloudMusicApi,或者将 API [部署至 Vercel](#%EF%B8%8F-部署至-vercel) + +```shell +# 运行 API (默认 3000 端口) +yarn netease_api:run +``` + +## ☑️ Todo + +查看 Todo 请访问本项目的 [Projects](https://github.com/qier222/YesPlayMusic/projects/1) + +欢迎提 Issue 和 Pull request。 + +## 📜 开源许可 + +本项目仅供个人学习研究使用,禁止用于商业及非法用途。 + +基于 [MIT license](https://opensource.org/licenses/MIT) 许可进行开源。 + +## 灵感来源 + +API 源代码来自 [Binaryify/NeteaseCloudMusicApi](https://github.com/Binaryify/NeteaseCloudMusicApi) + +- [Apple Music](https://music.apple.com) +- [YouTube Music](https://music.youtube.com) +- [Spotify](https://www.spotify.com) +- [网易云音乐](https://music.163.com) + +## 🖼️ 截图 + +![lyrics][lyrics-screenshot] +![library-dark][library-dark-screenshot] +![album][album-screenshot] +![home-2][home-2-screenshot] +![artist][artist-screenshot] +![search][search-screenshot] +![home][home-screenshot] +![explore][explore-screenshot] + + + + +[album-screenshot]: https://github.com/qier222/YesPlayMusic/raw/master/images/album.png +[artist-screenshot]: https://github.com/qier222/YesPlayMusic/raw/master/images/artist.png +[explore-screenshot]: https://github.com/qier222/YesPlayMusic/raw/master/images/explore.png +[home-screenshot]: https://github.com/qier222/YesPlayMusic/raw/master/images/home.png +[home-2-screenshot]: https://github.com/qier222/YesPlayMusic/raw/master/images/home-2.png +[lyrics-screenshot]: https://github.com/qier222/YesPlayMusic/raw/master/images/lyrics.png +[library-screenshot]: https://github.com/qier222/YesPlayMusic/raw/master/images/library.png +[library-dark-screenshot]: https://github.com/qier222/YesPlayMusic/raw/master/images/library-dark.png +[search-screenshot]: https://github.com/qier222/YesPlayMusic/raw/master/images/search.png \ No newline at end of file diff --git a/apps/yesplaymusic/data.yml b/apps/yesplaymusic/data.yml new file mode 100644 index 00000000..0185ff28 --- /dev/null +++ b/apps/yesplaymusic/data.yml @@ -0,0 +1,20 @@ +name: YesPlayMusic +tags: + - 工具 +title: 一款高颜值的第三方网易云播放器 +type: 工具 +description: 一款高颜值的第三方网易云播放器 +additionalProperties: + key: yesplaymusic + name: YesPlayMusic + tags: + - Tool + shortDescZh: 一款高颜值的第三方网易云播放器 + shortDescEn: A high-end third-party NetEase cloud player + type: tool + crossVersionUpdate: true + limit: 0 + recommend: 0 + website: https://music.qier222.com/ + github: https://github.com/qier222/YesPlayMusic + document: https://github.com/qier222/YesPlayMusic diff --git a/apps/yesplaymusic/latest/.env.sample b/apps/yesplaymusic/latest/.env.sample new file mode 100644 index 00000000..b6acecb4 --- /dev/null +++ b/apps/yesplaymusic/latest/.env.sample @@ -0,0 +1,3 @@ +CONTAINER_NAME="yesplaymusic" +PANEL_APP_PORT_HTTP="40075" + diff --git a/apps/yesplaymusic/latest/data.yml b/apps/yesplaymusic/latest/data.yml new file mode 100644 index 00000000..cee5de47 --- /dev/null +++ b/apps/yesplaymusic/latest/data.yml @@ -0,0 +1,10 @@ +additionalProperties: + formFields: + - default: 40075 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number diff --git a/apps/yesplaymusic/latest/docker-compose.yml b/apps/yesplaymusic/latest/docker-compose.yml new file mode 100644 index 00000000..87ddef63 --- /dev/null +++ b/apps/yesplaymusic/latest/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + yesplaymusic: + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:80" + image: fogforest/yesplaymusic:latest + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/apps/yesplaymusic/logo.png b/apps/yesplaymusic/logo.png new file mode 100644 index 00000000..3313cb37 Binary files /dev/null and b/apps/yesplaymusic/logo.png differ