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}