# hl-error-report-sdk **Repository Path**: HM243695CZL/hl-error-report-sdk ## Basic Information - **Project Name**: hl-error-report-sdk - **Description**: 前端异常监控sdk - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-05-27 - **Last Updated**: 2025-05-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 前端异常监控错误上报SDK node环境:`18.19.0` ## 参考项目 [monitor-sdk](https://github.com/L-excellence/monitor-sdk) ## 使用方式 ```html ``` ## 参数说明 - `url`: 必填,错误上报地址,推荐地址返回gif图片流文件,上报的数据自动拼接在url后面 - `longTaskDuration`: 长任务阈值,默认3000ms,超过该阈值会上报 ## 上报服务器端地址(参考) - [nest-monitor-exception](https://gitee.com/HM243695CZL/nest-monitor-exception.git) ### 上报数据结构说明 ```js baselog: { title: string; // 页面标题 url: string; // 页面地址 userAgent: string; // 用户环境完整信息 browser: string; // 浏览器 device: string; // 设备 os: string; // 操作系统 } /** * 类型 * error: js错误 * longTask: 长任务 * timing: 加载时间 * paint: 性能指标 */ type: 'error' | 'longTask' | 'timing' | 'paint' ``` type的值不同时对应的数据结构(引入`hl-error-report-sdk.js`后自动拼接到url后面) ```ts type: 'error', /** * 错误类型 * jsError js代码错误 * promiseError Promise错误 * loadResourceError 加载资源错误 */ errorType: 'jsError' | 'promiseError' | 'loadResourceError'; message?: string; // 错误信息 filename?: string; // 错误文件 position?: string; // 发生错误的行列号 stack?: string; // 错误堆栈信息 selector?: string; // 发生错误的DOM到顶层元素的链路信息,使用选择器表示 isWhiteScreen?: boolean; // 是否白屏 tagName?: string; // 错误元素标签名 reqUrl?: string; // 请求地址 xhrData?: { eventType: 'load' | 'error', // xhr错误事件类型 url: string; // 请求地址 method: string; // 请求方式 data: string; // 请求参数 status: number; // 请求状态码 response: string; // 响应数据 } ``` ```ts type: 'longTask'; startTime: number; // 开始时间 duration: number; // 持续时间 eventType?: string; // 事件类型 selector?: string; // 选择器 ``` ```ts type: 'timing'; DOMContentLoadedTime: number; // DOMContentLoaded事件触发时间 loadTime: number; // load事件触发时间 ``` ```ts type: 'paint'; FP?: number; FCP?: number; FMP?: number; LCP?: number; ```