rsshub
Version:
Make RSS Great Again!
43 lines (42 loc) • 1.71 kB
JavaScript
import { t as rofetch } from "./ofetch-W1aeTHCo.mjs";
import { t as parseDate } from "./parse-date-CjhZE69i.mjs";
import { t as cache_default } from "./cache-CiDoUSLo.mjs";
//#region lib/routes/missevan/latest-drama.ts
const route = {
path: "/drama/latest",
categories: ["multimedia"],
example: "/missevan/drama/latest",
name: "最新广播剧",
maintainers: ["nczitzk"],
handler
};
async function handler() {
const response = await rofetch("https://www.missevan.com/dramaapi/filter?filters=0_0_0_0_0&page=1&order=1&page_size=20");
return {
title: "猫耳FM - 最新广播剧",
link: "https://www.missevan.com/mdrama",
item: (await Promise.all(response.info.Datas.map((item) => cache_default.tryGet(`missevan:drama:${item.id}:${item.newest}`, async () => {
const dramaResponse = await rofetch(`https://www.missevan.com/dramaapi/getdrama?drama_id=${item.id}`);
try {
const soundId = dramaResponse.info.episodes.episode[0].sound_id;
const soundData = (await rofetch(`https://www.missevan.com/sound/getsound?soundid=${soundId}`)).info.sound;
return {
title: item.name + (item.integrity === 3 ? "(已完结)" : "(更新至 " + item.newest + ")"),
enclosure_url: soundData.soundurl,
itunes_duration: Math.trunc(soundData.duration / 1e3),
enclosure_type: "audio/mpeg",
image: item.cover,
itunes_author: soundData.username,
itunes_category: "",
link: `https://www.missevan.com/sound/player?id=${soundId}`,
description: `<img src=${item.cover}><br>${soundData.intro}`,
pubDate: parseDate(soundData.last_update_time * 1e3)
};
} catch {
return "";
}
})))).filter(Boolean)
};
}
//#endregion
export { route };