const got = require('@/utils/got'); const { parseDate } = require('@/utils/parse-date'); const config = require('@/config').value; module.exports = async (ctx) => { const { area = -1, type = '全部类型', uid } = ctx.params; const cookie = config.bilibili.cookies[uid]; const link = 'https://show.bilibili.com/api/ticket/project/listV2'; const headers = { Referer: 'https://space.bilibili.com', Cookie: cookie ? `SESSDATA=${cookie}` : undefined, }; const { data: response } = await got({ method: 'get', url: `${link}?version=134&page=1&pagesize=16&area=${area}&filter=&platform=web&p_type=${type}`, headers, }); // 列表 const list = response.data.result; const items = list.map((item) => { const bodyHtml = ``; const coordinate = `
活动地点: ${item.city} ${item.venue_name}
`; const liveTime = `
活动时间: ${item.tlabel}
`; const staff = `
参展览嘉宾: ${item.staff}
`; const countdown = `
结束日期: ${item.countdown}
`; const price = `
最低价: ${item.price_low / 100} ; 最高价: ${item.price_high / 100}
`; return { title: item.project_name, link: item.url, description: bodyHtml + coordinate + liveTime + staff + countdown + price, pubDate: parseDate(item.sale_start_time * 1000), }; }); ctx.state.data = { title: `bilibili会员购票务-${area}`, link, item: items, }; };