feat: 增加豆瓣电影分类rss (#4017)
This commit is contained in:
parent
9af6bff577
commit
8a82c5e69a
|
|
@ -510,6 +510,16 @@ Tiny Tiny RSS 会给所有 iframe 元素添加 `sandbox="allow-scripts"` 属性
|
|||
|
||||
<Route author="umm233" example="/douban/movie/weekly" path="/douban/movie/weekly"/>
|
||||
|
||||
### 豆瓣电影分类
|
||||
|
||||
<Route author="zzwab" example="/douban/movie/classification/R/7.5/Netflix,剧情,2020" path="/douban/movie/classification/:sort?/:score?/:tags?" :paramsDesc="['排序方式,默认为U', '最低评分,默认不限制', '分类标签,多个标签之间用英文逗号分隔,常见的标签到豆瓣电影的分类页面查看,支持自定义标签']" />
|
||||
|
||||
排序方式可选值如下
|
||||
|
||||
| 近期热门 | 标记最多 | 评分最高 | 最近上映 |
|
||||
| -------- | -------- | -------- | -------- |
|
||||
| U | T | S | R |
|
||||
|
||||
### 豆瓣小组
|
||||
|
||||
<Route author="DIYgod" example="/douban/group/camera" path="/douban/group/:groupid" :paramsDesc="['豆瓣小组的 id']"/>
|
||||
|
|
|
|||
|
|
@ -152,6 +152,7 @@ router.get('/douban/movie/playing/:score/:city', require('./routes/douban/playin
|
|||
router.get('/douban/movie/later', require('./routes/douban/later'));
|
||||
router.get('/douban/movie/ustop', require('./routes/douban/ustop'));
|
||||
router.get('/douban/movie/weekly', require('./routes/douban/weekly_best'));
|
||||
router.get('/douban/movie/classification/:sort?/:score?/:tags?', require('./routes/douban/classification.js'));
|
||||
router.get('/douban/group/:groupid', require('./routes/douban/group'));
|
||||
router.get('/douban/explore', require('./routes/douban/explore'));
|
||||
router.get('/douban/music/latest/:area?', require('./routes/douban/latest_music'));
|
||||
|
|
|
|||
|
|
@ -0,0 +1,39 @@
|
|||
const got = require('@/utils/got');
|
||||
|
||||
module.exports = async (ctx) => {
|
||||
const sort = ctx.params.sort || 'U';
|
||||
const score = parseFloat(ctx.params.score) || 0;
|
||||
const tags = ctx.params.tags || '';
|
||||
|
||||
const response = await got({
|
||||
method: 'get',
|
||||
url: `https://movie.douban.com/j/new_search_subjects?sort=${sort}&range=0,10&tags=${tags}&start=0`,
|
||||
});
|
||||
|
||||
const movies = response.data.data;
|
||||
|
||||
ctx.state.data = {
|
||||
title: `豆瓣电影分类${score ? `超过 ${score} 分的` : ''}影视`,
|
||||
link: `https://movie.douban.com/tag/#/?sort=U&range=0,10&tags=`,
|
||||
item: movies
|
||||
.map((item) => {
|
||||
const itemScore = parseFloat(item.rate) || 0;
|
||||
|
||||
if (itemScore >= score) {
|
||||
return {
|
||||
title: item.title,
|
||||
description: `标题:${item.title}<br>
|
||||
评分:${item.rate}<br>
|
||||
导演:${item.directors.join(' / ')}<br>
|
||||
主演:${item.casts.join(' / ')}<br>
|
||||
<img src="${item.cover}">`,
|
||||
link: item.url,
|
||||
};
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
})
|
||||
.filter((item) => item),
|
||||
};
|
||||
ctx.state.data.allowEmpty = true;
|
||||
};
|
||||
Loading…
Reference in New Issue