lee_web_track_sdk 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +287 -0
- package/dist/esm/index.js +1074 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/index.d.cts +92 -0
- package/dist/index.d.ts +92 -0
- package/dist/index.js +1142 -0
- package/dist/index.js.map +1 -0
- package/package.json +42 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["e:\\project\\fr_track_sdk\\dist\\esm\\index.js"],"names":["localForage3","localForage2","EVENT_TYPES","CAN_AGGREGATION_TYPES","EVENT_KEYS","CACHE_DATA_NAME","CACHE_ERR_DATA_NAME","getVariableType","variable","typeString","Object","prototype","toString","call","slice","toLowerCase","generateFallbackUUID","replace","c","r","Math","random","v","generateUserId","crypto","randomUUID","overrideHistoryMethods","type","originalMethod","history","args","res","apply","e","Event","window","dispatchEvent","getUserTimeZone","Intl","DateTimeFormat","resolvedOptions","timeZone","error","console","warn","offset","Date","getTimezoneOffset","validateEventType","eventType","includes","validateEventKey","params","Symbol","iterator","keys","key","cleanData","rawData","tempIds","Set","resultData","filter","rawItem","eventKeyResult","eventTypeResult","event_type","eventTime","event_time","minDateTime","getTime","id","event_name","has","add","data","errReason","message","aggregationData","item","i","is_aggregation","currentDate","setHours","resultItem","find","push","customData","custom_data","count","length","localForage","request","url","Promise","resolve","reject","navigator","dataJson","JSON","stringify","blob","Blob","status","sendBeacon","xhr","XMLHttpRequest","open","setRequestHeader","onload","response","onerror","send","onReportFail","clearCacheKey","retryCount","reportErrorData","reportDataRequest","getItem","setItem","reportData","Array","isArray","removeItem","reportCacheData","cacheData","cleanInfo","result","getCacheData","setCacheData","maxLen","errMsg","getUserId","track_uuid","localStorage","uuid","Browser","getBrowserAndDeviceInfo","defRes","browserName","browserVersion","osName","osVersion","platformName","ua","userAgent","info","parse","browser","os","platform","name","version","getDeviceResolution","screen","width","height","FrTrack","options","option","project_name","report_url","app_version","auto_pv","maxCacheSize","maxCacheTime","userId","routeMode","timer","uvTimer","browserInfo","assign","init","reportPrevData","res1","err","loopReport","setInterval","onBrowserClose","addEventListener","clearInterval","document","visibilityState","frUserView","pushState","replaceState","frAutoPageView","track","trackParams","user_id","device_type","user_agent","screen_resolution","user_timezone","now","singleTrack","baseParams","setUser","setRouteMode","mode","frModuleView","frModuleClick","frLoginEvent","frOrderEvent","frCustomEvent","frLogEvent","frClickEvent","methodsList","forEach","method","href","location","page_url","page_name","frPageView","interval","frPageDestroy","frReport","index_default","default"],"mappings":"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","sourcesContent":["// src/index.ts\nimport * as localForage3 from \"localforage\";\n\n// src/core/track/cache.ts\nimport * as localForage2 from \"localforage\";\n\n// src/config/constant.ts\nvar EVENT_TYPES = [\n \"page_view\",\n \"user_view\",\n \"page_destroy\",\n \"click_event\",\n \"module_click\",\n \"module_view\",\n \"login_event\",\n \"order_event\",\n \"custom_event\",\n \"log_event\"\n];\nvar CAN_AGGREGATION_TYPES = [\"page_view\", \"user_view\", \"module_view\"];\nvar EVENT_KEYS = [\n \"project_name\",\n \"event_type\",\n \"event_name\",\n \"event_time\",\n \"user_timezone\",\n \"user_id\",\n \"device_type\",\n \"app_version\",\n \"user_agent\",\n \"screen_resolution\",\n \"custom_data\"\n];\nvar CACHE_DATA_NAME = \"fr-track-cache-data\";\nvar CACHE_ERR_DATA_NAME = \"fr-track-cache-err-data\";\n\n// src/utils/utils.ts\nvar getVariableType = (variable) => {\n const typeString = Object.prototype.toString.call(variable);\n return typeString.slice(8, -1).toLowerCase();\n};\nvar generateFallbackUUID = () => {\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function(c) {\n const r = Math.random() * 16 | 0;\n const v = c === \"x\" ? r : r & 3 | 8;\n return v.toString(16);\n });\n};\nvar generateUserId = () => {\n if (typeof crypto !== \"undefined\" && crypto.randomUUID) {\n return crypto.randomUUID();\n }\n return generateFallbackUUID();\n};\nvar overrideHistoryMethods = (type) => {\n const originalMethod = history[type];\n return function(...args) {\n const res = originalMethod.apply(this, args);\n var e = new Event(type);\n window.dispatchEvent(e);\n return res;\n };\n};\nvar getUserTimeZone = () => {\n try {\n return Intl.DateTimeFormat().resolvedOptions().timeZone;\n } catch (error) {\n console.warn(\"\\u65E0\\u6CD5\\u83B7\\u53D6\\u65F6\\u533A\\u540D\\u79F0\\uFF0C\\u4F7F\\u7528\\u504F\\u79FB\\u91CF\\u63A8\\u7B97:\", error);\n const offset = (/* @__PURE__ */ new Date()).getTimezoneOffset();\n if (offset >= 0) {\n return `\\u897F${offset / 60}\\u533A`;\n } else {\n return `\\u4E1C${-offset / 60}\\u533A`;\n }\n }\n};\n\n// src/utils/validator.ts\nfunction validateEventType(eventType) {\n return typeof eventType === \"string\" && EVENT_TYPES.includes(eventType);\n}\nfunction validateEventKey(params) {\n const type = getVariableType(params);\n if (!params || type !== \"object\") {\n console.warn(\"[Fr-track warning]: Event params must be an object\");\n return false;\n }\n if (typeof params[Symbol.iterator] !== \"function\") {\n console.warn(\"[Fr-track warning]: Event params must be an iterable object\");\n return false;\n }\n const keys = Object.keys(params);\n for (const key of keys) {\n if (!EVENT_KEYS.includes(key)) {\n console.warn(`[Fr-track warning]: Invalid event key: ${key}`);\n return false;\n }\n }\n return true;\n}\n\n// src/core/report/clean.ts\nvar cleanData = (rawData) => {\n try {\n const tempIds = /* @__PURE__ */ new Set();\n const resultData = rawData.filter((rawItem) => {\n const eventKeyResult = validateEventKey(rawItem);\n if (!eventKeyResult) {\n return false;\n }\n const eventTypeResult = validateEventType(rawItem.event_type);\n if (!eventTypeResult) {\n console.warn(\"[Fr-track warning]: error event type\");\n return false;\n }\n const eventTime = rawItem.event_time;\n const minDateTime = (/* @__PURE__ */ new Date(\"2025-12-01\")).getTime();\n if (!eventTime || typeof eventTime !== \"number\" || eventTime < minDateTime) {\n return false;\n }\n const id = `${rawItem.event_type}-${rawItem.event_name}-${rawItem.event_time}`;\n if (tempIds.has(id)) {\n return false;\n } else {\n tempIds.add(id);\n }\n return true;\n });\n return {\n type: \"success\",\n data: resultData\n };\n } catch (error) {\n console.warn(\"[Fr-track warning]: cleanData error\", error);\n const errReason = error.message || \"Unknown error\";\n return {\n type: \"fail\",\n errReason,\n data: rawData\n };\n }\n};\n\n// src/core/report/aggregation.ts\nvar aggregationData = (rawData) => {\n try {\n const resultData = [];\n for (let i = 0; i < rawData.length; i++) {\n const item = rawData[i];\n if (CAN_AGGREGATION_TYPES.includes(item.event_type) || item.is_aggregation) {\n const currentDate = new Date(item.event_time).setHours(0, 0, 0, 0);\n const resultItem = resultData.find(\n (r) => r.event_time === currentDate && r.event_type === item.event_type && r.event_name === item.event_name\n );\n if (!resultItem) {\n item.event_time = currentDate;\n resultData.push(item);\n } else {\n const customData = resultItem.custom_data;\n if (customData && customData.count) {\n customData.count += 1;\n resultItem.custom_data = customData;\n }\n }\n } else {\n resultData.push(item);\n }\n }\n return resultData;\n } catch (error) {\n console.warn(\"[Fr-track warn]: \\u805A\\u5408\\u5931\\u8D25\", error);\n return rawData;\n }\n};\n\n// src/core/report/index.ts\nimport * as localForage from \"localforage\";\nvar request = async (url, data) => {\n return new Promise((resolve, reject) => {\n if (\"sendBeacon\" in navigator) {\n const dataJson = JSON.stringify(data);\n const blob = new Blob([dataJson], { type: \"application/json\" });\n const status = navigator.sendBeacon(url, blob);\n if (status) {\n resolve(true);\n } else {\n reject();\n }\n } else {\n const xhr = new XMLHttpRequest();\n xhr.open(\"POST\", url, true);\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n xhr.onload = () => {\n if (xhr.status === 200) {\n resolve(xhr.response);\n } else {\n reject();\n }\n };\n xhr.onerror = () => {\n reject();\n };\n xhr.send(JSON.stringify(data));\n }\n });\n};\nvar onReportFail = async (url, data, clearCacheKey, retryCount) => {\n if (retryCount < 3) {\n await reportDataRequest(url, data, clearCacheKey, retryCount);\n } else {\n let reportErrorData = await localForage.getItem(CACHE_ERR_DATA_NAME);\n if (reportErrorData) {\n reportErrorData.push(...data);\n } else {\n reportErrorData = data;\n }\n await localForage.setItem(CACHE_ERR_DATA_NAME, reportErrorData);\n }\n};\nvar reportDataRequest = async (url, data, clearCacheKey = \"\", retryCount = 1) => {\n const reportData = Array.isArray(data) ? data : [data];\n try {\n await request(url, reportData);\n if (clearCacheKey) {\n await localForage.removeItem(clearCacheKey);\n }\n } catch (error) {\n onReportFail(url, reportData, clearCacheKey, retryCount + 1);\n }\n};\nvar reportCacheData = async (url) => {\n try {\n const cacheData = await getCacheData();\n if (!cacheData?.length) return;\n const cleanInfo = cleanData(cacheData);\n if (cleanInfo.type !== \"success\") {\n console.warn(\"[Fr-track warn]:\", cleanInfo.errReason);\n await localForage.removeItem(CACHE_DATA_NAME);\n return;\n }\n const result = aggregationData(cleanInfo.data);\n if (result && result.length) {\n reportDataRequest(url, result, CACHE_DATA_NAME);\n }\n } catch (error) {\n console.error(\"[Fr-track error]:\", error);\n }\n};\n\n// src/core/track/cache.ts\nvar setCacheData = async (data, url, maxLen, retryCount = 1) => {\n try {\n let cacheData = await localForage2.getItem(CACHE_DATA_NAME);\n if (cacheData) {\n cacheData.push(data);\n cacheData.length >= maxLen && reportCacheData(url);\n } else {\n cacheData = [data];\n }\n await localForage2.setItem(CACHE_DATA_NAME, cacheData);\n } catch (error) {\n const errMsg = retryCount > 3 ? error : \"Retrying...\";\n if (retryCount <= 3) {\n console.warn(\"[Fr-track warning]:\" + errMsg);\n setCacheData(data, url, retryCount + 1);\n } else {\n console.error(\"[Fr-track error]:\" + errMsg);\n reportDataRequest(url, data);\n }\n }\n};\nvar getCacheData = async () => {\n try {\n const cacheData = await localForage2.getItem(CACHE_DATA_NAME);\n return cacheData || [];\n } catch (error) {\n console.error(\"[Fr-track error]:\" + error);\n return [];\n }\n};\n\n// src/utils/uuid.ts\nvar getUserId = () => {\n const track_uuid = localStorage.getItem(\"track_uuid\");\n if (track_uuid) {\n return track_uuid;\n }\n const uuid = generateUserId();\n localStorage.setItem(\"track_uuid\", uuid);\n return uuid;\n};\n\n// src/utils/browser.ts\nimport * as Browser from \"bowser\";\nvar getBrowserAndDeviceInfo = () => {\n const defRes = {\n browserName: \"unknown\",\n browserVersion: \"unknown\",\n osName: \"unknown\",\n osVersion: \"unknown\",\n platformName: \"unknown\"\n };\n try {\n const ua = window.navigator.userAgent;\n if (!ua) return defRes;\n const info = Browser.parse(ua);\n const { browser, os, platform } = info;\n return {\n browserName: browser.name || \"unknown\",\n browserVersion: browser.version || \"unknown\",\n osName: os.name || \"unknown\",\n osVersion: os.version || \"unknown\",\n platformName: platform.type || \"unknown\"\n };\n } catch (error) {\n return defRes;\n }\n};\nvar getDeviceResolution = () => {\n if (!window) return \"unknown\";\n const { screen } = window;\n return `${screen.width}x${screen.height}`;\n};\n\n// src/index.ts\nvar FrTrack = class {\n constructor(options) {\n this.option = {\n project_name: \"\",\n report_url: \"\",\n app_version: \"\",\n auto_pv: false,\n maxCacheSize: 15,\n maxCacheTime: 3e5\n };\n this.userId = getUserId();\n this.routeMode = \"history\";\n this.timer = null;\n this.uvTimer = null;\n this.browserInfo = null;\n const {\n project_name,\n report_url,\n app_version = \"unknown\",\n auto_pv = false,\n maxCacheTime = 3e5,\n maxCacheSize = 15\n } = options;\n Object.assign(this.option, {\n project_name,\n report_url,\n auto_pv,\n maxCacheTime,\n maxCacheSize,\n app_version\n });\n this.init();\n }\n async reportPrevData() {\n try {\n const res = await localForage3.getItem(CACHE_DATA_NAME);\n const res1 = await localForage3.getItem(CACHE_ERR_DATA_NAME);\n if (res && res.length) {\n reportCacheData(this.option.report_url);\n }\n if (res1 && res1.length) {\n reportDataRequest(this.option.report_url, res1, CACHE_ERR_DATA_NAME);\n }\n } catch (err) {\n console.warn(\"[Fr-track warn]: \\u68C0\\u9A8C\\u5386\\u53F2\\u6570\\u636E\\u5931\\u8D25\");\n }\n }\n loopReport() {\n this.timer = setInterval(() => {\n reportCacheData(this.option.report_url);\n }, this.option.maxCacheTime);\n }\n onBrowserClose() {\n window.addEventListener(\"beforeunload\", () => {\n if (this.timer) {\n clearInterval(this.timer);\n this.timer = null;\n }\n if (this.uvTimer) {\n clearInterval(this.uvTimer);\n this.uvTimer = null;\n }\n reportCacheData(this.option.report_url);\n });\n window.addEventListener(\"visibilitychange\", () => {\n if (document.visibilityState !== \"visible\") {\n this.loopReport();\n } else {\n if (this.timer) {\n clearInterval(this.timer);\n this.timer = null;\n }\n reportCacheData(this.option.report_url);\n }\n });\n }\n init() {\n this.browserInfo = getBrowserAndDeviceInfo();\n this.reportPrevData();\n this.loopReport();\n this.onBrowserClose();\n this.frUserView();\n if (this.option.auto_pv) {\n if (this.routeMode === \"history\") {\n window.history.pushState = overrideHistoryMethods(\"pushState\");\n window.history.replaceState = overrideHistoryMethods(\"replaceState\");\n }\n this.frAutoPageView();\n }\n }\n track(params) {\n const { project_name, app_version, maxCacheSize, report_url } = this.option;\n const { osName, osVersion, browserName, browserVersion, platformName } = this.browserInfo;\n const trackParams = Object.assign(\n {\n project_name,\n app_version,\n user_id: this.userId,\n device_type: platformName,\n user_agent: `os: ${osName}--v${osVersion}, browser: ${browserName}--v${browserVersion}`,\n screen_resolution: getDeviceResolution(),\n user_timezone: getUserTimeZone(),\n event_time: Date.now(),\n custom_data: null\n },\n params\n );\n setCacheData(trackParams, report_url, maxCacheSize);\n }\n singleTrack(eventType, params) {\n const baseParams = {\n event_type: eventType\n };\n const trackParams = Object.assign(baseParams, params);\n this.track(trackParams);\n }\n /**\n * @method 自定义用户id\n */\n setUser(id) {\n this.userId = id;\n }\n /**\n * @method 自定义路由方式\n */\n setRouteMode(mode) {\n this.routeMode = mode;\n }\n /**\n * @method 模块view\n */\n frModuleView(event_name, custom_data) {\n const params = {\n event_name,\n custom_data\n };\n this.singleTrack(\"module_view\", params);\n }\n /**\n * @method 模块click\n */\n frModuleClick(event_name, custom_data, is_aggregation = false) {\n const params = {\n event_name,\n custom_data,\n is_aggregation\n };\n this.singleTrack(\"module_click\", params);\n }\n /**\n * @method 登录事件\n */\n frLoginEvent(event_name, custom_data, is_aggregation = false) {\n const params = {\n event_name,\n custom_data,\n is_aggregation\n };\n this.singleTrack(\"login_event\", params);\n }\n /**\n * @method 生单事件\n */\n frOrderEvent(event_name, custom_data, is_aggregation = false) {\n const params = {\n event_name,\n custom_data,\n is_aggregation\n };\n this.singleTrack(\"order_event\", params);\n }\n /**\n * @method 自定义事件\n */\n frCustomEvent(event_name, custom_data, is_aggregation = false) {\n const params = {\n event_name,\n custom_data,\n is_aggregation\n };\n this.singleTrack(\"custom_event\", params);\n }\n /**\n * @method 日志事件\n */\n frLogEvent(event_name, custom_data, is_aggregation = false) {\n const params = {\n event_name,\n custom_data,\n is_aggregation\n };\n this.singleTrack(\"log_event\", params);\n }\n /**\n * @method 点击事件\n */\n frClickEvent(event_name, custom_data, is_aggregation = false) {\n const params = {\n event_name,\n custom_data,\n is_aggregation\n };\n this.singleTrack(\"click_event\", params);\n }\n /**\n * @method 自动收集pv事件\n */\n frAutoPageView() {\n const methodsList = [];\n if (this.routeMode === \"hash\") {\n methodsList.push(\"hashchange\");\n } else {\n methodsList.push(...[\"popstate\", \"pushState\", \"replaceState\"]);\n }\n methodsList.forEach((method) => {\n window.addEventListener(method, () => {\n const href = window.location.href || \"\";\n const params = {\n event_name: href,\n custom_data: {\n page_url: href,\n page_name: \"unknown\",\n count: 1\n }\n };\n this.singleTrack(\"page_view\", params);\n });\n });\n }\n /**\n * @method pv事件\n */\n frPageView(event_name, custom_data) {\n const params = {\n event_name,\n custom_data\n };\n this.singleTrack(\"page_view\", params);\n }\n /**\n * @method uv事件\n */\n frUserView() {\n const currentDate = (/* @__PURE__ */ new Date()).setHours(0, 0, 0, 0);\n const interval = 60 * 60 * 1e3;\n const params = {\n event_name: \"user_view\"\n };\n this.singleTrack(\"user_view\", params);\n if (this.uvTimer) {\n clearInterval(this.uvTimer);\n this.uvTimer = null;\n }\n this.uvTimer = setInterval(() => {\n const now = (/* @__PURE__ */ new Date()).setHours(0, 0, 0, 0);\n if (now > currentDate + 24 * interval) {\n this.singleTrack(\"user_view\", params);\n }\n }, interval);\n }\n /**\n * @method 页面销毁事件\n */\n frPageDestroy(event_name, custom_data, is_aggregation = false) {\n const params = {\n event_name,\n custom_data,\n is_aggregation\n };\n this.singleTrack(\"page_destroy\", params);\n }\n /**\n * @method 手动立即上报缓存的数据\n */\n frReport() {\n reportCacheData(this.option.report_url);\n }\n};\nvar index_default = FrTrack;\nexport {\n index_default as default\n};\n"]}
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
interface Options {
|
|
2
|
+
project_name: string;
|
|
3
|
+
report_url: string;
|
|
4
|
+
app_version: string;
|
|
5
|
+
auto_pv: boolean;
|
|
6
|
+
maxCacheSize: number;
|
|
7
|
+
maxCacheTime: number;
|
|
8
|
+
}
|
|
9
|
+
type RequiredOptions = 'project_name' | 'report_url';
|
|
10
|
+
type CustomOptions = Pick<Options, RequiredOptions> & Partial<Omit<Options, RequiredOptions>>;
|
|
11
|
+
type CustomData = Partial<{
|
|
12
|
+
[key: string]: unknown;
|
|
13
|
+
count: number;
|
|
14
|
+
pit_id: string;
|
|
15
|
+
page_url: string;
|
|
16
|
+
page_id: string;
|
|
17
|
+
trace_id: string;
|
|
18
|
+
}>;
|
|
19
|
+
|
|
20
|
+
declare class FrTrack {
|
|
21
|
+
option: Options;
|
|
22
|
+
private userId;
|
|
23
|
+
private routeMode;
|
|
24
|
+
private timer;
|
|
25
|
+
private uvTimer;
|
|
26
|
+
private browserInfo;
|
|
27
|
+
constructor(options: CustomOptions);
|
|
28
|
+
private reportPrevData;
|
|
29
|
+
private loopReport;
|
|
30
|
+
private onBrowserClose;
|
|
31
|
+
init(): void;
|
|
32
|
+
private track;
|
|
33
|
+
private singleTrack;
|
|
34
|
+
/**
|
|
35
|
+
* @method 自定义用户id
|
|
36
|
+
*/
|
|
37
|
+
setUser(id: string): void;
|
|
38
|
+
/**
|
|
39
|
+
* @method 自定义路由方式
|
|
40
|
+
*/
|
|
41
|
+
setRouteMode(mode: 'history' | 'hash'): void;
|
|
42
|
+
/**
|
|
43
|
+
* @method 模块view
|
|
44
|
+
*/
|
|
45
|
+
frModuleView(event_name: string, custom_data: CustomData): void;
|
|
46
|
+
/**
|
|
47
|
+
* @method 模块click
|
|
48
|
+
*/
|
|
49
|
+
frModuleClick(event_name: string, custom_data: CustomData, is_aggregation?: boolean): void;
|
|
50
|
+
/**
|
|
51
|
+
* @method 登录事件
|
|
52
|
+
*/
|
|
53
|
+
frLoginEvent(event_name: string, custom_data: CustomData, is_aggregation?: boolean): void;
|
|
54
|
+
/**
|
|
55
|
+
* @method 生单事件
|
|
56
|
+
*/
|
|
57
|
+
frOrderEvent(event_name: string, custom_data: CustomData, is_aggregation?: boolean): void;
|
|
58
|
+
/**
|
|
59
|
+
* @method 自定义事件
|
|
60
|
+
*/
|
|
61
|
+
frCustomEvent(event_name: string, custom_data: CustomData, is_aggregation?: boolean): void;
|
|
62
|
+
/**
|
|
63
|
+
* @method 日志事件
|
|
64
|
+
*/
|
|
65
|
+
frLogEvent(event_name: string, custom_data: CustomData, is_aggregation?: boolean): void;
|
|
66
|
+
/**
|
|
67
|
+
* @method 点击事件
|
|
68
|
+
*/
|
|
69
|
+
frClickEvent(event_name: string, custom_data: CustomData, is_aggregation?: boolean): void;
|
|
70
|
+
/**
|
|
71
|
+
* @method 自动收集pv事件
|
|
72
|
+
*/
|
|
73
|
+
private frAutoPageView;
|
|
74
|
+
/**
|
|
75
|
+
* @method pv事件
|
|
76
|
+
*/
|
|
77
|
+
frPageView(event_name: string, custom_data: CustomData): void;
|
|
78
|
+
/**
|
|
79
|
+
* @method uv事件
|
|
80
|
+
*/
|
|
81
|
+
frUserView(): void;
|
|
82
|
+
/**
|
|
83
|
+
* @method 页面销毁事件
|
|
84
|
+
*/
|
|
85
|
+
frPageDestroy(event_name: string, custom_data: CustomData, is_aggregation?: boolean): void;
|
|
86
|
+
/**
|
|
87
|
+
* @method 手动立即上报缓存的数据
|
|
88
|
+
*/
|
|
89
|
+
frReport(): void;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
export { FrTrack as default };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
interface Options {
|
|
2
|
+
project_name: string;
|
|
3
|
+
report_url: string;
|
|
4
|
+
app_version: string;
|
|
5
|
+
auto_pv: boolean;
|
|
6
|
+
maxCacheSize: number;
|
|
7
|
+
maxCacheTime: number;
|
|
8
|
+
}
|
|
9
|
+
type RequiredOptions = 'project_name' | 'report_url';
|
|
10
|
+
type CustomOptions = Pick<Options, RequiredOptions> & Partial<Omit<Options, RequiredOptions>>;
|
|
11
|
+
type CustomData = Partial<{
|
|
12
|
+
[key: string]: unknown;
|
|
13
|
+
count: number;
|
|
14
|
+
pit_id: string;
|
|
15
|
+
page_url: string;
|
|
16
|
+
page_id: string;
|
|
17
|
+
trace_id: string;
|
|
18
|
+
}>;
|
|
19
|
+
|
|
20
|
+
declare class FrTrack {
|
|
21
|
+
option: Options;
|
|
22
|
+
private userId;
|
|
23
|
+
private routeMode;
|
|
24
|
+
private timer;
|
|
25
|
+
private uvTimer;
|
|
26
|
+
private browserInfo;
|
|
27
|
+
constructor(options: CustomOptions);
|
|
28
|
+
private reportPrevData;
|
|
29
|
+
private loopReport;
|
|
30
|
+
private onBrowserClose;
|
|
31
|
+
init(): void;
|
|
32
|
+
private track;
|
|
33
|
+
private singleTrack;
|
|
34
|
+
/**
|
|
35
|
+
* @method 自定义用户id
|
|
36
|
+
*/
|
|
37
|
+
setUser(id: string): void;
|
|
38
|
+
/**
|
|
39
|
+
* @method 自定义路由方式
|
|
40
|
+
*/
|
|
41
|
+
setRouteMode(mode: 'history' | 'hash'): void;
|
|
42
|
+
/**
|
|
43
|
+
* @method 模块view
|
|
44
|
+
*/
|
|
45
|
+
frModuleView(event_name: string, custom_data: CustomData): void;
|
|
46
|
+
/**
|
|
47
|
+
* @method 模块click
|
|
48
|
+
*/
|
|
49
|
+
frModuleClick(event_name: string, custom_data: CustomData, is_aggregation?: boolean): void;
|
|
50
|
+
/**
|
|
51
|
+
* @method 登录事件
|
|
52
|
+
*/
|
|
53
|
+
frLoginEvent(event_name: string, custom_data: CustomData, is_aggregation?: boolean): void;
|
|
54
|
+
/**
|
|
55
|
+
* @method 生单事件
|
|
56
|
+
*/
|
|
57
|
+
frOrderEvent(event_name: string, custom_data: CustomData, is_aggregation?: boolean): void;
|
|
58
|
+
/**
|
|
59
|
+
* @method 自定义事件
|
|
60
|
+
*/
|
|
61
|
+
frCustomEvent(event_name: string, custom_data: CustomData, is_aggregation?: boolean): void;
|
|
62
|
+
/**
|
|
63
|
+
* @method 日志事件
|
|
64
|
+
*/
|
|
65
|
+
frLogEvent(event_name: string, custom_data: CustomData, is_aggregation?: boolean): void;
|
|
66
|
+
/**
|
|
67
|
+
* @method 点击事件
|
|
68
|
+
*/
|
|
69
|
+
frClickEvent(event_name: string, custom_data: CustomData, is_aggregation?: boolean): void;
|
|
70
|
+
/**
|
|
71
|
+
* @method 自动收集pv事件
|
|
72
|
+
*/
|
|
73
|
+
private frAutoPageView;
|
|
74
|
+
/**
|
|
75
|
+
* @method pv事件
|
|
76
|
+
*/
|
|
77
|
+
frPageView(event_name: string, custom_data: CustomData): void;
|
|
78
|
+
/**
|
|
79
|
+
* @method uv事件
|
|
80
|
+
*/
|
|
81
|
+
frUserView(): void;
|
|
82
|
+
/**
|
|
83
|
+
* @method 页面销毁事件
|
|
84
|
+
*/
|
|
85
|
+
frPageDestroy(event_name: string, custom_data: CustomData, is_aggregation?: boolean): void;
|
|
86
|
+
/**
|
|
87
|
+
* @method 手动立即上报缓存的数据
|
|
88
|
+
*/
|
|
89
|
+
frReport(): void;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
export { FrTrack as default };
|