1***@qq.com
1***@qq.com
  • 发布:2024-06-12 00:37
  • 更新:2024-06-12 04:34
  • 阅读:57

uniapp如何像小程序一样通过重写 Page和Component 实现全埋点

分类:uni-app

需求,自定义埋点
想请教一下在 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);  
    }
2024-06-12 00:37 负责人:无 分享
已邀请:
DCloud_heavensoft

DCloud_heavensoft

可以使用uni统计,已经自带了这些。

要回复问题请先登录注册