UNPKG

rsshub

Version:
60 lines (58 loc) 1.91 kB
import "./dist-Bog6z_OM.mjs"; import "./config-MQ-7ebJ_.mjs"; import "./logger-C4avouvV.mjs"; import "./ofetch-DKl_Ma9g.mjs"; import { t as parseDate } from "./parse-date-r5WDWHno.mjs"; import "./helpers-Bo4JQYdN.mjs"; import { t as PRESETS } from "./header-generator-CSmXmd3V.mjs"; import { t as got_default } from "./got-CO-ndVl2.mjs"; //#region lib/routes/xueqiu/snb.ts const route = { path: "/snb/:id", categories: ["finance"], example: "/xueqiu/snb/ZH1288184", parameters: { id: "组合代码, 可在组合主页 URL 中找到." }, features: { requireConfig: false, requirePuppeteer: false, antiCrawler: false, supportBT: false, supportPodcast: false, supportScihub: false }, radar: [{ source: ["xueqiu.com/P/:id", "xueqiu.com/p/:id"] }], name: "组合最新调仓信息", maintainers: ["ZhishanZhang"], handler }; async function handler(ctx) { const id = ctx.req.param("id"); const url = "https://xueqiu.com/p/" + id; const data = (await got_default(url, { headerGeneratorOptions: PRESETS.MODERN_ANDROID })).data; const info = /SNB.cubeInfo = {(.+)}/.exec(data); const obj = JSON.parse("{" + info[1] + "}"); const rebalancing_histories = obj.sell_rebalancing.rebalancing_histories; const snb_title = obj.name + " 的调仓历史"; const snb_description = obj.description; const title = obj.name + " 的上一笔调仓"; let description = ""; for (const some_detail of rebalancing_histories) { const prev_weight_adjusted = some_detail.prev_weight_adjusted ?? 0; description += some_detail.stock_name + " from " + prev_weight_adjusted + " to " + some_detail.target_weight + ",\n"; } const time = obj.sell_rebalancing.updated_at; return { title: snb_title, link: url, description: snb_description, item: [{ title, description, pubDate: parseDate(time), link: url, guid: `xueqiu::snb::${id}::${time}` }] }; } //#endregion export { route };