feat(route): add 重庆市国有资产监督管理委员会 (#13384)

* feat(route): add 重庆市国有资产监督管理委员会

* docs: fix typo
This commit is contained in:
Ethan Shen 2023-09-25 00:35:16 +08:00 committed by GitHub
parent c0ba1e326f
commit af1c20ace8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 92 additions and 0 deletions

View File

@ -0,0 +1,68 @@
const got = require('@/utils/got');
const cheerio = require('cheerio');
const timezone = require('@/utils/timezone');
const { parseDate } = require('@/utils/parse-date');
module.exports = async (ctx) => {
const { category = 'tzgg_191' } = ctx.params;
const limit = ctx.query.limit ? parseInt(ctx.query.limit, 10) : 15;
const rootUrl = 'https://gzw.cq.gov.cn';
const currentUrl = new URL(category, rootUrl).href;
const { data: response } = await got(currentUrl);
const $ = cheerio.load(response);
let items = $('ul.tab-item li.clearfix')
.slice(0, limit)
.toArray()
.map((item) => {
item = $(item);
const a = item.find('a');
return {
title: a.text(),
link: new URL(a.prop('href').replace(/^\./, category), rootUrl).href,
pubDate: parseDate(item.find('span').text()),
};
});
items = await Promise.all(
items.map((item) =>
ctx.cache.tryGet(item.link, async () => {
const { data: detailResponse } = await got(item.link);
const content = cheerio.load(detailResponse);
item.title = content('meta[name="ArticleTitle"]').prop('content');
item.description = content('div.trs_paper_default').html();
item.author = content('meta[name="ContentSource"]').prop('content');
item.category = content('meta[name="Keywords"]')
.prop('content')
.split(/;/)
.filter((c) => c);
item.pubDate = timezone(parseDate(content('meta[name="PubDate"]').prop('content')), +8);
return item;
})
)
);
const icon = new URL('favicon.ico', rootUrl).href;
ctx.state.data = {
item: items,
title: `${$('title').text()} - ${$('meta[name="ColumnName"]').prop('content')}`,
link: currentUrl,
description: $('meta[name="ColumnDescription"]').prop('content'),
language: $('html').prop('lang'),
image: new URL($('div.logo img').prop('src'), rootUrl).href,
icon,
logo: icon,
subtitle: $('meta[name="ColumnKeywords"]').prop('content'),
author: $('meta[name="SiteName"]').prop('content'),
allowEmpty: true,
};
};

View File

@ -53,6 +53,7 @@ module.exports = {
'/beijing/bphc/:channel': ['bigfei'],
'/beijing/jw/tzgg': ['nczitzk'],
'/beijing/kw/:channel': ['Fatpandac'],
'/chongqing/gzw/:category?': ['nczitzk'],
'/chongqing/rsks': ['Mai19930513'],
'/chongqing/sydwgkzp': ['MajexH'],
'/dianbai/:path+': ['ShuiHuo'],

View File

@ -444,6 +444,18 @@ module.exports = {
target: '/gov/chongqing/sydwgkzp',
},
],
gzw: [
{
title: '国有资产监督管理委员会',
docs: 'https://docs.rsshub.app/routes/government#chong-qing-shi-ren-min-zheng-fu-guo-you-zi-chan-jian-du-guan-li-wei-yuan-hui',
source: ['/:category*'],
target: (params) => {
const category = params.category;
return `/gov/chongqing/gzw${category ? `/${category}` : ''}`;
},
},
],
},
'csrc.gov.cn': {
_name: '中国证券监督管理委员会',

View File

@ -45,6 +45,7 @@ module.exports = function (router) {
router.get(/beijing\/bphc(\/[\w/-]+)?/, require('./beijing/bphc'));
router.get('/beijing/jw/tzgg', require('./beijing/jw/tzgg'));
router.get('/beijing/kw/:channel', require('./beijing/kw/index'));
router.get('/chongqing/gzw/:category*', require('./chongqing/gzw'));
router.get('/chongqing/rsks', require('./chongqing/rsks'));
router.get('/chongqing/sydwgkzp', require('./chongqing/sydwgkzp'));
router.get(/dianbai(\/[\w/-]+)?/, require('./dianbai/dianbai'));

View File

@ -305,6 +305,16 @@ Language
## 重庆市人民政府 {#chong-qing-shi-ren-min-zheng-fu}
### 国有资产监督管理委员会 {#chong-qing-shi-ren-min-zheng-fu-guo-you-zi-chan-jian-du-guan-li-wei-yuan-hui}
<Route author="nczitzk" example="/gov/chongqing/gzw" path="/gov/chongqing/gzw/:category?" paramsDesc={['分类,见下表,默认为通知公告']} radar="1" rssbud="1">
| 通知公告 | 国企资讯 | 国企简介 | 国企招聘 |
| -------- | -------- | -------- | -------- |
| tzgg_191 | gqdj | gqjj | gqzp |
</Route>
### 两江新区信息公开网 {#chong-qing-shi-ren-min-zheng-fu-liang-jiang-xin-qu-xin-xi-gong-kai-wang}
#### 党务公开 {#chong-qing-shi-ren-min-zheng-fu-liang-jiang-xin-qu-xin-xi-gong-kai-wang-dang-wu-gong-kai}