Spotify新专辑提醒:基于cli3/cli的Release Radar增强
你是否经常错过关注艺人的最新专辑发布?Spotify自带的Release Radar推送不够及时?本文将介绍如何通过cli3/cli项目中的New Releases自定义应用(Custom App),打造专属于你的音乐发布提醒系统,不错过任何喜爱艺人的新作品。
读完本文后,你将能够:
- 安装并配置New Releases应用
- 自定义专辑提醒的时间范围和内容类型
- 管理已查看的专辑信息
- 个性化提醒界面显示效果
什么是New Releases应用
New Releases是cli3/cli项目中的一个自定义应用(Custom App),位于CustomApps/new-releases/目录下。该应用能够帮助Spotify用户集中查看关注艺人的最新发布内容,提供比官方Release Radar更灵活的提醒方式和更丰富的筛选功能。
应用主要功能包括:
- 按时间顺序展示新发布的专辑、单曲和EP
- 支持自定义时间范围(30/60/90/120天)
- 可筛选内容类型(专辑、单曲、EP、播客等)
- 提供日期本地化显示和相对时间格式
- 支持标记已查看项目,避免重复提醒
安装与基础配置
前提条件
确保你已安装cli3/cli工具并成功应用到Spotify客户端。如果尚未安装,可以通过以下命令获取项目:
git clone https://gitcode.com/gh_mirrors/cli3/cli
应用结构
New Releases应用的核心文件结构如下:
CustomApps/new-releases/
├── [index.js](https://link.gitcode.com/i/6b9dac965187150884c86c1433640dca) # 应用入口文件
├── [manifest.json](https://link.gitcode.com/i/a0384a2b44e1d13f492420dd395e875e) # 应用元数据
├── [Card.js](https://link.gitcode.com/i/0d4056f0e395fcd7add65b3dba3c0f7f) # 专辑卡片组件
├── [Settings.js](https://link.gitcode.com/i/0cfe0d86b8f0340e97049d8d49ed1dea) # 设置界面组件
├── [Icons.js](https://link.gitcode.com/i/b1bbdeda77361c69cefa6d65bae9e9dc) # 图标资源
└── [style.css](https://link.gitcode.com/i/5e95abdd3a7543f1ebe6b033d074cfdc) # 样式文件
自动安装
cli3/cli工具会自动识别CustomApps目录下的应用,通常无需额外配置即可在Spotify客户端中使用。
核心功能解析
数据获取机制
应用通过Spotify API获取你关注艺人的最新发布内容。核心逻辑在index.js中实现,主要通过以下步骤:
- 获取用户关注的艺人列表
- 遍历每位艺人的最新发布内容
- 根据设定的时间范围筛选内容
- 按发布日期排序并展示
关键代码实现:
async function fetchTracks() {
const artistList = await getArtistList();
Spicetify.showNotification(`Fetching releases from ${artistList.length} artists`);
const requests = artistList.map(async (obj) => {
return await getArtistEverything(obj).catch((err) => {
console.debug("Could not fetch all releases", err);
console.debug(`Missing releases from ${count()} artists`);
});
});
return await Promise.all(requests);
}
自定义设置界面
应用提供了丰富的个性化设置选项,通过Settings.js实现。你可以:
- 调整时间范围(30/60/90/120天)
- 选择内容类型(专辑、单曲、EP、播客等)
- 设置日期显示格式(本地化/相对时间)
- 自定义界面显示选项
设置界面的核心组件代码:
{
desc: "Time range",
key: "range",
defaultValue: CONFIG.range,
type: ConfigSelection,
options: {
30: "30 days",
60: "60 days",
90: "90 days",
120: "120 days",
},
when: () => true,
}
界面展示
应用采用网格布局展示新发布内容,每个专辑/单曲以卡片形式呈现,包含封面、标题、艺人和发布日期等信息。卡片组件在Card.js中定义,样式由style.css控制。
已查看项目管理
应用支持标记已查看的发布内容,避免重复提醒。通过本地存储(LocalStorage)记录已 Dismiss 的项目ID:
function removeCards(id, type) {
switch (type) {
case "reset":
Spicetify.showNotification("Reset dismissed releases");
dismissed = [];
break;
case "undo":
if (!dismissed[0]) Spicetify.showNotification("Nothing to undo", true);
else Spicetify.showNotification("Undone dismissal");
dismissed = id ? dismissed.filter((item) => item !== id) : dismissed.slice(0, -1);
break;
default:
dismissed.push(id);
break;
}
Spicetify.LocalStorage.set("new-releases:dismissed", JSON.stringify(dismissed));
this.updatePostsVisual();
}
高级配置
配置选项详解
New Releases应用提供了多种可配置选项,位于Settings.js中,主要包括:
| 设置项 | 说明 | 默认值 |
|---|---|---|
| Time range | 显示最近多少天的发布内容 | 30天 |
| Date locale | 日期显示的本地化设置 | 浏览器默认 |
| Relative date | 是否使用相对时间格式(如"3天前") | false |
| Show type | 是否显示内容类型(专辑/单曲等) | true |
| Show track count | 是否显示曲目数量 | true |
| Fetch new podcast | 是否包含播客内容 | false |
| Fetch new music | 是否包含音乐内容 | true |
界面自定义
通过修改style.css文件,你可以自定义应用的外观。例如调整专辑卡片大小、修改颜色主题等。
内容筛选
在设置界面中,你可以精确控制想要接收提醒的内容类型:
- 专辑(Album)
- 单曲/EP(Single/EP)
- 合辑(Compilations)
- 播客(Podcast)
这些选项可以在Settings.js的配置面板中找到并设置。
使用技巧与最佳实践
推荐配置方案
对于大多数用户,我们推荐以下配置:
- 时间范围:60天(平衡时效性和完整性)
- 内容类型:勾选"专辑"和"单曲/EP"
- 显示选项:全部勾选,获得完整信息
- 日期格式:相对日期(更直观)
管理已查看内容
当你查看完某个新发布内容后,可以点击卡片上的"已查看"按钮将其从列表中移除。如果误操作,可以使用"撤销"功能恢复。若想重新查看所有内容,可在设置中使用"重置已查看"功能。
定期更新应用
cli3/cli项目和New Releases应用会不断更新,建议定期通过以下命令获取最新版本:
git pull origin main
故障排除
应用无法加载
如果New Releases应用无法正常加载,请检查以下几点:
- 确认cli3/cli已正确安装并应用到Spotify
- 检查CustomApps/new-releases/目录是否完整
- 查看Spotify开发者工具(Ctrl+Shift+I)中的控制台错误信息
内容不更新
若发现应用未显示最新发布内容:
- 点击应用界面的"刷新"按钮手动更新
- 检查设置中的时间范围是否设置得过短
- 确认你已关注相关艺人
语言显示问题
New Releases应用支持多语言显示,语言配置在manifest.json中定义。如果显示语言不正确,可以在设置中手动指定语言代码(如"zh-CN"表示简体中文)。
总结
New Releases应用为Spotify用户提供了一个强大而灵活的新内容提醒系统,帮助你及时发现关注艺人的最新作品。通过本文介绍的配置和使用方法,你可以打造专属于自己的音乐发现中心,不再错过任何喜爱的新音乐。
该应用的源代码完全开放,位于CustomApps/new-releases/目录下,欢迎开发者贡献代码或创建自定义版本。
最后,希望这篇指南能帮助你更好地享受音乐发现的乐趣!如有任何问题或建议,欢迎参与cli3/cli项目的社区讨论。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



