数据结构 
sdk发送给后端的数据格式(上报事件列表时的数据格式)
js
{
  baseInfo: {
    clientHeight: 831,
    clientWidth: 843,
    colorDepth: 30,
    pixelDepth: 30,
    deviceId: "t_134b23d7-a6beebb9-6c837db57a827b43",
    screenWidth: 1728,
    screenHeight: 1117,
    vendor: "Google Inc.",
    platform: "MacIntel",
    userUuid: "init_userUuid",
    sdkUserUuid: "3980225e0947a5f36c57ff63d27ddf65",
    ext: {},
    appName: "cxh",
    appCode: "",
    pageId: "134b23e7-9acc9418-0fa455bf47d76e2b",
    sessionId: "s_134b23e7-948b4e06-7da1d67c851e3138",
    sdkVersion: "1.0.1-beta.0",
    ip: "115.233.220.3",
    sendTime: 1689668599911
  },
  eventInfo: [
    {
      tti: 171.6,
      ready: 373.8,
      loadon: 442.2,
      firstbyte: 24.2,
      ttfb: 15.2,
      trans: 6.2,
      dom: 141.2,
      res: 68.4,
      ssllink: 4.7,
      triggerPageUrl: 'http://localhost:6656/#/event',
      eventType: 'performance',
      eventId: 'page',
      sendTime: 1689668884736
    },
    {
      initiatorType: 'script',
      transferSize: 300,
      encodedBodySize: 78636,
      decodedBodySize: 78636,
      duration: 35.4,
      startTime: 57.2,
      fetchStart: 57.2,
      domainLookupStart: 57.2,
      domainLookupEnd: 57.2,
      connectStart: 57.2,
      connectEnd: 57.2,
      requestStart: 85.6,
      responseStart: 88.9,
      responseEnd: 92.6,
      eventType: 'performance',
      eventId: 'resource',
      requestUrl: 'http://localhost:6656/@vite/client',
      triggerTime: 1689668883347,
      triggerPageUrl: 'http://localhost:6656/#/event',
      sendTime: 1689668884736
    },
    {
      eventType: 'pv',
      eventId: '134b23e7-9b42e328-fd20b4a18a4c46b7',
      triggerPageUrl: 'http://localhost:6656/#/event',
      referer: 'http://localhost:6656/#/event',
      title: 'example-vue2',
      action: 'navigation',
      triggerTime: 1689668883730,
      sendTime: 1689668884736
    }
  ]
}baseInfo 
全局的一些属性,每次上报事件列表都会带上 baseInfo
| 属性名 | 说明 | 
|---|---|
| clientHeight | 网页可见区高度 | 
| clientWidth | 网页可见区宽度 | 
| colorDepth | 显示屏幕调色板的比特深度 | 
| pixelDepth | 显示屏幕的颜色分辨率 | 
| deviceId | 设备ID | 
| screenWidth | 显示屏幕的宽度 | 
| screenHeight | 显示屏幕的高度 | 
| vendor | 浏览器名称 | 
| platform | 浏览器平台的环境,不是电脑系统的x64这样的(浏览器平台的环境可能是x32) | 
| userUuid | 用户ID | 
| sdkUserUuid | sdk内部会根据硬件位置等信息生成一个用户ID | 
| ext | 作为附带对象参数给到服务端 | 
| appName | 应用Name | 
| appCode | 应用Code | 
| pageId | 应用ID | 
| sessionId | 会话ID | 
| sdkVersion | 插件版本号 | 
| ip | 用户的IP(可能为空) | 
| sendTime | 发送时间 | 
eventInfo 
sdk采集到的事件列表,列表内的事件对象会因为不同的事件类型而拥有不用的属性 (不同类型下的事件对象属性有很大差异)
TIP
对于采集到的事件对象,内部会含有 eventType、eventID 字段,下面对这两个字段进行解释,不同事件类型的数据结构会在对应的目录中展示说明
ts
/**
 * 触发的事件是什么类型 - eventType
 */
export enum SEDNEVENTTYPES {
  PV = 'pv', // 路由
  ERROR = 'error', // 错误
  PERFORMANCE = 'performance', // 资源
  CLICK = 'click', // 点击
  DWELL = 'dwell', // 页面卸载
  CUSTOM = 'custom', // 手动触发事件
  INTERSECTION = 'intersection' // 曝光采集
}
/**
 * 触发的事件id - eventID
 */
export enum SENDID {
  PAGE = 'page', // 页面
  RESOURCE = 'resource', // 资源
  SERVER = 'server', // 请求
  CODE = 'code', // code
  REJECT = 'reject', // reject
  CONSOLEERROR = 'console.error' // console.error
  // target.nodeName ( 元素名 ps:script, 在html元素上发生异常时会作为eventId )
  // pageId ( 在页面跳转时会带上应用ID作为eventId )
}特殊情况 
当eventType为dwell时eventId是一串根据时间戳计算得来的字符
当eventType为click时eventId的采集顺序为
- 从触发的元素向上找其父级元素(直到body之下)的属性,用最先找到的
data-warden-event-id属性的值 - 与上同理,用最先找到的
title属性的值 - 与上同理,找到带有
data-warden-container属性的元素- 找到的话
 - 用这个元素属性的
data-warden-event-id值 - 用这个元素属性的
title值 - 都没有的话就用这个元素属性的
data-warden-container值 - 还是没有的话就用触发元素的
tagName 
 - 用触发元素的
tagName 
DANGER
主动调用 tracePageView() 时不能指定 eventType(pv) 以及 eventId(pageId)
主动调用 traceError() 时不能指定 eventType(error) ,可以指定eventId
主动调用 traceCustomEvent() 时不能指定 eventType(custom) ,可以指定eventId
主动调用 tracePerformance() 时不能指定 eventType(performance) ,可以指定eventId