技术文档
内置事件
基于上传的事件类型,logType共分为7个场景,分别是LOG_AJAX,LOG_CLICK,LOG_PATH,LOG_ARGS,LOG_PAGE,LOG_PAGECLOSE,LOG_JS
每个类型都有自己特有的上报字段
公共字段
名称 | 说明 | 示例 | 备注 | 是否弃用 |
---|---|---|---|---|
feHost | 域名 | tms.dongfangyunxiao.com | ||
feHostX | 域名 | tms@dongfangyunxiao@com | feHost.replace(/./g, '@') | 是 |
fePageUUID | 页面访问唯一标识 | 4f42855a-87d7-a342-25cd-fff9a46e5b8c | Math.random() | |
feXdfUUID | 设备唯一标识 | 计算规则同fePageUUID | ||
fePathUrl | 路径 | / | location.pathname | 是 |
fePathname | 路径 | / | fePathUrl=fePathname | |
feSchoolId | 学校 | |||
feU2AT | 用户 | -xxxxxxxxxxxx | getCookie('U2AT') getCookie('e2mf') | |
feUserUUID | 用户唯一标识 | 处理后的feU2AT | ||
feU2Code | 邮箱 | |||
feU2Name | 姓名 | |||
feUrlX | base64 | location(host+pathname) | ||
feUserCode | 用户 | ('FE_USER_CODE') | ||
feUserName | 用户 | ('FE_USER_NAME') | ||
febuildtime | build时间 | 1662623755082 | ||
febuildtimex | build时间 | Tue Aug 16 2022 19:55:48 GMT+0800 (GMT+08:00) | ||
logAppId | 参数 | location.search | ||
logTimestamp | 采集时间 | 2022-09-09T02:27:46.910Z | ||
logType | 日志类型 | LOG_PATH | ||
logUserAgent | 浏览器环境 | |||
logVer | 日志版本 | v1.8.3 | ||
logVerX | 日志版本 | 183 | 是 | |
deviceObj | 设备信息 | {} | ||
pageObj | 地址栏信息 | {} | ||
queryObj | 参数 | 枚举了业务常用的字段 |
LOG_AJAX
名称 | 说明 | 示例 | 备注 |
---|---|---|---|
ajaxAxiosXDF | config信息 | ||
ajaxInfo | 响应结果 | ||
ajaxResponseLength | 响应结果长度 | ||
ajaxResponseText | 响应结果 | ajaxInfo的字符串类型 | |
ajaxTime | 响应时间 | 请求开始-请求结束 |
LOG_PAGE
名称 | 说明 | 示例 | 备注 |
---|---|---|---|
pageInfo | 页面加载属性 | {} | performance |
pagePerformanceTiming | 页面加载属性 | {} | pageInfo的字符串类型 |
LOG_CLICK
名称 | 说明 | 示例 | 备注 |
---|---|---|---|
clickInfo | 用户行为 | {} | className、innerText、tagName、referrer等 |
LOG_ARGS
名称 | 说明 | 示例 | 备注 |
---|---|---|---|
argsInfo | 手动埋点 | {} | 2.0打算舍弃,重新定义埋点方式 |
LOG_PAGECLOSE
名称 | 说明 | 示例 | 备注 |
---|---|---|---|
visibleTime | 页面停留时间 | 非单页面 2.0打算舍弃 |
LOG_JS
名称 | 说明 | 示例 | 备注 |
---|---|---|---|
jsInfo | JS异常信息 | {} | errorType、errorMessage、errorColumnNumber等 |
总览图
2.0新增特性
LOG_TRACK
自定义事件的log_type
自定义事件
我们可以人为的定义事件的组合,来达到分析数据的目的
基础格式:
_fesdk.track(事件名, json对象)
# 示例
_fesdk.track('upClick', {})
为了方便理解实用效果,我们举个例子
TIP
当用户点击入班按钮,我们调用方法 _fesdk.track('upClick', {txt:'报班'})
这时候页面跳出了个框,用户点击缴费 _fesdk.track('upClick', {txt:'缴费'})
支付成功/支付失败 _fesdk.track('upClick', {txt:'缴费', paySuccess:true})
就可以在我们即将准备好的图形化系统中查出数据
去除ajax上报
TIP
2.1版本以上支持
初始化的时候传入IsAjax,可以自定义是否上报ajax数据
window._fesdk.init({
AppId: 'A01',
IsAjax: false
})
LOG_MSG
TIP
sdk合并
名称 | 说明 | 示例 | 备注 |
---|---|---|---|
browse_url | location.href | ||
browse_hash | location.hash | ||
browse_agent | navigator.userAgent | ||
browse_hardwareConcurrency | navigator.hardwareConcurrency | ||
browse_hardwaredeviceMemory | navigator.deviceMemory | ||
browse_referer | document.referrer | ||
browse_history | window.history.length | ||
browse_screenResolution | [screen.width, screen.height] | ||
browse_availablescreenResolution | [window.screen.availWidth, window.screen.availHeight] | ||
browse_innerscreenResolution | [window.innerWidth, window.innerHeight] | ||
browse_vendor | navigator.vendor | ||
browse_language | navigator.language | ||
browse_colordph | screen.colorDepth | ||
browse_colordph | screen.colorDepth | ||
browse_timezone | new window.Intl.DateTimeFormat().resolvedOptions().timeZone | ||
device_charging | ret.charging | ||
device_chargingTime | ret.chargingTime | ||
device_dischargingTime | ret.dischargingTime | ||
device_charginglevel | ret.level |
rt
async function getBattery() {
const r = await navigator.getBattery()
return r
}
const ret = await getBattery()