0.0.17 • Published 2 years ago

@ztocwst/tracker v0.0.17

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

埋点 SDK

NPM version NPM version NPM downloads

用于中通云仓系统页面埋点统计的前端 sdk,统计页面访问量、加载时间,按钮点击次数等

文档说明

该文档部署采用 @ztocwst/deploy工具部署

Install

npm i @ztocwst/tracker --save

Usage

不同场景不同使用方式

默认,常规

import Tracker from '@ztocwst/tracker'

// 初始化
const t = new Tracker({
  appCode: 'OMP',
  source: 'PC',
  eventInfo: {
    eventCode: 'user_search',
    eventType: `加载`,
    eventStart: 1631175747283,
    eventEnd: 1631175775502,
    eventCategory: '0',
    eventName: '首页',
  },
  userInfo: {
    userId: 'zhangsan',
    userName: '张三',
    // ...
  },
})

// 触发埋点,事件执行时间自己控制
t.trace({
  eventInfo: {
    eventCode: 'user_search',
    eventType: '点击',
    eventStart: 1631175747283,
    eventEnd: 1631175775502,
    eventCategory: '1',
    eventName: '用户查询',
  },
  // ...
})

记录页面打开时间

const t = new Tracker({
  appCode: 'OMP',
  source: 'PC',
  // userInfo一般通过setOptions方法动态设置
  userInfo: {
    userId: 'zhangsan',
    userName: '张三',
    // ...
  },
})

// 设置用户信息
t.setOptions({
  userInfo: {
    userId: ret.code,
    userName: ret.name,
    warehouseCode: ret.defaultWarehouseCode,
    warehouseName: ret.defaultWarehouseName,
  },
})

// 点击菜单打开页面时,执行时间sdk会去处理
t.add({
  eventCode: 'user-center',
  eventName: `用户中心`,
  eventType: `加载`,
  eventCategory: '0',
})

// 特殊情况下需要销毁,或者取消埋点,可以在put之前中断
// t.abort('user-center') // or t.destroy()

// 当页面加载完成,手动执行out即可,执行结束时间sdk处理
t.put('user-center')

记录页面停留时间

通过 eventType="停留"来做记录页面停留时长

⚠️ 注意调用put方法时最后一个参数需要为 true,表示记录停留时长,否则默认为页面加载时长

t.add({
  eventCode: 'user-center',
  eventName: `用户中心`,
  eventType: `停留`,
  eventCategory: '0',
})

t.put('user-center', false, false, true)

还可以这样用

// 直接调用
Tracker.of({
  // ...
}).trace({
  // ...
})

Note

环境配置:

  • 仅支持developmentproduction 两种环境配置,默认development,各项目不同环境自行配置 Tracker 环境
  • 建议开发和测试环境都设置为development,线上或者预发才使用production
const t = new Tracker({
  // ...
})
if (process.env.NODE_ENV === 'production') {
  t.setEnv(`production`)
}
if (process.env.BUILD_ENV === 'test') {
  t.setEnv(`development`)
}
// ...

Docs

npm run doc

git commitlint

git add .
git cz
git push

部署

deploy --domain=tracker.ztoyc.zt --output=doc

或者

npm run deploy
0.0.11

2 years ago

0.0.12

2 years ago

0.0.13

2 years ago

0.0.14

2 years ago

0.0.15

2 years ago

0.0.16

2 years ago

0.0.17

2 years ago

0.0.10

2 years ago

0.0.9

2 years ago

0.0.8

3 years ago

0.0.7

3 years ago

0.0.5

3 years ago

0.0.6

3 years ago

0.0.3

3 years ago

0.0.2

3 years ago

0.0.4

3 years ago

0.0.1

3 years ago