netease-recent-profile icon indicating copy to clipboard operation
netease-recent-profile copied to clipboard

🎧 在 Github Profile 上显示你在网易云音乐上的听歌记录

Netease Recent Profile

🎧 将你的网易云音乐听歌记录生成一张可配置卡片,由 Vercel 驱动

🖥 前置工作

获取网易云音乐用户 ID (https://music.163.com)

  • 您的个人主页页面(https://music.163.com/#/user/home?id=xxx),id 为紧跟的那串数字

user_id

注意:要在网易云音乐个人设置-隐私设置中将听歌排行设为所有人可见

🔨 使用

获取账号 id 后,只需在你的 README 中添加以下内容,并将id查询参数设置为你的网易云音乐账号 id

目前支持两种主题样式,分别是:list(默认)card;由于 Vercel 的限制,所有图片返回过大会报错,所以后面的示例图片的 sizelist 类型为 60,card 类型为 300,保证可以访问

如果你想将卡片嵌在你的网页中,也可以这样使用:

<img src="https://netease-recent-profile.vercel.app/?id=126764012&size=60" alt="Netease recently played" title="Netease recently played">

两种主题详细的自定义配置如下。

⚙ 主题为 list 自定义配置

听歌排行类型

请传递查询参数type,并将其设置为你想要的听歌排行类型

  • 近一周的听歌排行:默认 type 为 1
  • 所有时间的听歌排行:设为 0
[![Netease recently played](https://netease-recent-profile.vercel.app/?id=126764012&type=0&size=60)](https://netease-recent-profile.vercel.app/?id=126764012&type=0&size=60)

Netease recently played

是否显示听歌次数对比百分比

请传递查询参数 show_percent

  • 默认为 0:即默认不开启此特性
  • 传入 1:即表示开启此特性
[![Netease recently played](https://netease-recent-profile.vercel.app/?id=126764012&show_percent=1&size=60)](https://netease-recent-profile.vercel.app/?id=126764012&show_percent=1&size=60)

Netease recently played

模式

请传递查询参数 mode

  • 默认为 dark:即暗夜模式
  • 传入 light:即浅色模式
[![Netease recently played](https://netease-recent-profile.vercel.app/?id=126764012&mode=light&size=60)](https://netease-recent-profile.vercel.app/?id=126764012&mode=light&size=60)

Netease recently played

歌曲数量

请传递查询参数number,并将其设置为你想要的歌曲数量

  • 默认为 5
[![Netease recently played](https://netease-recent-profile.vercel.app/?id=126764012&number=3&size=60)](https://netease-recent-profile.vercel.app/?id=126764012&number=3&size=60)

Netease recently played

标题

请传递查询参数title,并将其设置为你想要的标题

  • 默认标题为 Recently Played
[![Netease recently played](https://netease-recent-profile.vercel.app/?id=126764012&title=最近在听&size=60)](https://netease-recent-profile.vercel.app/?id=126764012&title=最近在听&size=60)

Netease recently played

卡片单列宽度

请传递查询参数width,并将其设置为你想要的卡片单列宽度

  • 默认宽度为 280
[![Netease recently played](https://netease-recent-profile.vercel.app/?id=126764012&width=350&size=60)](https://netease-recent-profile.vercel.app/?id=126764012&width=350&size=60)

Netease recently played

列数

请传递查询参数column,并将其设置为你想要的列数

  • 默认列数为 1
[![Netease recently played](https://netease-recent-profile.vercel.app/?id=126764012&number=8&column=2&size=60)](https://netease-recent-profile.vercel.app/?id=126764012&number=8&column=2&size=60)

Netease recently played

歌曲图片大小

请传递查询参数size,并将其设置为你想要的图片大小

  • 默认图片大小为 800,尺寸越小,优点是 svg 尺寸较小、请求返回的时间变短,缺点是图片会失真变模糊
[![Netease recently played](https://netease-recent-profile.vercel.app/?id=126764012&size=60)](https://netease-recent-profile.vercel.app/?id=126764012&size=60)

Netease recently played

设置缓存时间

请传递查询参数 cache

  • 默认为 14400 (即 4 小时),单位为秒

注意: 这里使用缓存来减少服务器的负载及响应时间,其中缓存的最小值为 4 小时,最大值为 24 小时。

[![Netease recently played](https://netease-recent-profile.vercel.app/?id=126764012&cache=28800&size=60)](https://netease-recent-profile.vercel.app/?id=126764012&cache=28800&size=60)

⚙ 主题为 card 自定义配置

灵感来自于 spotify-github-profile

标题

请传递查询参数 title,并将其设置为你想要的标题

  • 默认标题为 Recently played on
[![Netease recently played](https://netease-recent-profile.vercel.app/?id=126764012&theme=card&title=最近最常听&size=300)](https://netease-recent-profile.vercel.app/?id=126764012&theme=card&title=最近最常听&size=300)

Netease recently played

是否为彩虹 Bar

请传递查询参数 show_rainbow

  • 默认为 0:即默认不开启此特性
  • 传入 1:即表示开启此特性
[![Netease recently played](https://netease-recent-profile.vercel.app/?id=126764012&theme=card&show_rainbow=1&size=300)](https://netease-recent-profile.vercel.app/?id=126764012&theme=card&show_rainbow=1&size=300)

Netease recently played

是否显示跳动 Bar

请传递查询参数 show_bar

  • 默认为 1:即默认开启此特性
  • 传入 0:即表示不开启此特性
[![Netease recently played](https://netease-recent-profile.vercel.app/?id=126764012&theme=card&show_bar=0&size=300)](https://netease-recent-profile.vercel.app/?id=126764012&theme=card&show_bar=0&size=300)

Netease recently played

设置主色调

请传递查询参数 themeColor,默认为 53b14f

注意为十六进制 HEX 值

[![Netease recently played](https://netease-recent-profile.vercel.app/?id=126764012&theme=card&themeColor=e60026&size=300)](https://netease-recent-profile.vercel.app/?id=126764012&theme=card&themeColor=e60026&size=300)

Netease recently played

模式

和 list 模式一样,请传递查询参数 mode

  • 默认为 dark:即暗夜模式
  • 传入 light:即浅色模式
[![Netease recently played](https://netease-recent-profile.vercel.app/?id=126764012&theme=card&mode=light&size=300)](https://netease-recent-profile.vercel.app/?id=126764012&theme=card&mode=light&size=300)

Netease recently played

是否随机生成

请传递查询参数 show_random,在 number 范围内随机生成

  • 默认为 0:即默认不开启此特性
  • 传入 1:即表示开启此特性
[![Netease recently played](https://netease-recent-profile.vercel.app/?id=126764012&theme=card&show_random=1&size=300)](https://netease-recent-profile.vercel.app/?id=126764012&theme=card&show_random=1&size=300)

Netease recently played

🚀 部署

可以通过 Vercel 进行部署

Deploy with Vercel

或者部署到自己的服务器,具体方法如下:

git clone https://github.com/zonemeen/netease-recent-profile.git
cd netease-recent-profile
npm install
node ./app.js
# or
pm2 start ./app.js --name netease-recent-profile

默认端口为 3000,可以通过设置 PORT 环境变量进行修改。

📄 开源协议

本项目使用 MIT 协议