diff --git a/docs/shopping.md b/docs/shopping.md index bba122f81..2f53cc96f 100644 --- a/docs/shopping.md +++ b/docs/shopping.md @@ -152,6 +152,12 @@ pageClass: routes +## 微店 + +### 商品上新 + + + ## 小米 ### 小米众筹 diff --git a/lib/router.js b/lib/router.js index 3bfcdbddf..f5fd037fc 100644 --- a/lib/router.js +++ b/lib/router.js @@ -1651,6 +1651,9 @@ router.get('/wechat-open/community/xyx-announce', require('./routes/wechat-open/ router.get('/wechat-open/community/pay-announce', require('./routes/wechat-open/community/pay-announce')); router.get('/wechat-open/pay/announce', require('./routes/wechat-open/pay/announce')); +// 微店 +router.get('/weidian/goods/:id', require('./routes/weidian/goods')); + // 有赞 router.get('/youzan/goods/:id', require('./routes/youzan/goods')); diff --git a/lib/routes/weidian/goods.js b/lib/routes/weidian/goods.js new file mode 100644 index 000000000..7cb501969 --- /dev/null +++ b/lib/routes/weidian/goods.js @@ -0,0 +1,32 @@ +const got = require('@/utils/got'); + +module.exports = async (ctx) => { + const id = String(ctx.params.id); + + const link = `https://weidian.com/?userid=${id}`; + const api_link = `https://thor.weidian.com/ares/shop.getItemsInShop/1.0?param={"shopId":"${id}","tabId":3,"sortOrder":"desc","limit":20,"page":1}`; + + const response = await got({ + method: 'get', + url: api_link, + headers: { + Referer: link, + }, + }); + const goods = response.data.result.shopItems.items; + + const out = goods.map((good) => { + const item = { + title: good.itemName, + description: `价格:${parseInt(good.itemPrice) / 100}
`, + link: `https://weidian.com/item.html?itemID=${good.itemId}`, + }; + return item; + }); + + ctx.state.data = { + title: `${id} 商铺上新`, + link: link, + item: out, + }; +};