diff --git a/docs/en/social-media.md b/docs/en/social-media.md
index 0cc34b4d0d..0b286fbbe7 100644
--- a/docs/en/social-media.md
+++ b/docs/en/social-media.md
@@ -44,6 +44,10 @@ pageClass: routes
+### Keyword
+
+
+
## Telegram
### Channel
diff --git a/docs/social-media.md b/docs/social-media.md
index 9f63d3f233..4eebb2df88 100644
--- a/docs/social-media.md
+++ b/docs/social-media.md
@@ -322,7 +322,7 @@ Tiny Tiny RSS 会给所有 iframe 元素添加 `sandbox="allow-scripts"` 属性
### 关键词
-
+
### 关注的新作品
diff --git a/lib/router.js b/lib/router.js
index 82c4d4e3b8..b03de77b90 100644
--- a/lib/router.js
+++ b/lib/router.js
@@ -142,7 +142,7 @@ router.get('/pixiv/user/bookmarks/:id', require('./routes/pixiv/bookmarks'));
router.get('/pixiv/user/illustfollows', require('./routes/pixiv/illustfollow'));
router.get('/pixiv/user/:id/', require('./routes/pixiv/user'));
router.get('/pixiv/ranking/:mode/:date?', require('./routes/pixiv/ranking'));
-router.get('/pixiv/search/:keyword/:order?', require('./routes/pixiv/search'));
+router.get('/pixiv/search/:keyword/:order?/:r18?', require('./routes/pixiv/search'));
// 豆瓣
router.get('/douban/movie/playing', require('./routes/douban/playing'));
diff --git a/lib/routes/pixiv/search.js b/lib/routes/pixiv/search.js
index cae89c7548..57a539a790 100644
--- a/lib/routes/pixiv/search.js
+++ b/lib/routes/pixiv/search.js
@@ -10,6 +10,7 @@ module.exports = async (ctx) => {
const keyword = ctx.params.keyword;
const order = ctx.params.order || 'date';
+ const r18 = ctx.params.r18;
if (!getToken()) {
throw 'pixiv not login';
@@ -22,7 +23,12 @@ module.exports = async (ctx) => {
response = await searchIllust(keyword, getToken());
}
- const illusts = response.data.illusts;
+ let illusts = response.data.illusts;
+ if (r18 === '1') {
+ illusts = illusts.filter((item) => item.x_restrict === 0);
+ } else if (r18 === '2') {
+ illusts = illusts.filter((item) => item.x_restrict === 1);
+ }
ctx.state.data = {
title: `${keyword} 的 pixiv ${order === 'popular' ? '热门' : ''}内容`,
@@ -44,5 +50,6 @@ module.exports = async (ctx) => {
link: `https://www.pixiv.net/member_illust.php?mode=medium&illust_id=${illust.id}`,
};
}),
+ allowEmpty: true,
};
};