import { BaseRequest } from "../base/index.js"; import { TypedEmitter } from "tiny-typed-emitter"; import type { CommonResponse } from "../types/index.js"; interface TvLoginResponse { /** 0:成功;86039: 二维码尚未扫描;86038:二维码已失效;86090:二维码已扫码未确认 */ code: 0 | 86039 | 86038 | 86090; message: string; ttl: 1; data: any | null; } interface TvEmitterEvents { start: () => void; scan: (response: TvLoginResponse) => void; completed: (response: TvLoginResponse) => void; error: (response: TvLoginResponse) => void; end: (response: TvLoginResponse) => void; } type WebLoginResponse = CommonResponse<{ url: string; refresh_token: string; timestamp: number; /** 0:成功;86101:二维码尚未扫描;86038:二维码已失效;86090:二维码已扫码未确认 */ code: 0 | 86101 | 86038 | 86090; message: string; }>; interface WebCompleteResponse { DedeUserID: string; DedeUserID__ckMd5: string; Expires: string; SESSDATA: string; bili_jct: string; gourl: string; first_domain: string; refresh_token: string; } interface WebEmitterEvents { start: () => void; scan: (response: WebLoginResponse) => void; completed: (response: WebCompleteResponse) => void; error: (response: WebLoginResponse) => void; end: (response: WebLoginResponse) => void; } /** * TV扫码登录 */ export declare class TvQrcodeLogin extends BaseRequest { private appkey; private secretKey; private timmer; emitter: TypedEmitter; on: TypedEmitter["on"]; once: TypedEmitter["once"]; off: TypedEmitter["off"]; interval: number; constructor(); /** * 获取登录二维码 */ getQrcode(): Promise<{ url: string; auth_code: string; }>; /** * 轮询二维码状态 * @param auth_code */ poll(auth_code: string): Promise; login(): Promise; refresh(access_key: string, refresh_token: string): Promise>; /** * 中断任务,并清除所有监听器 */ interrupt(): void; /** * 移除所有监听事件 */ removeAllListeners(event?: keyof TvEmitterEvents): void; /** * 生成签名 * @param params 签名参数 */ generateSign(params: any): string; } /** * 网页扫码登录 */ export declare class WebQrcodeLogin extends BaseRequest { private timmer; interval: number; emitter: TypedEmitter; on: TypedEmitter["on"]; once: TypedEmitter["once"]; off: TypedEmitter["off"]; constructor(); /** * 获取登录二维码 */ getQrcode(): Promise<{ url: string; qrcode_key: string; }>; /** * 轮询二维码状态 * @param auth_code */ poll(qrcode_key: string): Promise; login(): Promise; /** * 中断任务,并清除所有监听器 */ interrupt(): void; /** * 移除所有监听事件 */ removeAllListeners(event?: keyof WebEmitterEvents): void; } export {};