xtrack mysql_xbosstrack-wechat

xbosstrack 小程序自动埋点

使用方法

1、App.js文件引入资源

// 引入埋点SDK

import Tracker from './xbosstrack.min.js';

// 引入埋点配置信息,请自行参考tracks目录下埋点配置修改

import trackConfig from './tracks/index';

2、初始化

new Tracker({ tracks: trackConfig });

3、加入你的埋点信息

/**

* path 页面路径

* elementTracks 页面元素埋点

* methodTracks 执行函数埋点

*/

const tracks = {

path: 'pages/film/index',

elementTracks: [

{

element: '.playing-item',

dataKeys: ['imgUrls', 'playingFilms[$INDEX].filmId', 'playingFilms[0]'],

},

{

element: '.more',

dataKeys: ['imgUrls', 'playingFilms', '$DATASET.test'],

}

],

methodTracks: [

{

method: 'getBanner',

dataKeys: ['imgUrls'],

},

{

method: 'toBannerDetail',

dataKeys: ['imgUrls'],

},

],

};

4、在wxml最外层插入监听方法

打开控制台,查看是否成功收集

717df299aeaa337adfff40170eae7cb8.png

element: 触发埋点元素class

method:触发埋点函数

name:收集数据的key值

data:数据对应值

5、如果你要监听组件内元素

在elementTracks里加入

{

element: '.page >>> .sub-component',

dataKeys: ['name', '$DATASET.test']

}

.page表示包裹组件的元素class,或者你可以使用id或者任意选择器

.sub-component 表示监听组件内元素class名

核心还是利用了微信提供的选择器,可以参考文档

特殊前缀

$APP 表示读取App下定义的数据

$DATASET.xxx 表示获取点击元素,定义data-xxx 中的 xxx值

$INDEX 表示获取列表,当前点击元素的索引

需要获取$INDEX时,需要在wxml中加入data-index={{index}}标记

兼容插件模式

由于SDK会改写Page对象,如果使用了插件,微信会禁止改写,可以通过以下方式改造。

// 初始化插件模式

const tracker = new Tracker({ tracks: trackConfig, isUsingPlugin: true });

// 将原来的App包装

tracker.createApp({

})

// 将原Page包装

tracker.createPage({

})

方案实现说明

License

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
应用场景1、监听线上未知错误// 例如:调用错误 var result = {} console.log(result.data.msg) // 抛出错误2、记录用户操作路径,更方便重现错误小程序使用1、引入资源在app.js中加入dist目录下的xbossdebug.min.js,记得放在App对象上面var xbossdebug = require('xbossdebug.min.js') // 引用xbossdebug xbossdebug.config.key = 'maizuo' // key为自定义唯一值,用于后端记录时区分应用 xbossdebug.config.url = 'https://domain.com/'; // 上报服务端地址 // 可选参数 xbossdebug.config.setSystemInfo = true; // 获取系统信息 xbossdebug.config.setLocation = true; // 获取用户位置信息2、测试是否正常使用App({   onLaunch: function () {     xbossdebug.error('error')   } })3、控制台查看network,如果看到一个指向你配置url的请求,那就成功了。// 发送的结构如下 {     key: String // 应用唯一id     breadcrumbs: Array // 函数执行面包线,方便用于错误重现     error: String // 错误堆栈信息     systemInfo: Object // 用户系统信息     notifierVersion: String // 插件版本     locationInfo: Object // 用户位置信息 }高级配置如果你的应用日志量较大,可以通过以下参数合并日志和随机抽样。xbossdebug.config.random = 1 // 默认为1,表示100%上报,如果设置0.5,就会随机上报 xbossdebug.config.repeat = 5 // 重复上报次数(对于同一个错误超过多少次不上报) xbossdebug.config.mergeReport = true, // mergeReport 是否合并上报, false 关闭, true 启动(默认) xbossdebug.config.except = [ /^Script error\.?/, /^Javascript error: Script error\.? on line 0/ ], // 忽略某个错误二次开发1**、安装依赖**// 进入项目目录安装依赖 npm install // 安装rollup,用于js编译打包 npm install -g rollup2、开发模式 (监听代码变化,生成xbossdebug.js)npm run watch3、编译(生成xbossdebug.min.js)npm run build方案设计思想TODO服务端记录数据数据并可视化资源加载监控页面性能监控typescript版本✅自动化单元测试参考资料代码思想参考fundebug,如果大家觉得还不错,希望大家支持fundebug的saas服务。代码风格参考https://github.com/gomeplusFED/GER
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值