rsshub
Version:
Make RSS Great Again!
71 lines (68 loc) • 2.33 kB
JavaScript
import { t as rofetch } from "./ofetch-C3ts-Hud.mjs";
import { t as parseDate } from "./parse-date-Cr0wQjV_.mjs";
//#region lib/routes/nio/nioradio.ts
const route = {
path: "/nioradio/:albumid",
categories: ["multimedia"],
description: `::: tip
**如何获取电台 ID?**
打开蔚来 APP 后,点击 “此地”→“NIO Radio”,找到自己想要转换为播客的专辑,分享后在生成的链接中找到\`container_id=\`后方的数字即可。
常见电台 ID:
| 电台名称 | 电台 ID |
| :------------------- | :------ |
| 资讯充电站(早间版) | 5 |
| 资讯充电站(晚间版) | 23 |
| E 次元财经报 | 148 |
| 塞萌不塞车 | 661 |
| 乐行记 | 11 |
| Weekend Dance | 547 |
:::`,
example: "/nio/nioradio/5",
parameters: { albumid: "电台专辑 ID" },
features: {
requireConfig: false,
requirePuppeteer: false,
antiCrawler: false,
supportBT: false,
supportPodcast: true,
supportScihub: false
},
name: "NIO Radio",
maintainers: ["marcosteam"],
handler: async (ctx) => {
const { albumid } = ctx.req.param();
const podcasts = (await rofetch("https://gateway-front-external.nio.com/moat/100914/v2/audio/list", {
method: "POST",
body: new URLSearchParams({
albumId: albumid,
sorttype: "2",
pagenum: "1",
pagesize: "10"
}).toString(),
headers: { "Content-Type": "application/x-www-form-urlencoded" }
})).result.dataList;
const podcastName = podcasts[0].albumName;
const podcastImage = podcasts[0].albumPic;
const items = podcasts.map((podcast) => ({
title: podcast.audioName,
link: `https://app.nio.com/app/radio/share/?item_type=1&item_id=${String(podcast.audioId).slice(1)}&container_id=${albumid}`,
pubDate: parseDate(podcast.onlineTime),
description: podcast.albumDesc,
author: podcast.host.join(", "),
itunes_item_image: podcast.albumPic,
itunes_duration: podcast.duration / 1e3,
enclosure_url: podcast.aacPlayUrl192,
enclosure_length: podcast.aacFileSize192,
enclosure_type: "audio/x-m4a"
}));
return {
title: `NIO Radio - ${podcastName}`,
link: "https://www.nio.com",
itunes_author: podcasts[0].host.join(", "),
image: podcastImage,
item: items
};
}
};
//#endregion
export { route };