diff --git a/docs/README.md b/docs/README.md
index c341526a4..163f19fd6 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -384,6 +384,8 @@ RSSHub 提供下列 API 接口:
+
+
### 简书
diff --git a/router.js b/router.js
index 767e0cb8c..fff220d71 100644
--- a/router.js
+++ b/router.js
@@ -460,6 +460,7 @@ router.get('/bugly/changelog/:platform', require('./routes/tencent/bugly/changel
// wechat
router.get('/wechat/wasi/:id', require('./routes/tencent/wechat/wasi'));
router.get('/wechat/announce', require('./routes/tencent/wechat/announce'));
+router.get('/wechat/miniprogram/plugins', require('./routes/tencent/wechat/miniprogram/plugins'));
// All the Flight Deals
router.get('/atfd/:locations/:nearby?', require('./routes/atfd/index'));
diff --git a/routes/tencent/wechat/miniprogram/plugins.js b/routes/tencent/wechat/miniprogram/plugins.js
new file mode 100644
index 000000000..f9fc98502
--- /dev/null
+++ b/routes/tencent/wechat/miniprogram/plugins.js
@@ -0,0 +1,59 @@
+const axios = require('../../../../utils/axios');
+const cheerio = require('cheerio');
+
+module.exports = async (ctx) => {
+ const link = 'https://developers.weixin.qq.com/community/plugins';
+ const response = await axios({
+ method: 'post',
+ url: `https://developers.weixin.qq.com/community/ngi/plugins/cases?random=${Math.random()}`,
+ headers: {
+ Referer: link,
+ },
+ });
+
+ const { pluginCases } = response.data.data;
+ const resultItem = await Promise.all(
+ pluginCases.map(async (plugin) => {
+ const item = {
+ title: plugin.title,
+ description: '',
+ link: `https://developers.weixin.qq.com/community/develop/doc/${plugin.docid}`,
+ author: plugin.nickname,
+ pubDate: new Date(plugin.createTime * 1000).toUTCString(),
+ };
+ const url = `https://developers.weixin.qq.com/community/ngi/doc/detail/${plugin.docid}`;
+ const key = `miniprogram-plugin: ${url}`;
+ const value = await ctx.cache.get(key);
+
+ if (value) {
+ item.description = value;
+ } else {
+ const pluginDetail = await axios({
+ method: 'get',
+ url: `${url}?random=${Math.random()}`,
+ headers: {
+ Referer: link,
+ },
+ });
+ const id = 'x-rsshub';
+ const $ = cheerio.load(`
${pluginDetail.data.data.Content}
`);
+ $('img').each((index, item) => {
+ item = $(item);
+ item.attr('src', item.attr('data-src'));
+ item.attr('referrerpolicy', 'no-referrer');
+ });
+
+ item.description = $(`#${id}`).html();
+ ctx.cache.set(key, item.description, 24 * 60 * 60);
+ }
+
+ return Promise.resolve(item);
+ })
+ );
+
+ ctx.state.data = {
+ title: '微信小程序插件',
+ link,
+ item: resultItem,
+ };
+};