UNPKG

rsshub

Version:
41 lines (36 loc) 1.17 kB
import { Route } from '@/types'; import cache from '@/utils/cache'; import got from '@/utils/got'; import getRssItem from './utils'; const rootApiUrl = 'https://www.lifeweek.com.cn/api/userWebFollow/getFollowTagContentList?type=3&sort=2&tagId'; const rootUrl = 'https://www.lifeweek.com.cn/column'; const articleRootUrl = 'https://www.lifeweek.com.cn/article'; export const route: Route = { path: '/channel/:id', radar: [ { source: ['lifeweek.com.cn/column/:channel'], target: '/channel/:channel', }, ], name: 'Unknown', maintainers: [], handler, }; async function handler(ctx) { const channel = ctx.req.param('id'); const url = `${rootApiUrl}=${channel}`; const { data } = await got(url); const result = data.model.articleResponseList; const items = await Promise.all( result.map((item) => { const articleLink = `${articleRootUrl}/${item.id}`; return cache.tryGet(articleLink, () => getRssItem(item, articleLink)); }) ); return { title: data.model.tagName, link: `${rootUrl}/${channel}`, item: items, }; }