vscode
app.js
const originPage = Page;
Page = (page) => {
let tracksPages= ["pages/other/web"];
page["onShow"] = function (options) {
const pageObj = getCurrentPages();
const { route } = pageObj[pageObj.length - 1];
if (tracksPages.indexOf(route) >= 0) {
page.start_time = new Date();
page.can_track = true;
}
};
page["onUnload"] = function (options) {
let pageObj = getCurrentPages();
const { route } = pageObj[pageObj.length - 1];
let activityName= wx.getStorageSync("activityName");
if (tracksPages.indexOf(route) >= 0 && page.can_track && activityName) {
page.can_track = false;
const page_stay_time = (new Date() - page.start_time) / 1000;
activityPageTime({
lastTime:page_stay_time,
activityName:activityName
});
wx.removeStorageSync('activityName');
}
};
page["onHide"] = function (options) {
let pageObj = getCurrentPages();
const { route } = pageObj[pageObj.length - 1];
let activityName= wx.getStorageSync("activityName");
if (tracksPages.indexOf(route) >= 0 && page.can_track && activityName) {
page.can_track = false;
const page_stay_time = (new Date() - page.start_time) / 1000;
activityPageTime({
lastTime:page_stay_time,
activityName
});
wx.removeStorageSync('activityName');
}
};
return originPage(page);
};