@lylb/tracker
Version:
56 lines (55 loc) • 1.7 kB
TypeScript
import Params from './params';
type Dict = Record<string, any>;
type ConsoleType = 'log' | 'info' | 'warn' | 'error';
type Callback = (...args: unknown[]) => void;
type Init = {
url: string;
enviroment: {
request(url: string, data: Dict): Promise<unknown>;
getDeviceInfo(): Promise<Dict>;
watchJsError(callback: Callback): Callback;
watchRouteChange(callback: Callback): Callback;
getDeviceFingerprintId(): Promise<string>;
};
maxRequest?: number;
debuger?: boolean;
taskCount?: number;
final?: string[];
isAddJsError?: boolean;
isAddPageStay?: boolean;
};
type Config = {
project?: string;
appId: string;
appSecret: string;
version?: string;
};
declare class Tracker {
private _reBlockId;
private _version;
private _requestUrl;
private _task;
params: Params;
private _final;
private _enviroment;
private _maxRequest;
private _debuger;
constructor(opts: Init);
create: (opts: Config) => void;
$setDeviceInfo(): Promise<void>;
$watchJsError(isAddJsError: boolean): void;
$watchPageStay(isAddPageStay: boolean): void;
register(params: Dict): void;
clearRegister(keys: string[]): void;
requestError(params: Dict): void;
event(event: string, ...args: (string | Dict)[]): void;
setProfile(users: Dict): void;
addTask(params: Params): void;
$send(opts: Dict, i?: number): void;
mergeFinal(param: string[]): void;
$createParams(obj: Dict): Params;
get $time(): number;
$log(name: string, content: unknown, type?: ConsoleType): (() => void) | undefined;
getBlockId(): Promise<string>;
}
export default Tracker;