项目场景:
最近开发了一个小程序,设计到一个功能需要做记录用户的浏览记录,用户停留在哪些页面以及页面的路径和进出入时间,做数据埋点。
问题描述:
因为需要小程序所有页面都要记录到,这里考虑直接写一个公共组件来调用。
解决方案:
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();
},
},
本文介绍如何在小程序中通过封装公共组件来记录用户的浏览路径和页面停留时间。利用getCurrentPages()方法获取页面路径,并在组件的pageLifetimes生命周期中监测页面的显示和隐藏,从而记录页面的进出时间。此方案旨在实现全面的数据埋点,为后续数据分析提供支持。
1157

被折叠的 条评论
为什么被折叠?



