feat(route): add 穆迪评级 (#17969)
* feat(route): add https://www.moodysmismicrosite.com/report * Update lib/routes/moodysmismicrosite/report.ts * Update lib/routes/moodysmismicrosite/report.ts * update report.ts --------- Co-authored-by: Cedar <FYLSen@users.noreply.github.com>
This commit is contained in:
parent
131bc33637
commit
0a93a7486d
|
|
@ -0,0 +1,7 @@
|
|||
import type { Namespace } from '@/types';
|
||||
|
||||
export const namespace: Namespace = {
|
||||
name: '穆迪评级',
|
||||
url: 'www.moodysmismicrosite.com',
|
||||
lang: 'zh-CN',
|
||||
};
|
||||
|
|
@ -0,0 +1,90 @@
|
|||
import { Route, ViewType } from '@/types';
|
||||
import { parseRelativeDate } from '@/utils/parse-date';
|
||||
import got from '@/utils/got';
|
||||
|
||||
export const route: Route = {
|
||||
path: '/report/:industry?',
|
||||
categories: ['finance'],
|
||||
view: ViewType.Articles,
|
||||
example: '/moodysmismicrosite/report/企业&金融机构',
|
||||
parameters: {
|
||||
industry: {
|
||||
description: '可选参数,默认为全部行业。行业选择,支持使用&连接多个。',
|
||||
options: [
|
||||
{ value: '0', label: '企业' },
|
||||
{ value: '1', label: '金融机构' },
|
||||
{ value: '2', label: '主权' },
|
||||
{ value: '3', label: '地方政府及城投公司' },
|
||||
{ value: '4', label: '宏观经济' },
|
||||
{ value: '5', label: '结构融资' },
|
||||
{ value: '6', label: '基础设施及项目融资' },
|
||||
{ value: '7', label: 'ESG' },
|
||||
{ value: '8', label: '其他' },
|
||||
],
|
||||
default: '全部',
|
||||
},
|
||||
},
|
||||
radar: [
|
||||
{
|
||||
source: ['www.moodysmismicrosite.com/report'],
|
||||
},
|
||||
],
|
||||
name: 'industry',
|
||||
description: `
|
||||
| ID | Description |
|
||||
| --- | --- |
|
||||
| 0 | 企业 |
|
||||
| 1 | 金融机构 |
|
||||
| 2 | 主权 |
|
||||
| 3 | 地方政府及城投公司 |
|
||||
| 4 | 宏观经济 |
|
||||
| 5 | 结构融资 |
|
||||
| 6 | 基础设施项目融资 |
|
||||
| 7 | ESG |
|
||||
| 8 | 其他 |
|
||||
`,
|
||||
maintainers: ['FYLSen'],
|
||||
handler,
|
||||
};
|
||||
|
||||
async function handler(ctx) {
|
||||
const industryMap: Record<number, string> = {
|
||||
0: '企业',
|
||||
1: '金融机构',
|
||||
2: '主权',
|
||||
3: '地方政府及城投公司',
|
||||
4: '宏观经济',
|
||||
5: '结构融资',
|
||||
6: '基础设施项目融资',
|
||||
7: 'ESG',
|
||||
8: '其他',
|
||||
};
|
||||
|
||||
const reversedIndustry = Object.fromEntries(Object.entries(industryMap).map(([k, v]) => [v, k]));
|
||||
|
||||
const industry = ctx.req.param('industry') || '行业';
|
||||
|
||||
const industryId = industry
|
||||
.split('&')
|
||||
.map((name) => reversedIndustry[name.trim()])
|
||||
.filter((key) => key !== undefined)
|
||||
.join(',');
|
||||
|
||||
const responseData = await got(`https://www.moodysmismicrosite.com/micro/v2/report/list?page_num=1&page_size=25&keyword=&industry_ids=${industryId}`);
|
||||
|
||||
const items = responseData?.data?.data?.list || [];
|
||||
|
||||
return {
|
||||
title: `穆迪评级(${industry})`,
|
||||
link: 'https://www.moodysmismicrosite.com/report',
|
||||
allowEmpty: true,
|
||||
item: items.map((x) => ({
|
||||
title: x.title,
|
||||
pubDate: parseRelativeDate(x.release_time),
|
||||
link: `https://www.moodysmismicrosite.com/details/${x.id}`,
|
||||
description: x.content_profile,
|
||||
category: x.classification,
|
||||
guid: x.id,
|
||||
})),
|
||||
};
|
||||
}
|
||||
Loading…
Reference in New Issue