const got = require('@/utils/got'); const utils = require('./utils'); const { parseDate } = require('@/utils/parse-date'); // 参考:https://github.com/izzyleung/ZhihuDailyPurify/wiki/%E7%9F%A5%E4%B9%8E%E6%97%A5%E6%8A%A5-API-%E5%88%86%E6%9E%90 // 文章给出了v7版 api的信息,包含全文api module.exports = async (ctx) => { const { sectionId } = ctx.params; const listRes = await got({ method: 'get', url: `https://news-at.zhihu.com/api/7/section/${sectionId}`, headers: { ...utils.header, Referer: `https://news-at.zhihu.com/api/7/section/${sectionId}`, }, }); // 根据api的说明,过滤掉极个别站外链接 const storyList = listRes.data.stories.filter((el) => el.url.startsWith('https://daily.zhihu.com/')); const resultItem = await Promise.all( storyList.map((story) => { const url = 'https://news-at.zhihu.com/api/7/news/' + story.id; const item = { title: story.title, pubDate: parseDate(story.date, 'YYYYMMDD'), description: '', link: 'https://daily.zhihu.com/story/' + story.id, }; return ctx.cache.tryGet(`https://daily.zhihu.com/story/${story.id}`, async () => { const storyDetail = await got({ method: 'get', url, headers: { Referer: url, }, }); item.description = utils.ProcessImage(storyDetail.data.body.replace(/