UNPKG

argos-tracker

Version:

A lightweight frontend tracking SDK for data collection and reporting

99 lines (98 loc) 1.98 kB
import { TrackerConfig, UserInfo } from './types'; /** * Argos 埋点追踪器 */ export declare class ArgosTracker { private config; private storage; private reporter; private collector; private eventQueue; private batchTimer; private isInitialized; constructor(config: TrackerConfig); /** * 初始化追踪器 */ private init; /** * 追踪自定义事件 */ track(eventName: string, properties?: Record<string, any>): void; /** * 追踪页面访问 */ trackPageView(properties?: Record<string, any>): void; /** * 追踪用户行为 */ trackUserAction(actionName: string, properties?: Record<string, any>): void; /** * 设置用户信息 */ setUser(userInfo: UserInfo): void; /** * 清除用户信息 */ clearUser(): void; /** * 立即上报所有待上报事件 */ flush(): Promise<void>; /** * 更新配置 */ updateConfig(newConfig: Partial<TrackerConfig>): void; /** * 销毁追踪器 */ destroy(): void; /** * 追踪事件(内部方法) */ private trackEvent; /** * 处理自动收集的事件 */ private handleAutoEvent; /** * 添加事件到队列 */ private addToQueue; /** * 调度批量发送 */ private scheduleBatchSend; /** * 发送事件 */ private sendEvents; /** * 恢复待上报事件 */ private restorePendingEvents; /** * 设置页面卸载时的处理 */ private setupBeforeUnload; /** * 输出日志 */ private log; /** * 获取当前配置 */ getConfig(): TrackerConfig; /** * 获取当前用户ID */ getUserId(): string | undefined; /** * 获取当前会话ID */ getSessionId(): string; /** * 重新生成会话ID */ renewSession(): string; }