Skip to main content

实例方法

setConfig

该方法用来修改实例配置,比如下面场景:

  • 在实例化时需要传入配置对象。
const aegis = new Aegis({
id: 'pGUVFTCZyewxxxxx',
uid: 777
})
  • 很多情况下,并不能一开始就获取到用户的 uid,而等获取到用户的 uid 才开始实例化,如果这期间发生了错误将监听不到。
  • uid 的设置可以在获取到用户的时候:
const aegis = new Aegis({
id: 'pGUVFTCZyewxxxxx'
})

// 拿到uid之后...
aegis.setConfig({
uid: 777
})

info、infoAll、report

这三个方法是 Aegis 提供的主要上报手段。

aegis.info('上报一条白名单日志,这两种情况这条日志才会报到后台:1、打开页面的用户在名单中;2、对应的页面发生了错误🤨');

aegis.infoAll('上报了一条日志,该上报与info唯一的不同就在于,所有用户都会上报');

aegis.report(new Error('上报一个错误'));

reportEvent

该方法可用来上报自定义事件,平台将会自动统计上报事件的各项指标,诸如:PV、UV、平台分布等...

reportEvent 可以支持两种类型上报参数类型。

  1. 字符串类型
aegis.reportEvent('XXX请求成功');
  1. 对象类型,ext1 ext2 ext3 默认使用 new Aegis 的时候传入的参数,自定义事件上报的时候,可以覆盖默认值。
aegis.reportEvent({
name: 'XXX请求成功',
ext1: '额外参数1',
ext2: '额外参数2',
ext3: '额外参数3',
})

::: warning 注意 额外参数的三个 key 是固定的,目前只支持 ext1ext2ext3。 :::

reportTime

该方法可用来上报自定义测速,例如:

// 假如‘onload’的时间是1s
aegis.reportTime('onload', 1000);

或者如果需要使用额外参数,可以传入对象类型参数,ext1,ext2,ext3 会覆盖默认值:

aegis.reportTime({
name: 'onload', // 自定义测速 name
duration: 1000, // 自定义测速耗时(0 - 60000)
ext1: 'test1',
ext2: 'test2',
ext3: 'test3',
});

onload 可以修改为其他的命名。

time、timeEnd

该方法同样可用来上报自定义测速,适用于两个时间点之间时长的计算并上报,例如:

aegis.time('complexOperation');
/**
* .
* .
* 做了很久的复杂操作之后。。。
* .
* .
*/
aegis.timeEnd('complexOperation'); /** 此时日志已经报上去了😄**/

complexOperation 同样可以修改为其他的命名。 自定义测速是用户上报任意值,服务端对其进行统计和计算,因为服务端不能做脏数据处理,因此建议用户在上报端进行统计值限制,防止脏数据对整体产生影响。 目前 Aegis 只支持 0-60000 的数值计算,如果大于该值,建议进行合理改造。

destroy

该方法用于销毁 sdk 实例,销毁后,不再进行数据上报

aegis.destroy();