From 15b41aee315cf02b6fe429bb44082adbc0f59e44 Mon Sep 17 00:00:00 2001 From: nightmare-mio <52735303+nightmare-mio@users.noreply.github.com> Date: Sat, 25 Nov 2023 22:08:00 +0800 Subject: [PATCH] =?UTF-8?q?feat(route):=20=E6=B7=BB=E5=8A=A0bilibili?= =?UTF-8?q?=E4=BC=9A=E5=91=98=E8=B4=AD=E7=A5=A8=E5=8A=A1=E8=B7=AF=E7=94=B1?= =?UTF-8?q?(#13618)=20(#13880)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add router 关于bilibili票务 * bilibili票务基础模板 * add bilibili会员购票务 maintainer * add cookie * doc文档,radar * add 补充内容 * 修改doc条目顺序,优化代码 * fix:修复doc文旦错误,移除作者备注 * fix: delete radar.js中的多余文字 * fix: 修复错误 --- lib/v2/bilibili/maintainer.js | 1 + lib/v2/bilibili/platform.js | 43 ++++++++++++++++++++++++++++ lib/v2/bilibili/radar.js | 8 ++++++ lib/v2/bilibili/router.js | 1 + website/docs/routes/social-media.mdx | 10 +++++++ 5 files changed, 63 insertions(+) create mode 100644 lib/v2/bilibili/platform.js diff --git a/lib/v2/bilibili/maintainer.js b/lib/v2/bilibili/maintainer.js index 4100e9d807..d9bf20523e 100644 --- a/lib/v2/bilibili/maintainer.js +++ b/lib/v2/bilibili/maintainer.js @@ -21,6 +21,7 @@ module.exports = { '/online/:disableEmbed?': ['TigerCubDen'], '/partion/:tid/:disableEmbed?': ['DIYgod'], '/partion/ranking/:tid/:days?/:disableEmbed?': ['lengthmin'], + '/platform/:area?/:p_type?/:uid?': ['nightmare-mio'], '/popular/all': ['ziminliu'], '/ranking/:rid?/:day?/:arc_type?/:disableEmbed?': ['DIYgod'], '/readlist/:listid': ['hoilc'], diff --git a/lib/v2/bilibili/platform.js b/lib/v2/bilibili/platform.js new file mode 100644 index 0000000000..c62e6836c0 --- /dev/null +++ b/lib/v2/bilibili/platform.js @@ -0,0 +1,43 @@ +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, + }; +}; diff --git a/lib/v2/bilibili/radar.js b/lib/v2/bilibili/radar.js index e5476880fe..f75d6714df 100644 --- a/lib/v2/bilibili/radar.js +++ b/lib/v2/bilibili/radar.js @@ -143,5 +143,13 @@ module.exports = { target: '/bilibili/live/room/:roomID', }, ], + show: [ + { + title: '会员购票务', + docs: 'https://docs.rsshub.app/routes/social-media#bilibili-hui-yuan-gou-zuo-pin', + source: '/platform', + target: '/bilibili/platform/:area?/:p_type?/:uid?', + }, + ], }, }; diff --git a/lib/v2/bilibili/router.js b/lib/v2/bilibili/router.js index 2e27b72b60..c2b2513b37 100644 --- a/lib/v2/bilibili/router.js +++ b/lib/v2/bilibili/router.js @@ -21,6 +21,7 @@ module.exports = (router) => { router.get('/online/:disableEmbed?', require('./online')); router.get('/partion/:tid/:disableEmbed?', require('./partion')); router.get('/partion/ranking/:tid/:days?/:disableEmbed?', require('./partion-ranking')); + router.get('/platform/:area?/:p_type?/:uid?', require('./platform')); router.get('/popular/all', require('./popular')); router.get('/ranking/:rid?/:day?/:arc_type?/:disableEmbed?', require('./ranking')); router.get('/readlist/:listid', require('./readlist')); diff --git a/website/docs/routes/social-media.mdx b/website/docs/routes/social-media.mdx index b06944e87c..a25e1ea1ad 100644 --- a/website/docs/routes/social-media.mdx +++ b/website/docs/routes/social-media.mdx @@ -341,6 +341,16 @@ UP 主关注用户现在需要 b 站登录后的 Cookie 值,所以只能自建 +### 会员购票务 {#bilibili-hui-yuan-gou-piao-wu} + + + +| 类型 | +| ---- | +| 演出 | +| 展览 | +| 本地生活 | + ### 综合热门 {#bilibili-zong-he-re-men}