diff --git a/docs/shopping.md b/docs/shopping.md index 964c25e73e..36144aeebf 100644 --- a/docs/shopping.md +++ b/docs/shopping.md @@ -10,6 +10,14 @@ pageClass: routes +## 大麦网 + +### 票务更新 + + + +城市、分类名、子分类名, 请参见[大麦网搜索页面](https://search.damai.cn/search.htm) + ## 多抓鱼 ### 搜索结果 diff --git a/lib/router.js b/lib/router.js index f2d18264b7..754aa253b7 100644 --- a/lib/router.js +++ b/lib/router.js @@ -1807,4 +1807,7 @@ router.get('/kzfeed/topic/:id', require('./routes/kzfeed/topic')); // 腾讯新闻较真查证平台 router.get('/factcheck', require('./routes/tencent/factcheck')); +// 大麦网 +router.get('/damai/activity/:city/:category/:subcategory/:keyword?', require('./routes/damai/activity')); + module.exports = router; diff --git a/lib/routes/damai/activity.js b/lib/routes/damai/activity.js new file mode 100644 index 0000000000..f20245c46f --- /dev/null +++ b/lib/routes/damai/activity.js @@ -0,0 +1,28 @@ +const got = require('@/utils/got'); + +module.exports = async (ctx) => { + const city = ctx.params.city === '全部' ? '' : ctx.params.city; + const category = ctx.params.category === '全部' ? '' : ctx.params.category; + const subcategory = ctx.params.subcategory === '全部' ? '' : ctx.params.subcategory; + const keyword = ctx.params.keyword ? ctx.params.keyword : ''; + + const url = `https://search.damai.cn/searchajax.html?keyword=${encodeURIComponent(keyword)}&cty=${encodeURIComponent(city)}&ctl=${encodeURIComponent(category)}&sctl=${encodeURIComponent( + subcategory + )}&tsg=0&st=&et=&order=3&pageSize=30&currPage=1&tn=`; + + const response = await got.get(url); + const data = response.data; + const list = data.pageData.resultData; + + ctx.state.data = { + title: `大麦网票务 - ${city ? city : '全国'} - ${category ? category : '全部分类'}${subcategory ? ' - ' + subcategory : ''}${keyword ? ' - ' + keyword : ''}`, + link: 'https://search.damai.cn/search.htm', + item: list.map((item) => ({ + title: item.nameNoHtml, + author: item.actors ? item.actors.replace(/<[^<>]*>/, '') : '大麦网', + description: `

${item.description}

地点:${item.venuecity} | ${item.venue}

时间:${item.showtime}

票价:${item.price_str}

`, + pubDate: new Date(), + link: `https://detail.damai.cn/item.htm?id=${item.projectid}`, + })), + }; +};