xm-minx-tracking
v0.0.7
Published
一个支持vue2和vue3的埋点插件
Readme
埋点 sdk
一个支持 vue2 和 vue3 的埋点插件
// request.js
const service = aixos.create()
// #region 埋点 sdk
import WebTracker from 'xm-minx-tracking'
import service from '@/utils/request'
import router from '@/router'
<!-- vue3 使用 app.use() -->
Vue.use(WebTracker, {
appId: 'erp-web-page',
endpointURL: 'http://192.168.1.48:3020/track',
debug: false,
useBeacon: true,
useFetch: false,
rate: 1
})
// 监听 axios
WebTracker.getTracker().axiosMonitor.monitorInstance(service)
// 监听 vue 路由
WebTracker.getTracker().vueRouterMonitor.monitorRouter(router)
// #endregionexport interface TrackerConfig {
appId: string // 应用ID
endpointURL: string // 数据上报地址
userId?: string // 用户ID(可选)
version?: string // SDK版本(可选)
useBeacon?: boolean // 是否使用 sendBeacon 发送数据(可选)
useFetch?: boolean // 是否使用 fetch 发送数据(可选)
autoTrackError?: boolean // 是否自动跟踪错误(可选)
autoTrackPerformance?: boolean // 是否自动跟踪页面性能(可选)
autoTrackPv?: boolean // 是否自动跟踪页面访问(可选)
autoTrackHttp?: boolean // 是否自动跟踪 HTTP 请求(可选)
autoReport?: boolean // 是否自动上报数据(可选)
debug?: boolean // 是否开启调试模式(可选)
rate: number // 上报数据采样率(0-1)
reportInterval?: number // 上报数据间隔(毫秒)
ignoreRateEventTypes?: EventType[] // 忽略采样率的事件类型(可选)
immediateReport?: boolean // 是否立即上报数据(可选)
}
type EventType =
| 'page_view'
| 'performance'
| 'js_error'
| 'promise_error'
| 'api_ok'
| 'api_error'
| 'page_stay_time'
| 'custom'