项目场景:

最近开发了一个小程序,设计到一个功能需要做记录用户的浏览记录,用户停留在哪些页面以及页面的路径和进出入时间,做数据埋点。


问题描述:

因为需要小程序所有页面都要记录到,这里考虑直接写一个公共组件来调用。


解决方案:

getCurrentPages();//获取当前页面路径  这个是微信原生封装的方法,直接调用,可以获取到该用户所有操作的路径,page[page.length-1].route;​​​​​​根据返回数据分析出数组最后一个是当前页面路径,

小程序自己封装组件里面  组件生命周期有一个pageLifetimes ,

//获取当前页面路径
export function getNowPath(){
  let page=getCurrentPages();//获取当前页面路径
    // console.log(page[page.length-1].route);
  let a=page[page.length-1].route;
  return a;
}

-------------------------------------------------------------------------------------------
//组件里面的生命周期,检测子组件所在当前页面的显示和隐藏
  pageLifetimes:{
    show:function(){
      this.data.startTime=util.formatTime(new Date());//获取页面进入时间
      console.log("显示")
    },
    hide: function() {
      // 页面被隐藏
      console.log("隐藏")
      this.data.endTime=util.formatTime(new Date());//获取页面隐藏时间
      this.initData();
    },
  },

 

更多推荐