/** * Server Log Poller (HTTP 轮询版本) * * 职责: * 1. 定期轮询后端 HTTP API (/dev/logs/server-logs) * 2. 获取新的服务端日志 * 3. 将接收到的日志通过 postMessage 转发给父窗口 (miaoda) * 4. 管理连接状态并通知父窗口 * * 与 ServerLogForwarder 的区别: * - 使用 HTTP 轮询代替 WebSocket * - 无需 socket.io-client 依赖 * - 更简单、更稳定、更易调试 */ export interface ServerLogPollerOptions { /** * 后端服务器 URL * @example 'http://localhost:3000' */ serverUrl: string; /** * API 路径 * @default '/dev/logs/server-logs' */ apiPath?: string; /** * 轮询间隔(毫秒) * @default 2000 */ pollInterval?: number; /** * 每次获取的日志数量 * @default 100 */ limit?: number; /** * 是否启用调试日志 * @default false */ debug?: boolean; } type ConnectionStatus = 'disconnected' | 'connecting' | 'connected' | 'error'; export declare class ServerLogPoller { private intervalId; private status; private lastTimestamp; private options; private isPolling; constructor(options: ServerLogPollerOptions); /** * 启动轮询器 */ start(): void; /** * 停止轮询器 */ stop(): void; /** * 获取当前连接状态 */ getStatus(): ConnectionStatus; /** * 执行一次轮询 */ private poll; /** * 转发日志到父窗口 */ private forwardLog; /** * 更新连接状态并通知父窗口 */ private updateStatus; /** * 发送消息到父窗口 */ private postToParent; /** * 调试日志 */ private log; /** * 错误日志 */ private error; } export {};