ttrack
v1.0.0
Published
tracker
Readme
用户行为分析系统
安装
npm i ttrack核心类&方法
TTrack.DB
export interface DB {
readonly idb: IDBFactory
dbRequest: IDBOpenDBRequest
db: IDBDatabase
createTask: {name: string, opt?: IDBObjectStoreParameters}[]
// 创建数据库
create(name: string, opt?: IDBObjectStoreParameters): Promise<void>
// 新增数据
add(storeName: string, data: any)
// 新增索引
addIndex(storeName: string, name: string, opt? :DBAddIndexOption): Promise<void>
// 根据 IDBKeyRange 查询数据
find(storeName: string, index: string, range: IDBKeyRange): Promise<IDBRequest>
}
export interface DBOption extends Object {
name: string
version?: number
}
export interface DBCreateOption extends Object {
}
export interface DBAddIndexOption extends Object {
unique: boolean
}
export interface IDBEventTarget extends EventTarget {
result: IDBDatabase
transaction: IDBTransaction
}
export interface IDBQueryEvent extends Event {
target: IDBEventTarget
}
export interface IDBOpenSuccessEvent extends Event {
target: IDBEventTarget
}
export interface IDBVersionEvent extends IDBVersionChangeEvent {
target: IDBEventTarget
}TTrack.Evt
import { DB } from './db'
export interface EvtOption extends Object{
events: string[]
db: DB
workerPath: string
}
export interface Evt {
readonly elRoot: Window
readonly db: DB
readonly worker: ServiceWorkerContainer | null
controller: any
// 初始化事件存储
initEventDb(): Promise<void>
// 初始化请求存储
initFetchDb(): Promise<void>
// 注册serviceWorker
regWorker(path: string): Evt
// 记录请求
logRequest(reqRecord: any): Evt
// 注册时间跟踪器
addEventTracker(events: string | string[]): Evt
// 注册任务处理器
addMessageHandler(): void
// 获取行为数据
getDataByRange(parm: any): Promise<Object>
// 获取错误事件上下文
getErrorContex(errId: number, errTime: Date): void
// 信息显示
showData(dataAttr: any[]): void
// 行为回放
drawEvents(): void
// 下发任务到serviceWorker
sendMessage(action: string, trigger: string, data: any): void
}