fix(route): fix cntv cannot read property 'docs' of undefined and refactor to V2 (#9005)

* Fix(route): Cannot read property 'docs' of undefined and change to V2

* Fix(route): change property path of limit

* Fix(route): add parseInt()

* Fix(route): fix DeepScan issue
This commit is contained in:
Fatpandac
2022-02-06 19:54:40 +08:00
committed by GitHub
parent e436c5d270
commit ae152bdde4
8 changed files with 56 additions and 29 deletions

29
lib/v2/cntv/column.js Normal file
View File

@@ -0,0 +1,29 @@
const got = require('@/utils/got');
const { art } = require('@/utils/render');
const path = require('path');
const { parseDate } = require('@/utils/parse-date');
module.exports = async (ctx) => {
const id = ctx.params.column;
const limit = isNaN(parseInt(ctx.query.limit)) ? 25 : parseInt(ctx.query.limit);
const response = await got({
method: 'get',
url: `https://api.cntv.cn/NewVideo/getVideoListByColumn?id=${id}&n=${limit}&sort=desc&p=1&mode=0&serviceId=tvcctv`,
});
const data = response.data.data.list;
const name = data[0].title.match(/《(.*?)》/)[1];
ctx.state.data = {
title: `CNTV 栏目 - ${name}`,
description: `${name} 栏目的视频更新`,
item: data.map((item) => ({
title: item.title,
description: art(path.join(__dirname, 'templates/column.art'), {
item,
}),
pubDate: parseDate(item.time),
link: item.url,
})),
};
};

View File

@@ -0,0 +1,3 @@
module.exports = {
'/:column': ['WhoIsSure', 'Fatpandac'],
};

13
lib/v2/cntv/radar.js Normal file
View File

@@ -0,0 +1,13 @@
module.exports = {
'cctv.com': {
_name: 'CCTV',
navi: [
{
title: '栏目订阅',
docs: 'https://docs.rsshub.app/multimedia.html#cntv-lan-mu',
source: ['/'],
target: '/cntv/:column',
},
],
},
};

3
lib/v2/cntv/router.js Normal file
View File

@@ -0,0 +1,3 @@
module.exports = function (router) {
router.get('/:column', require('./column'));
};

View File

@@ -0,0 +1,4 @@
<p>{{ item.brief }}</p>
<p>时长:{{ item.length }}</p>
<p><img src="{{ item.image }}"></p>
<p><a href="{{ item.url }}">在线观看</a></p>