const got = require('@/utils/got'); const { parseDate } = require('@/utils/parse-date'); const utils = require('./utils'); module.exports = async (ctx) => { const disableEmbed = ctx.params.disableEmbed; const response = await got({ method: 'get', url: 'https://www.bilibili.com/video/online.html', }); const onlineList = JSON.parse(response.data.match(/window\.__INITIAL_STATE__=([\s\S]+);\(function\(\)/)[1]).onlineList || []; ctx.state.data = { title: '哔哩哔哩 - 当前在线', link: 'https://www.bilibili.com/video/online.html', item: onlineList.map((item) => ({ title: item.title, description: `${item.desc || item.title}${!disableEmbed ? `

${utils.iframe(item.aid, null, item.bvid)}` : ''}
`, pubDate: parseDate(item.pubdate * 1000), author: item.owner.name, link: `https://www.bilibili.com/video/${item.bvid}`, })), }; };