mini-tracker
Version:
47 lines (44 loc) • 1.27 kB
TypeScript
/**
* @requestUrl 接口地址
* @historyTracker history上报
* @hashTracker hash上报
* @domTracker 携带 Tracker-key 点击事件上报
* @sdkVersion sdk版本号
* @extra透传字段
* @jsError js 和 promise 报错异常上报
*/
interface DefaultOptons {
uuid: string | undefined;
requestUrl: string | undefined;
historyTracker: boolean;
hashTracker: boolean;
domTracker: boolean;
sdkVersion: string | number;
extra: Record<string, any> | undefined;
jsError: boolean;
}
interface Options extends Partial<DefaultOptons> {
requestUrl: string;
}
declare type reportTrackerData = {
[key: string]: any;
event: string;
targetKey: string;
};
declare class Tracker {
data: Options;
private version;
constructor(options: Options);
private init;
setUserId<T extends DefaultOptons["uuid"]>(uuid: T): void;
setExtra<T extends DefaultOptons["extra"]>(extra: T): void;
sendTracker<T extends reportTrackerData>(data: T): void;
private captureEvents;
private installInnerTrack;
private targetKeyReport;
private jsError;
private errorEvent;
private promiseReject;
private reportTracker;
}
export { Tracker as default };