待做
# 待做
# API打点
wd.track({
eventId: '',
eventType: '',
});
wd.trackError(e);
// 记录开始和结束,筛选统计开始和结束之间的事件行为
wd.mark('业务标题');
// mark和clear中间的手动和自动的打点都会可以被统计到一个分组中
wd.track({});
wd.clear('业务标题');
# 可配置
- 可配置最大发送时长
- 可配置最大缓存数量
- 主动上报方法可配置同步触发
# 设置全局参数
新增由使用者来配置想要的参数名
# 备注
- 缺少一个屏蔽埋点的属性
- 错误拦截里面: 拦截了所有的promise的reject,看看怎么配置能让某些reject正常化
- vue内的代码报错会触发两次报错, 一个是vue的报错,一个是console.error的报错, 看看这样的场景怎么样能屏蔽一个
- 区分唯一用户,比如设备号+token,看看有没有把设备号和token都传给后端了,要不然后端无法区分唯一用户(https://blog.csdn.net/beyond__devil/article/details/82949147)
- 曝光采集(指一个元素在视口停留了多久,例如淘宝,向下滑动的过程中如果在其中一屏停留超过2秒则会记录并埋点 IntersectionObserver)
# params
点击事件的 params 规则可以优化一下
# 时间
检查下每个采集事件是否都带上了当前时间, 发送时间
# error
- 页面错误自动收集,可以设置相同错误重复发送的阈值,达到阈值不再上报,可以规避一些循环错误无限上报 需要记录所有已经发生的错误,错误重复发生的次数, 这里要想一个较好的方案
- 相同的错误: 错误类型一致,报错信息一致(例如: 同一个文件位置、同一个接口和入参)
- 比如说vue内也有报错机制,会再次触发
console.error
,产生两次相同的错误采集信息,需要在插件内就把这种重复的给去除
# 资源监控
需要对那一块的时间精度进行把控
# 请求
- 没有加上区分 post 和 get
- axios请求也要加上去,可配置,有些后端是不支持的
# 代码
优化一下代码,还是感觉比较凌乱