whitch-frontend-monitor
Version:
前端监控系统 - 一个轻量级的前端监控SDK
47 lines (46 loc) • 912 B
TypeScript
/**
* 数据上报模块
*/
export interface ReportConfig {
reportUrl: string;
delay?: number;
maxRetry?: number;
sampleRate?: number;
ignoreUrls?: string[];
compression?: boolean;
}
export interface ReportData {
type: string;
data: any;
timestamp: number;
}
export declare class Reporter {
private static instance;
private debounceTimer;
private config;
private queue;
private timer;
private retryCount;
private constructor();
static getInstance(config: ReportConfig): Reporter;
/**
* 添加数据到上报队列
*/
addToQueue(data: ReportData): void;
/**
* 执行上报
*/
private report;
/**
* 处理上报失败
*/
private handleReportError;
/**
* 检查URL是否在忽略列表中
*/
private isUrlIgnored;
/**
* 销毁实例
*/
destroy(): void;
}