@58fe/log-plugins

2.0.1 • Public • Published

log-plugins 埋点插件

npm version dm

安装

<!-- 推荐CDN -->
<script src="https://h5-cdn.58.com/git/sdk/hrg-fe/zp-component/log-plugins/index.js"></script>

// 需配置扩展依赖
module.exports = {
  externals: {
    '@58fe/log-plugins':'LogPlugins'
  }
}
npm i @58fe/log-plugins -S

使用

es6

import { Log } from "@58fe/log-plugins";
Log(args);

vue2

// 引入
import { VueLog } from "@58fe/log-plugins";
Vue.use(VueLog);
// or
// 埋点默认项,参数传‘’会取配置项字段
Vue.use(VueLog, {
    debug: false,  // true: 打印埋点
    pageType: 'home',
    actionType: 'show',
    cate: '9224',
    p1: '1', // p1-p8字段见下列【58app埋点说明】
    ...
    p8: '8',
    openExposure: false, // 曝光数据上报开关
});

指令使用

** args 详见下方参数说明 **

点击埋点:v-log-click="args"

展示埋点:v-log-show="args"

曝光埋点:v-log-exp="args"
曝光埋点需要配置项开启openExposure

停留时长埋点:v-log-stay="args"
停留时长会自动埋在参数params中p5、p6位置。时长需监听返回拦截,例如:
mounted() {
    this.addBackEvent();
},
methods: {
    addBackEvent() {
        if(!window.WBAPP) return;
        window.WBAPP.invoke('device_event', {
        type: 'goback'
        },() => {
            this.$log.stayStop();
            window.WBAPP.action.goback(true) ;
        })
    }
}


原型使用

this.$log(args);

示例

v-log-click="['home','click']"
this.$log(['home','click']);

vue3

// 引入
import { Vue3Log } from "@58fe/log-plugins";
app.use(VueLog);
// or
// 埋点默认项,参数传‘’会取配置项字段
app.use(VueLog, {
    debug: false,  // true: 打印埋点
    pageType: 'home',
    actionType: 'show',
    cate: '9224',
    p1: '1', // p1-p8字段见下列【58app埋点说明】
    ...
    p8: '8',
    openExposure: false, // 曝光数据上报开关
});

指令使用

同vue2指令使用方式

函数调用

import { Vue3Log } from '@58fe/log-plugins';
Vue3Log.log(arg);

react

// 引入
import React from "react";
import { ReactLog } from "@58fe/log-plugins";
ReactLog(React);
// or
// 埋点默认项,参数传‘’会取配置项字段
ReactLog(React, {
    debug: false,  // true: 打印埋点
    pageType: 'home',
    actionType: 'show',
    cate: '9224',
    p1: '1', // p1-p8字段见下列【58app埋点说明】
    ...
    p8: '8'
});

// 组件使用
React.$log(args);

示例

React.$log(['home','click']);

RN

// 引入
import React from "react";
import WBAPP from '@w/wbapp';
import { RNLog } from "@58fe/log-plugins";
RNLog(React, {
    ctx: WBAPP, // RN需要显示传入执行环境,其他用法同react
    debug: false,
    pageType: 'home',
    actionType: 'show',
    cate: '9224',
    p1: '1',
    ...
    p8: '8'
});

// 组件使用
React.$log(args);

初始参数

参数 必填 类型 说明
debug false boolean 开启后打印埋点值
disabled false boolean 开启后禁止埋点上报
pageType false string/number pageType 默认值
actionType false string/number actionType 埋点默认值
cate false string cate 埋点默认值
trackJoin false string PC&M 端 pageType 和 actionType 连接符,默认'_'
openExposure false boolean 默认 false;是否开启曝光配置
stayUnit false number 默认 1000;停留时长单位,默认以秒为单位。
可配合 this.$log.stayStop 触发全部时长埋点
stayTimeIndex false string 默认 p5;停留时长在参数params中位置,内容:停留时长(单位:s)
stayTimestampIndex false string 默认 p6;停留时长时间戳在参数params中位置,内容:进入-离开访问时间戳(单位:s)

args 调用参数

args 类型为数组

参数 必填 类型 说明
pageType true string/number 页面类型,args 第一个值
actionType app:true/pc:false/m:false string/number 埋点类型,args 第二个值
opts false object 其他配置,对应 app opts,args 第三个值,见下方58app埋点说明

58app 埋点说明

weblog协议参数文档:http://hybird.58corp.com/wb/action/detail/620cbe2eac4d11748c1f93cd

opts = {
    cate: "",
    params: [],
};

// params 数组值对应埋点表中 p1、p2、p3 等字段,即[p1,p2,p3,p4,p5,p6,p7,p8]

PC & M 说明

1.需引入对应埋点 js,如 m 端://tracklog.58.com/referrer_m.js

2.pageType 对应埋点 from 参数,actionType、opts 值在 pc 和 m 端无效

Readme

Keywords

Package Sidebar

Install

npm i @58fe/log-plugins

Weekly Downloads

26

Version

2.0.1

License

MIT

Unpacked Size

29.5 kB

Total Files

3

Last publish

Collaborators

  • skybjf
  • rockolin
  • reking
  • imlimiao
  • xiaoyuya
  • felix_xue
  • zhangboyu
  • marinamumu
  • bestvist
  • liuhanbing