import { Cookie } from 'playwright'; import { CaptchaResult, CaptchaResponse } from './captcha.js'; /** * 预测披露数据结构 */ export interface PredictDisclosureData { loadForecast: Record[]; interconnection: Record[]; unitMaintenance: Record[]; transmissionMaintenance: Record[]; reserve: Record[]; congestion: Record[]; mustRunUnits: Record[]; priorSupervision: Record[]; congestionSections: Record[]; } /** * 电价数据点 */ export interface PricePoint { time: string; price: number; } /** * 机组信息 */ export interface UnitInfo { unitId: string; unitName: string; } /** * 山东电力交易中心 API 客户端 */ export declare class ShandongPowerClient { private client; private cachedUnitId; private captchaSolver; constructor(cookies: Cookie[], csrfToken?: string, settlementHeaders?: import('../browser/login-detector.js').SettlementHeaders); /** * 解决滑块验证码 * @param unitid 机组ID(可选,默认使用第一个机组) * @param jytype 交易类型,默认 lxch(连续撮合) * @returns 验证码解决结果 */ solveCaptcha(unitid?: string, jytype?: string): Promise; /** * 获取验证码图片(用于调试) * @param jytype 交易类型,默认 lxch * @returns 验证码图片信息和估计的 X 坐标 */ getCaptchaImages(jytype?: string): Promise<{ captcha: CaptchaResponse; estimatedXpos: number; }>; /** * 获取机组列表 * 从 gettsjztree 接口解析 HTML 获取机组信息 */ getUnitList(): Promise; /** * 获取第一个机组的 unitId(带缓存) */ getDefaultUnitId(): Promise; private cachedRollingTradeUnitId; /** * 获取滚动撮合交易的 unitId(带缓存) * 从 getMainTenanceJZ 接口的 HTML 中解析 * @param kpid 开盘ID */ getRollingTradeUnitId(kpid: string): Promise; /** * 获取滚动撮合交易的机组列表 * @param kpid 开盘ID */ getRollingTradeUnitList(kpid: string): Promise; /** * 切换查询日期 * 山东电力交易中心需要先调用此接口才能获取指定日期的数据 */ changeDate(date: string): Promise; /** * 获取日前电价 * 对应 Python 代码中的 ahead_trade_price 函数 */ getDayAheadPrice(date?: string): Promise; /** * 获取日前电价 - 备用接口 */ private getDayAheadPriceFallback; /** * 获取实时电价 * 对应 Python 代码中的 get_real_trade_price 函数 */ getRealTimePrice(date?: string): Promise; /** * 获取披露信息 - 负荷预测 */ getLoadForecast(date?: string): Promise; /** * 获取披露信息 - 联络线 */ getInterconnectionForecast(date?: string): Promise; /** * 获取预测市场边界披露数据 * 对应 Python 代码中的 predict_disclosure 函数 * 包含:负荷信息、联络线信息、机组检修、输变电检修、备用信息、阻塞信息、必开必停机组、事前监督、阻塞断面 */ getPredictDisclosure(date?: string): Promise; /** * 获取实际市场边界披露数据(临时数据) * 对应 Python 代码中的 shandong_polt_actual 函数 * 使用 DaJyxxPlYxTmp.do 接口(电网运行实际信息-临时数据) * 包含:负荷信息、联络线信息、机组检修、输变电检修、备用信息、阻塞信息、必开必停机组、阻塞断面 */ getActualDisclosure(date?: string): Promise; /** * 解析电价数据 */ private parsePriceData; /** * 格式化电价数据为表格字符串 */ static formatPriceTable(prices: PricePoint[]): string; /** * 更新凭证 */ updateCredentials(cookies: Cookie[], csrfToken?: string): void; /** * 生成结算单接口的 currentroute 请求头 * @param billsType 结算单类型 * @param date 日期时间戳 */ private getSettlementCurrentRoute; private readonly SETTLEMENT_REFERER; /** * 查询月结算单列表 * @param date 月份,格式 YYYY-MM * @param billsType 结算单类型,默认 M0(月结算单) */ querySettlementBills(date?: string, billsType?: string): Promise; /** * 下载月结算单文件 * @param attachmentIds 附件ID列表 * @param billsType 结算单类型,用于生成 currentroute */ downloadSettlementBill(attachmentIds: string[], billsType?: string): Promise; /** * 查询并下载月结算单 * @param date 月份,格式 YYYY-MM * @param billsType 结算单类型,默认 M0 * @returns 结算单信息和文件内容 */ getSettlementBillWithFile(date?: string, billsType?: string): Promise<{ bills: SettlementBillInfo[]; files: Array<{ info: SettlementBillInfo; buffer: Buffer; }>; }>; /** * 获取中长期撮合交易的开盘ID (kpId) * @param date 查询日期,格式 YYYY-MM-DD * @param jylx 交易类型,默认 0 * @param jyxz 交易性质,默认 all */ getLongTermKpId(date: string, jylx?: string, jyxz?: string): Promise; /** * 获取中长期滚动撮合交易结果 * @param kpId 开盘ID * @param bdtime 标的时间,格式如 D20260109 * @param jyjd 交易阶段,默认 2 */ getLongTermMatchmakingResult(kpId: string, bdtime: string, jyjd?: string): Promise; /** * 获取中长期滚动撮合信息(完整流程) * 包含 D+1 和 D+2 的交易数据 * @param date 查询日期,格式 YYYY-MM-DD */ getLongTermMatchmaking(date: string): Promise; /** * 格式化撮合数据,转换字段名为中文 */ private formatMatchmakingData; /** * 解析数字字符串 */ private parseNumber; } /** * 中长期撮合交易项(原始数据) */ export interface LongTermMatchmakingItem { JYDM: string; GYDL: string; GYZD: string; GYZX: string; XQDL: string; XQZD: string; XQZX: string; CJDL: string; ZGCJJ: string; ZDCJJ: string; ZXCJJ: string; JGSX: string; JGXX: string; KPJ?: string; SPJ?: string; ZF?: string; LSJL?: string; QXLX?: string; } /** * 中长期撮合交易项(格式化后) */ export interface LongTermMatchmakingFormatted { 交易代码: string; 供应剩余电量: number | null; 供应最高价: number | null; 供应最低价: number | null; 需求剩余电量: number | null; 需求最高价: number | null; 需求最低价: number | null; 成交电量: number | null; 最高成交价: number | null; 最低成交价: number | null; 最新成交价: number | null; 价格上限: number | null; 价格下限: number | null; } /** * 中长期滚动撮合完整数据 */ export interface LongTermMatchmakingData { queryDate: string; kpId: string; d1Date: string; d1Data: LongTermMatchmakingFormatted[]; d2Date: string; d2Data: LongTermMatchmakingFormatted[]; } /** * 月结算单信息 */ export interface SettlementBillInfo { guid: string; billId: string; attachmentName: string; attachmentId: string; confirmState: string; dateTime: string; remark: string | null; isSigned: number; billTime: string; createTime: string; operateTime: string | null; } //# sourceMappingURL=shandong.d.ts.map