待做

# 待做

# 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请求也要加上去,可配置,有些后端是不支持的

# 代码

优化一下代码,还是感觉比较凌乱