UNPKG

rsshub

Version:
222 lines (215 loc) 6.29 kB
import { Route, ViewType } from '@/types'; 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, }; }