import API from '@/modules/system/api/api_userTime'
const router = new Router({mode: 'history',base: process.env.BASE_URL,scrollBehavior: () => ({ y: 0 }),routes: constantRouterMap
})
//   API   保存数据接口
let startTime = Date.now()
let currentTime
let standingTime = 0
let pageName = []
router.beforeEach((to, from, next) => {// 如果to存在,则说明路由发生了跳转if (to) {// 清空界面名pageName=[]// 离开界面// 第一步:页面跳转后记录一下当前的时间 currentTimecurrentTime = Date.now()standingTime = parseInt((currentTime - startTime) / 1000)from.matched.forEach(routeItem => {pageName.push(routeItem.meta.title)})  // ------------// 第二步:在这里把 currentTime - startTime 的 差值 发送给后端// ------------if(pageName.length > 0){const params = {// 界面pageName: pageName.join("-"),// 进入界面时间gmtCreate: '',// gmtCreate: new moment(startTime).format('YYYY-MM-DD HH:mm:ss'),// 离开时间gmtLeave: '',// gmtLeave: new moment(currentTime).format('YYYY-MM-DD HH:mm:ss'),/*** 进入或离开状态* enter进入* exit 离开*/type: 'exit',// 停留时长// duration: standingTime}API.add(params).then(function(result) {console.log(result)}).catch(function(result) {// console.log(result)})}// 第三步:每次都要初始化一下 startTimestartTime = Date.now()pageName = []// console.log('======== 分割线 ========')}if(from){// 进入界面to.matched.forEach(routeItem => {pageName.push(routeItem.meta.title)})  if(pageName.length > 0){const param = {// 界面pageName: pageName.join("-"),// 进入界面时间gmtCreate: '',// gmtCreate: new moment(startTime).format('YYYY-MM-DD HH:mm:ss'),// 离开时间gmtLeave: '',/*** 进入或离开状态* enter进入* exit 离开*/type: 'enter'}console.log(param);API.add(param).then(function(result) {console.log(result)}).catch(function(result) {// console.log(result)})}}next()
})
export default router

vue埋点 记录在前端页面停留时间相关推荐

  1. vue埋点 记录页面停留时间

    vue记录使用日志 页面停留时间 import API from '@/modules/system/api/api_userTime' const router = new Router({mode ...

  2. jquery记录用户访问页面停留时间

    jquery记录用户访问页面停留时间示例代码: $(window).bind('beforeunload', function (e) {var end = new Date();//用户退出时间va ...

  3. Vue+elementUI从头开始构建前端页面(中篇-Table作妖)

    传送门:Vue+elementUI从头开始构建前端页面(前篇-Starter搭建) 传送门:Vue+elementUI从头开始构建前端页面(中篇-Table作妖) 传送门:Vue+elementUI从 ...

  4. vue拖拽组件生成前端页面,vue组件拖拽自定义界面

    vue如何使用vuex,vuex是vuex.js文件吗 . vue有自己的脚手架构建工具vue-cli,使用起来非常方便,使用webpack来集成各种开发便捷工具,比如:代码热更新,修改代码之后网页无 ...

  5. php记录登录时间,php记录 用户当前页面停留时间

    onunload +JS定时器 + ajax 实现 每秒写一次数据库肯定是不行的资源释放都来不及,使用js计时器,在离开页面时,调用ajax异步插入数据库,即不延迟跳转,也不会占用资源,插入完就释放了 ...

  6. vue打包部署后,前端页面刷新后丢失

    原因: 路由配置里模式不正确 找到router文件夹,里边文件中,找到 mode: 'history' 把这行注释掉

  7. java前端项目经验_web前端页面项目经验总结

    项目时间:2016年4月5日--4月9日 项目名称:阿七果子园web前端页面 项目内容: 1.HTML5+CSS+JavaScript(banner+timer)+JQuery(small_banne ...

  8. vue项目进行前端埋点,记录页面停留时间

    数据埋点在现在的项目开发中都是不较比常见的,尤其是在电商公司,数据的统计分析尤为重要,通过数据分析可以提升用户的购买体验,方便运营和产品调整销售策略等等.埋点就是网站分析的一种常用的数据采集方法. 目 ...

  9. iview构建基本html页面,写前端页面步骤----vue+iview

    1:用iview构建基本HTML页面 2:在export default{ }中写一个data(){return:{变量:值}}全局对象,用于传递与绑定HTML参数. 3:在export defaul ...

最新文章

  1. 案例:来自Uber的Go语言GC优化实践
  2. 关于autorelease pool一个较好的理解
  3. python自定义线程
  4. Python+OpenCV学习(17)---摄像机标定
  5. 系统服务器端口怎么关闭了,如何关闭云服务器端口号
  6. 【clickhouse】配置ClickHouse分布式DDL记录自动清理
  7. Web项目启动加载数据至内存--SpringApplicationListener实现
  8. 域中5种操作主机的迁移与抢夺
  9. 二分查找以及数组下标的移动规律
  10. ASP.NET MVC扩展自定义视图引擎支持多模板动态换肤skins机制
  11. Linux安装JDK步骤
  12. Data Structure - Doubly Linked List (Java)
  13. Leetcode 853 车队
  14. 频繁模式挖掘 (Frequent pattern mining):01 概念篇 (附例题)
  15. 二维数组调时候的传参问题 and 一维数组的中括号秘密( [ ] )——实参与形参的对应 —————— 开开开山怪
  16. OLAP实践 —— OLAP基本概念理解总计小记
  17. element el-transfer穿梭框的使用,自定义穿梭框的数据项
  18. Linux中的阻塞机制
  19. java 修饰符 详解,详解Java修饰符
  20. 激战2电信服务器哪个最多,玩家浅谈 激战2电信一区服务器派系之争

热门文章

  1. P2800 又上锁妖塔 dp
  2. 案例 | 重庆银行流动数据安全挑战及应对实践
  3. 自定义颜色编辑选取对话框
  4. 排列组合算法总结(基于C++实现)
  5. Unity3d 要点板书
  6. 双一流河南大学,计算机学院全部改考408!
  7. 你打工都打不好,还谈什么创业
  8. 用友年结时存货核算总账结转失败解决方法
  9. c语言机房管理系统答辩,C语言综合实验报告机房管理系统
  10. 利用Python解决将黄金比例计算至100位