Skip to content

Commit

Permalink
Merge pull request #11 from vitegil/develop_qq
Browse files Browse the repository at this point in the history
Develop qq
  • Loading branch information
SaraiNoQ authored Aug 16, 2022
2 parents 5aec2b5 + 5c80c8b commit 47f6fc0
Show file tree
Hide file tree
Showing 3 changed files with 71 additions and 4 deletions.
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@ mounted () {
domTracker: true,
jsError: true,
lazyReport: true,
timeTracker: true
timeTracker: true,
deviceTracker: true,
})
}
```
Expand All @@ -39,7 +40,7 @@ mounted () {
`timeTracker` 属性设置为 `true`,同时开启 `lazyReport`,在页面关闭前会自动将页面加载时间返回。

> 注意
> 计算页面加载时间至少需要 2.5 秒,若用户在计算工程中关闭页面,则不能获得响应数据。
> 计算页面加载时间至少需要 2.5 秒,若用户在计算过程中关闭页面,则不能获得响应数据。
## 项目开发

Expand Down
4 changes: 2 additions & 2 deletions src/core/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ export default class Tracker {
this.saveTracker({
event: `${event}-event`,
targetKey: `${event}-event`,
clickData: {
data: {
x: (e as MouseEvent).clientX,
y: (e as MouseEvent).clientY,
},
Expand All @@ -166,7 +166,7 @@ export default class Tracker {
this.sendTracker({
event: `${event}-event`,
targetKey: `${event}-event`,
clickData: {
data: {
x: (e as MouseEvent).clientX,
y: (e as MouseEvent).clientY,
},
Expand Down
66 changes: 66 additions & 0 deletions src/types/event.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
import type { DeviceData } from './device'
import type { PerformanceData, TimingData } from './timing'

export enum eventType {
jsError = 'js-error',
promiseError = 'promise-error',
Expand All @@ -8,3 +11,66 @@ export enum eventType {
timing = 'timing',
performance = 'performance',
}

export interface DeviceEventData {
event: eventType.deviceEvent
targetKey: string
data: DeviceData
}

export interface ClickEventData {
event: eventType.clickEvent
targetKey: string
data: {
x: number
y: number
}
}

export interface UVEventData {
event: eventType.uvEvent
targetKey: string
data: string // 唯一标识符,可以计算总数获得uv
}

export interface JSErrorData {
event: eventType.jsError
targetKey: string
data: {
message: string
filename: string
lineno: number
colno: number
}
}

export interface PromiseErrorData {
event: eventType.promiseError
targetKey: string
data: {
message: string
filename: string
err: any
}
}

export interface ResourceErrorData {
event: eventType.resourceError
targetKey: string
data: {
url: string | undefined
}
}

export interface TimingEventData {
event: eventType.timing
targetKey: string
data: TimingData
}

export interface PerformanceEventData {
event: eventType.performance
targetKey: string
data: PerformanceData
firstMeaningfulPaint?: string
}

0 comments on commit 47f6fc0

Please sign in to comment.