argos-tracker
Version:
A lightweight frontend tracking SDK for data collection and reporting
54 lines (53 loc) • 1.33 kB
TypeScript
import { DeviceType } from './constants';
/**
* 生成UUID
*/
export declare function generateUUID(): string;
/**
* 获取当前时间戳
*/
export declare function getCurrentTimestamp(): number;
/**
* 获取页面信息
*/
export declare function getPageInfo(): {
url: string;
title: string;
referrer: string;
};
/**
* 获取用户代理信息
*/
export declare function getUserAgent(): string;
/**
* 获取屏幕分辨率
*/
export declare function getScreenResolution(): string;
/**
* 检测设备类型
*/
export declare function getDeviceType(): DeviceType;
/**
* 深度合并对象
*/
export declare function deepMerge<T extends Record<string, any>>(target: T, source: Partial<T>): T;
/**
* 安全的JSON序列化
*/
export declare function safeStringify(obj: any): string;
/**
* 安全的JSON解析
*/
export declare function safeParse<T = any>(str: string, defaultValue: T): T;
/**
* 防抖函数
*/
export declare function debounce<T extends (...args: any[]) => any>(func: T, wait: number): (...args: Parameters<T>) => void;
/**
* 节流函数
*/
export declare function throttle<T extends (...args: any[]) => any>(func: T, wait: number): (...args: Parameters<T>) => void;
/**
* 获取元素的CSS选择器路径
*/
export declare function getElementSelector(element: Element): string;