rsshub
Version:
Make RSS Great Again!
49 lines (48 loc) • 1.74 kB
JavaScript
import { t as parseDate } from "./parse-date-CjhZE69i.mjs";
import { t as timezone } from "./timezone-DE--ze1V.mjs";
import { i as parentOf, n as division, r as link, t as createClient } from "./utils-WuwAOOYj.mjs";
//#region lib/routes/sgcc/blackout-notice.ts
const route = {
path: "/95598/blackoutNotice/:adcode",
categories: ["forecast"],
example: "/sgcc/95598/blackoutNotice/320100",
parameters: { adcode: "地区代码,可通过 `/sgcc/95598/helper` 查询" },
radar: [{ source: ["www.95598.cn/osgweb/blackoutNotice"] }],
name: "停电通知",
maintainers: ["ocleo1"],
handler,
url: "www.95598.cn/osgweb/blackoutNotice"
};
async function handler(ctx) {
const { adcode } = ctx.req.param();
const region = (await division(parentOf(adcode))).find((item) => item.codeValue === adcode);
if (!region) throw new Error(`95598 serves no region with code ${adcode}, look up a valid code via /sgcc/95598/helper`);
const items = (await (await createClient()).post("/osg-web0004/member/c4/f08", {
target: region.content3,
source: "0901",
serviceCode: "0104514",
data: {
orgNo: region.content2,
powerCutNo: "",
pageSize: "20",
pageNo: 1,
keyWord: "",
areaNo: adcode
}
})).data.powerCutList.map((item) => ({
title: `${item.powerType}|${item.startTime} 至 ${item.stopTime}`,
description: `停电范围:${item.powerRange}<br>停电设备:${item.powerArea}<br>停电线路:${item.powerCircuit}<br>停电原因:${item.powerCause}`,
link,
category: [item.takeType, item.powerType],
guid: item.poweroffId,
pubDate: timezone(parseDate(item.startTime), 8)
}));
return {
title: `${region.codeName}停电通知`,
link,
language: "zh-CN",
item: items
};
}
//#endregion
export { route };