引用
从static中引用统计js, 传入统计的配置地址。
<head>
<script type="text/javascript" src="/static/script/lzx-analysis.min.js"></script>
</head>
<body>
<script>
var analy = new LzxAnalysis({
url: '/lexueserver/config/statistics.do?configId=tongji-wenjuan'
})
</script>
</body>
对应前后端分离的项目,还可以使用npm方式安装lzx-analysis
npm install --save lzx-analysis
调用方式不变
import { LzxAnalysis } from 'lzx-analysis'
var analy = new LzxAnalysis({
url: '/lexueserver/config/statistics.do?configId=tongji-wenjuan'
})
注意:一个单页面应用或者一个页面,除非有特殊情况。建议只初始化(new LzxAnalysis)一次。
url表示获取统计代码的地址,前端找后端要,后端去看green
自定义事件
setEvent
如果项目处理基础的PV,UV统计之外,产品和运营还需要更多粒度的统计,可以调用自定义事件。例如智能考勤,用户点击跳过新手指引,产品希望记录点击跳过新手指引的人的用户名和学校名,给出的事件为ID click_znkq_web_xsts_cancel。则可以在界面上,用户触发点击跳过新手指引是,绑定事件然后触发如下代码。
analy.setEvent('click_znkq_web_xsts_cancel', {
name: 'xxx',
schoolName: '北京实验xxx小学'
})
setCommonEventData
如果一个项目所有的自定义事件都需要传入一个公共数据,如用户角色和学习名称。可以在初始化后,设置自定义事件的公共数据。这样就不用每个自定义事件手动的去写这些数据了。
analy.setCommonEventData({
'用户角色': '教师',
schoolName: '北京实验xxx小学'
})
setAllEventCurrentTime
如果产品希望所有的自定义事件都带上当前时间,这只需要设置所有的自定义事件带上时间就好。
analy.setAllEventCurrentTime()
本地模拟
在没有获取到url的时候,本地开发时,可以在index.html head前面,加上下面的代码,来模拟,这个时候,调用new LzxAnalysis就不用穿url参数了;
<script>
var _lzxtongji_paq = _lzxtongji_paq || {};
(function() {
_lzxtongji_paq.app = "xxxx";
_lzxtongji_paq.site = "xxx";
_lzxtongji_paq.user = "xxx";
_lzxtongji_paq.debug = true;
var hm = document.createElement("script");
var scriptVersion = new Date().getFullYear() + (new Date().getMonth() + 1) + new Date().getDate();
hm.src = "http://public.res.lezhiyun.com/public-js/analysis.js?" + scriptVersion;
hm.defer = true;
hm.async = 1;
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>