需求,自定义埋点
想请教一下在 uniApp 中有类似在小程序中通过重写Page、Component来监听每个页面和方法的埋点的方式吗
小程序中实现方式:
-
页面埋点实现方式
Page = function (options) { let oldFuncs = {}; pageFn.forEach((item) => { if (options[item]) { oldFuncs[item] = options[item] } }) pageFn.forEach((item) => { if (options[item]) { options[item] = function () { console.log('Page', item, ); // 收集各类数据 oldFuncs[item].apply(this, arguments) } } }) // 以下代码则是对除生命周期类的方法进行重写,做预设点击事件收集数据 const methods = getMethods(options); if (!!methods) { for (var i = 0, len = methods.length; i < len; i++) { clickProxy(options, methods[i]); } } oldPage.apply(this, arguments); }
-
点击事件埋点实现
const oldComponent = Component; Component = function (options) { // 对组建内 methods 进行重写预设点击事件埋点收集 Object.keys(options.methods).forEach((method) => { clickProxy(options.methods, method) }) oldComponent.apply(this, arguments); }
2 个回复
DCloud_heavensoft
可以使用uni统计,已经自带了这些。
bigWhite - 1122223123123
我也想问 楼主解决了吗?