UNPKG

rsshub

Version:
99 lines (97 loc) 3.27 kB
import "./esm-shims-CzJ_djXG.mjs"; import "./config-C37vj7VH.mjs"; import "./dist-BInvbO1W.mjs"; import "./logger-Czu8UMNd.mjs"; import "./ofetch-BIyrKU3Y.mjs"; import { t as parseDate } from "./parse-date-BrP7mxXf.mjs"; import "./helpers-DxBp0Pty.mjs"; import { t as got_default } from "./got-KxxWdaxq.mjs"; //#region lib/routes/sspai/activity.ts const route = { path: "/activity/:slug", categories: ["new-media"], example: "/sspai/activity/urfp0d9i", parameters: { slug: "作者 slug,可在作者主页URL中找到" }, features: { requireConfig: false, requirePuppeteer: false, antiCrawler: true, supportBT: false, supportPodcast: false, supportScihub: false }, radar: [{ source: ["sspai.com/u/:id/updates"], target: "/activity/:id" }], name: "作者动态", maintainers: ["umm233"], handler }; async function handler(ctx) { const slug = ctx.req.param("slug"); const link = `https://sspai.com/u/${slug}/updates`; const response = await got_default({ method: "get", url: `https://sspai.com/api/v1/information/user/activity/page/get?limit=10&offset=0&slug=${slug}`, headers: { Referer: link } }); const user_nickname = (await got_default({ method: "get", url: `https://sspai.com/api/v1/user/slug/info/get?slug=${slug}`, headers: { Referer: link } })).data.data.nickname; const data = response.data.data; let item_title = ""; let item_desc = ""; let item_url = ""; return { title: `少数派用户「${user_nickname}」动态更新`, link, description: `少数派用户「${user_nickname}」的动态更新`, item: data.map((item) => { const content_data = item.data; const nicknames = []; const slugs = []; switch (item.key) { case "follow_user": for (const i in content_data) { nicknames[i] = content_data[i].nickname; slugs[i] = `<a href=https://sspai.com/u/${content_data[i].slug}/updates>${content_data[i].nickname}</a>`; } item_title = `${item.author.nickname}${item.action}${nicknames.join("、")}`; item_desc = `${item.author.nickname}${item.action}${slugs.join("、")}`; item_url = `https://sspai.com/u/${slug}/follow`; break; case "like_article": item_title = `${item.author.nickname}${item.action}${content_data.title}`; item_desc = `文章简介:<br>${content_data.summary}`; item_url = `https://sspai.com/post/${content_data.id}`; break; case "comment_article": item_title = `${item.author.nickname}${item.action}${content_data.article_title}`; item_desc = content_data.comment; item_url = `https://sspai.com/post/${content_data.article_id}`; break; case "release_article": item_title = `${item.author.nickname}${item.action}${content_data.title}`; item_desc = content_data.summary; item_url = `https://sspai.com/post/${content_data.id}`; break; case "chosen_comment": item_title = `${item.author.nickname}在文章「${content_data.article_title}」下的${item.action}`; item_desc = content_data.comment; item_url = content_data.comment; break; } return { title: item_title, description: item_desc, link: item_url, pubDate: parseDate(item.created_at * 1e3) }; }) }; } //#endregion export { route };