博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vue项目代码埋点
阅读量:6092 次
发布时间:2019-06-20

本文共 1149 字,大约阅读时间需要 3 分钟。

主流埋点方案

目前主流的埋点方案包括

  1. 代码埋点
  2. 可视化埋点
  3. 无埋点
一、代码埋点

​ 在需要埋点的节点调用接口,携带数据上传。如百度统计等;

缺点

​ 工作量较大,每一个组件的埋点都需要添加相应的代码,入侵业务代码,增加项目复杂度。

二、可视化埋点

​ 通过可视化交互的手段,代替代码埋点。将业务代码和埋点代码分离,提供一个可视化交互的页面,输入为业务代码,通过这个可视化系统,可以在业务代码中自定义的增加埋点事件等等,最后输出的代码耦合了业务代码和埋点代码。

​ 可视化埋点听起来比较高大上,实际上跟代码埋点还是区别不大。也就是用一个系统来实现手动插入代码埋点的过程。

缺点:

​ 业务属性数据,例如,订单号、金额、商品数据量等,通常要调用后台的接口,可视化埋点在这方面的支持有限;

​ 需要借助第三方工具实现。

三、无埋点
无埋点并不是说不需要埋点,而是全部埋点,前端的任意一个事件都被绑定一个标识,所有的事件都别记录下来。通过定期上传记录文件,配合文件解析,解析出来我们想要的数据,并生成可视化报告供专业人员分析因此实现“无埋点”统计。

缺点

​ 无法灵活的定制各个事件所需要上传的数据

​ 无埋点采集全量数据,给数据传输和服务器增加压力

代码埋点分类

​ 代码埋点分为 命令式埋点和声明式埋点

命令式埋点

​ 顾名思义,开发者需要手动在需要埋点的节点处进行埋点。如点击按钮或链接后的回调函数、页面ready时进行请求的发送。大家肯定都很熟悉这样的代码:

// 页面加载时发送埋点请求 $(document).ready(function(){        // ... 这里存在一些业务逻辑        sendRequest(params); }); // 按钮点击时发送埋点请求 $('button').click(function(){        // ... 这里存在一些业务逻辑        sendRequest(params); });
声明式埋点

​ 声明式埋点对命令式埋点做了改进,将埋点的代码与具体的业务逻辑解耦。从而提高埋点的效率和代码的可维护性。代码如下:

// key表示埋点的唯一标识;act表示埋点方式

​ 因为项目采用Vue框架,所以使用Vue中的完成声明式埋点。

Vue.directive('log', {    bind( el, binding ){        el.addEventListener('click', ()=>{            Axios.post        })    }});

​ 只需要在需要记录的组件中配置使用v-log指令,加上详情参数就可以完成用户轨迹记录。如下:

// caption表示埋点的模块;paras表示用户的行为

转载地址:http://wimwa.baihongyu.com/

你可能感兴趣的文章
Windows中的 PostgreSQL 9.5重置密码
查看>>
上班打酱油,用Eclipse看糗百
查看>>
Jquery工作常用实例——滑动切换(在隐藏与显示之间)被选元素
查看>>
学科教育视频和精品课
查看>>
java虚拟机JVM内存不够,OutOfMemorry Error
查看>>
Log4j
查看>>
React Redux Sever Rendering实战
查看>>
golang install on centos
查看>>
[iOS]tableView 一些技巧
查看>>
PostgreSQL用户角色及其属性介绍
查看>>
评分卡模型构建介绍
查看>>
UIButton防止重复点击的方式
查看>>
让Gitlab的CE版本,使用mysql数据库
查看>>
删除Sybase数据库设备
查看>>
Eclipse编译PostgreSQL 9.2.2
查看>>
Class字节码文件结构详解
查看>>
[又拍云]云计算中又一架重要的马车
查看>>
Ruby on Rails 学习笔记(一)
查看>>
Linux下安装pymysql步骤
查看>>
PHP+MySQL数据库教程
查看>>