每个页面都要统计,因此全局处理的方法较好,采用全局混入的解决方式,onHide和onUnload分别处理页面隐藏和页面卸载的情况,onShow确保每次进入页面重新获取时间
1. residenceTime.js
let enterTime = '';
let outTime = '';
let stayTime = '';
export default {
data() {
return {
};
},
onShow(){
// 用户进入时间
enterTime = new Date();
console.log(enterTime);
},
onHide(){
// 用户退出时间
outTime = new Date();
//停留时间(毫秒)
stayTime = outTime.getTime() - enterTime.getTime();
let curRoute = this.$mp.page.route;
console.log('页面隐藏'+curRoute+':'+stayTime);
},
onUnload() {
// 用户退出时间
outTime = new Date();
//停留时间(毫秒)
stayTime = outTime.getTime() - enterTime.getTime();
let curRoute = this.$mp.page.route;
console.log('页面卸载'+curRoute+':'+stayTime);
}
};
2.main.js文件全局注入
import residenceTime from '@/mixins/residenceTime.js'
Vue.mixin(residenceTime); //全局混入