1 Star 2 Fork 2

优启科技-FrontEnd Group / client-stat

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

client-stat

旧版本文档

简介

前端埋点,支持:

  • 页面上报
  • 节点在窗口内上报
  • 点击上报
  • 已上报记录(参数可选)
  • 上报数据以pipe形式进行操作(添加数据、修改上报格式等)
  • 可以添加插件控制pipe
  • 监听上报页面路径并可修改数据

安装依赖

npm install --save stat

初始化

import Stat from 'stat'
	
const stat = new Stat(params)

参数(params)

key type description
report Function 接收上报参数的方法
url String 请求地址(未传上报方法时可以使用内置请求)
offset Number 路径偏移,用作节点存储的key。
如使用 vue 且有 router 并填写了 base url 则传1,如:/xxx/yyy/zzz -> 传 0 时取xxx,传 1 时取 yyy
showConsole Boolean 展示上报数据
oncePageView Boolean 页面展示上报缓存
onceNodeView Boolean 节点展示上报缓存
closeAutoNodeReport Boolean 关闭自动节点展示上报
plugins Array<Object | Function> 插件,接收对象(对象时执行其中的apply方法)或函数,并传入当前stat实例

API(Stat构造函数)

name description use params
listen 监听上报路径,添加默认参数,在获取默认值之前执行 Stat.listen(reg, pipe) reg 匹配路径
pipe 改变单个数据的方法,该方法接收单个上报数据
pipe 添加数据处理钩子,在获取默认值之后,在上报之前执行 Stat.pipe(pipe) pipe 改变整个上报数据的方法,该方法接收这次上报的所有数据
on 监听钩子 Stat.on(type, callback) type 监听类型 callback 回调函数
type类型支持: report -> 上报完成钩子,callback(error, successData, sourceData)

API(stat实例)

name description use params
setOptions 设置参数 stat.setOptions(options) options 配置参数
setNextParams 设置上报默认参数 stat.setNextParams(params) params 默认参数
listen 监听上报路径,添加默认参数,在获取默认值之前执行 stat.listen(reg, pipe) reg 匹配路径
pipe 改变单个数据的方法
pipe 添加数据处理钩子,在获取默认值之后,在上报之前执行 stat.pipe(pipe) pipe 改变整个上报数据的方法,该方法接收这次上报的所有数据
on 监听钩子 stat.on(type, callback) type 监听类型 callback 回调函数
type类型支持: report -> 上报完成钩子,callback(error, successData, sourceData)
addNode 添加上报节点 stat.addNode(el, { id, unView, unClick, ...params }) el 需要绑定的dom节点
id 唯一id
unView 该节点不需要展示上报
unClick 该节点不需要点击上报
params 需要绑定的数据
removeNode 移除上报节点 stat.removeNode(id) id 唯一id
nodeReport 节点上报 stat.nodeReport() -
pageReport 页面上报 stat.pageReport(params) params 上报所需参数
clickReport 点击上报 stat.clickReport(params) params 上报所需参数
getCurrentData 获取当前默认数据 stat.getCurrentData(params) params 上报所需参数

插件类(plugins)

初始化(个别插件有先后顺序)

import Stat from 'stat'
import { VuePlugin, WatchRoutePlugin, NativePlugin, NativePlugin_3, H5_format } from 'stat/plugins'
// import Vue from 'vue'
// import hostSdk from 'host-sdk'
// import WatchRoute from 'watch-route'

const stat = new Stat({
	plugins: [
        // new VuePlugin(Vue),
        // new WatchRoutePlugin(WatchRoute),
		// new NativePlugin(hostSdk),
		// new NativePlugin_3(hostSdk), // 要求 host-sdk 3.x 版本及以上
        new H5_format(),
    ]
})

详情

  • VuePlugin: 提供 v-stat 指令

    • 指令封装于 addNode 方法,参数一致
  • WatchRoutePlugin: 提供 页面链(pageFrom)、父级信息(parentPage, parentParams)

    • 该插件需传入 WatchRoute 构造函数,并在stat实例上挂载route实例
  • NativePlugin: 提供客户端埋点所需及上报,需和 WatchRoutePlugin 一同使用以获取页面链等上报所需数据

    • 该插件需传入 hostSdk 依赖
  • H5_format: webapp上报格式化数据,转成上报需要的格式,

    • 该插件为stat实例提供 setClientDetail 方法,该方法用于设置:渠道(channel),平台(platform,该参数已内置判断),用户id(userId)

更新

4.3.0

插件中心库与vue解耦


4.2.1

节点上报行为与页面上报同步


4.2.0

更新 host-sdk plugin

兼容老 host-sdk


4.1.0

增加 API -> on 方法,可添加钩子


4.0.2

增加配置 closeAutoNodeReport ,可自动上报节点展示(nodeReport)


4.0.1

数据的完全可控


4.0.0

易用性、可扩展性重构


空文件

简介

基于客户端的自主埋点 展开 收起
JavaScript
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
JavaScript
1
https://gitee.com/ireadercity/client-stat.git
git@gitee.com:ireadercity/client-stat.git
ireadercity
client-stat
client-stat
master

搜索帮助