1.0.59 • Published 2 years ago

nbugs-pagelog v1.0.59

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

背景

使用阿里sls作为底层,为业务提供稳定的埋点服务,目前包括移动端以及pc端,内部实现了发送数据的标准化,容错,工具方法的封装等

目前导出的格式有umd以及module两种,默认项目里引入的时候都是web项目,引入的为module的js文件,使用import方式

核心api

init

syncInit

同步用户信息

send

常规的数据发送方法,基础字段为eventId,以及payload数据字段

sendNoAppId

发送埋点,不携带appId,为了避免appId获取时不正确的方法

sendNoAppIdAsync

用来兼容阿里的埋点不支持回调函数的缺陷,封装了内部的xhr方法,并在异步发送失败时提供了补偿发送

工具方法

standAppId

工具方法,标准化appid,部分应用的appid为非四位数的,所以提供工具方法进行标准化 ,返回一个标准的四位的appId字符串。

function standAppId(appId) {
   let newAppId = '';
   if (appId ) {
      const appIdStr = appId.toString();
      if (appIdStr.length < 4) {
         for(let i = 0; i < (4 - appIdStr.length); i+=1) {
            newAppId += '0';
         }
         newAppId +=  appIdStr
      } else {
         newAppId = appIdStr 
      }
   } else {
      newAppId = '';
      console.error('appId is necessary')
   }
   return newAppId
}

字典

事件字典

以下事件作为保留事件,

增加转义

使用rollup babel插件实现了语法的转义 使用terser 实现了代码的压缩