mirror of
https://github.com/DIYgod/RSSHub.git
synced 2026-08-30 16:55:08 +08:00
feat(route): added jin10 category. (#18812)
This commit is contained in:
@@ -0,0 +1,223 @@
|
||||
import { Route, ViewType } from '@/types';
|
||||
import { getCurrentPath } from '@/utils/helpers';
|
||||
const __dirname = getCurrentPath(import.meta.url);
|
||||
|
||||
import cache from '@/utils/cache';
|
||||
import got from '@/utils/got';
|
||||
import { parseDate } from '@/utils/parse-date';
|
||||
import timezone from '@/utils/timezone';
|
||||
import { art } from '@/utils/render';
|
||||
import path from 'node:path';
|
||||
import { config } from '@/config';
|
||||
|
||||
export const route: Route = {
|
||||
path: '/category/:id',
|
||||
categories: ['finance'],
|
||||
view: ViewType.Notifications,
|
||||
example: '/jin10/category/36',
|
||||
parameters: { id: '分类id,见下表' },
|
||||
description: `
|
||||
| Name | ID |
|
||||
|----------------|------|
|
||||
| 贵金属 | 1 |
|
||||
| 黄金 | 2 |
|
||||
| 白银 | 3 |
|
||||
| 钯金 | 4 |
|
||||
| 铂金 | 5 |
|
||||
| 石油 | 6 |
|
||||
| WTI原油 | 7 |
|
||||
| 布伦特原油 | 8 |
|
||||
| 欧佩克 | 9 |
|
||||
| 页岩气 | 10 |
|
||||
| 原油市场报告 | 11 |
|
||||
| 外汇 | 12 |
|
||||
| 欧元 | 13 |
|
||||
| 英镑 | 14 |
|
||||
| 日元 | 15 |
|
||||
| 美元 | 16 |
|
||||
| 瑞郎 | 17 |
|
||||
| 人民币 | 18 |
|
||||
| 期货 | 36 |
|
||||
| 油脂油料 | 145 |
|
||||
| 钢矿 | 146 |
|
||||
| 煤炭 | 147 |
|
||||
| 化工 | 148 |
|
||||
| 有色 | 149 |
|
||||
| 谷物 | 150 |
|
||||
| 糖棉果蛋 | 151 |
|
||||
| 生猪 | 152 |
|
||||
| 碳排放 | 154 |
|
||||
| 数字货币 | 19 |
|
||||
| 数字人民币 | 107 |
|
||||
| 科技 | 22 |
|
||||
| 手机 | 23 |
|
||||
| 电动汽车 | 39 |
|
||||
| 芯片 | 40 |
|
||||
| 中国突破 | 41 |
|
||||
| 5G | 42 |
|
||||
| 量子计算 | 43 |
|
||||
| 航空航天 | 158 |
|
||||
| 元宇宙 | 165 |
|
||||
| 人工智能 | 168 |
|
||||
| 地缘局势 | 24 |
|
||||
| 缅甸局势 | 44 |
|
||||
| 印巴纷争 | 45 |
|
||||
| 中东风云 | 46 |
|
||||
| 阿富汗局势 | 155 |
|
||||
| 俄乌冲突 | 167 |
|
||||
| 人物 | 25 |
|
||||
| 鲍威尔 | 47 |
|
||||
| 马斯克 | 48 |
|
||||
| 拉加德 | 49 |
|
||||
| 特朗普 | 50 |
|
||||
| 拜登 | 51 |
|
||||
| 巴菲特 | 157 |
|
||||
| 央行 | 26 |
|
||||
| 美联储 | 53 |
|
||||
| 中国央行 | 54 |
|
||||
| 欧洲央行 | 55 |
|
||||
| 日本央行 | 56 |
|
||||
| 货币政策调整 | 137 |
|
||||
| 英国央行 | 141 |
|
||||
| 澳洲联储 | 159 |
|
||||
| 新西兰联储 | 160 |
|
||||
| 加拿大央行 | 161 |
|
||||
| 美股 | 27 |
|
||||
| 财报 | 59 |
|
||||
| Reddit散户动态 | 60 |
|
||||
| 个股动态 | 108 |
|
||||
| 港股 | 28 |
|
||||
| 美股回港 | 61 |
|
||||
| 交易所动态 | 62 |
|
||||
| 指数动态 | 63 |
|
||||
| 个股动态 | 109 |
|
||||
| A股 | 29 |
|
||||
| 美股回A | 64 |
|
||||
| 券商分析 | 65 |
|
||||
| 板块异动 | 66 |
|
||||
| 大盘动态 | 67 |
|
||||
| 南北资金 | 68 |
|
||||
| 亚盘动态 | 69 |
|
||||
| IPO信息 | 70 |
|
||||
| 个股动态 | 110 |
|
||||
| 北交所 | 166 |
|
||||
| 基金 | 30 |
|
||||
| 投行机构 | 31 |
|
||||
| 标普、惠誉、穆迪 | 71 |
|
||||
| 美银 | 72 |
|
||||
| 高盛 | 112 |
|
||||
| 疫情 | 32 |
|
||||
| 疫苗动态 | 73 |
|
||||
| 确诊数据 | 74 |
|
||||
| 新冠药物 | 113 |
|
||||
| 债券 | 33 |
|
||||
| 政策 | 34 |
|
||||
| 中国 | 75 |
|
||||
| 美国 | 76 |
|
||||
| 欧盟 | 77 |
|
||||
| 日本 | 78 |
|
||||
| 贸易、关税 | 79 |
|
||||
| 碳中和 | 80 |
|
||||
| 中国香港 | 81 |
|
||||
| 英国 | 120 |
|
||||
| 房地产动态 | 156 |
|
||||
| 经济数据 | 35 |
|
||||
| 中国 | 82 |
|
||||
| 美国 | 83 |
|
||||
| 欧盟 | 84 |
|
||||
| 日本 | 85 |
|
||||
| 公司 | 37 |
|
||||
| 特斯拉 | 86 |
|
||||
| 苹果 | 90 |
|
||||
| 独角兽 | 91 |
|
||||
| 谷歌 | 92 |
|
||||
| 华为 | 93 |
|
||||
| 阿里巴巴 | 94 |
|
||||
| 小米 | 95 |
|
||||
| 字节跳动 | 116 |
|
||||
| 腾讯 | 117 |
|
||||
| 微软 | 118 |
|
||||
| 百度 | 119 |
|
||||
| 美团 | 162 |
|
||||
| 滴滴 | 163 |
|
||||
| 中国恒大 | 164 |
|
||||
| 灾害事故 | 38 |
|
||||
| 地震 | 96 |
|
||||
| 爆炸 | 97 |
|
||||
| 海啸 | 98 |
|
||||
| 寒潮 | 99 |
|
||||
| 洪涝 | 100 |
|
||||
| 火灾 | 101 |
|
||||
| 矿难 | 102 |
|
||||
| 枪击案 | 103 |
|
||||
`,
|
||||
features: {
|
||||
requireConfig: false,
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
supportPodcast: false,
|
||||
supportScihub: false,
|
||||
},
|
||||
radar: [
|
||||
{
|
||||
source: ['jin10.com/'],
|
||||
target: '',
|
||||
},
|
||||
],
|
||||
name: '外汇',
|
||||
maintainers: ['laampui'],
|
||||
handler,
|
||||
url: 'jin10.com/',
|
||||
};
|
||||
|
||||
async function handler(ctx) {
|
||||
const id = ctx.req.param('id');
|
||||
const data = await cache.tryGet(
|
||||
'jin10:aa:${category}',
|
||||
async () => {
|
||||
const { data: response } = await got('https://4a735ea38f8146198dc205d2e2d1bd28.z3c.jin10.com/flash', {
|
||||
headers: {
|
||||
'x-app-id': 'bVBF4FyRTn5NJF5n',
|
||||
'x-version': '1.0',
|
||||
},
|
||||
searchParams: {
|
||||
channel: '-8200',
|
||||
vip: '1',
|
||||
classify: `[${id}]`,
|
||||
},
|
||||
});
|
||||
return response.data.filter((item) => item.type !== 1);
|
||||
},
|
||||
config.cache.routeExpire,
|
||||
false
|
||||
);
|
||||
|
||||
const item = data.map((item) => {
|
||||
const titleMatch = item.data.content.match(/^【(.*?)】/);
|
||||
let title;
|
||||
let content = item.data.content;
|
||||
if (titleMatch) {
|
||||
title = titleMatch[1];
|
||||
content = content.replace(titleMatch[0], '');
|
||||
} else {
|
||||
title = item.data.vip_title || item.data.content;
|
||||
}
|
||||
|
||||
return {
|
||||
title,
|
||||
description: art(path.join(__dirname, 'templates/description.art'), {
|
||||
content,
|
||||
pic: item.data.pic,
|
||||
}),
|
||||
pubDate: timezone(parseDate(item.time), 8),
|
||||
guid: `jin10:category:${item.id}`,
|
||||
};
|
||||
});
|
||||
|
||||
return {
|
||||
title: '金十数据',
|
||||
link: 'https://www.jin10.com/',
|
||||
item,
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user