-
Notifications
You must be signed in to change notification settings - Fork 7.7k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* 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 <[email protected]>
- Loading branch information
Showing
2 changed files
with
97 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
import type { Namespace } from '@/types'; | ||
|
||
export const namespace: Namespace = { | ||
name: '穆迪评级', | ||
url: 'www.moodysmismicrosite.com', | ||
lang: 'zh-CN', | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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, | ||
})), | ||
}; | ||
} |