UNPKG

mutiple

Version:

A SDK for monitoring browser and miniPrograme errors

49 lines (42 loc) 1.58 kB
import { SDK_NAME, SDK_VERSION } from '@/common/config' import { BREADCRUMBCATEGORYS } from '@/common/constant' import initOptions from '@/common/initOpitons' import { log } from '@/core' import { InitOptions, ReportDataType } from '@/types' import { generateUUID, isEmpty, isWxMiniEnv } from '@/utils' import { setupReplace } from '@/wx-mini/load' function init(options: InitOptions = {}) { if (!isWxMiniEnv) return initOptions(options) setupReplace() } // 如果是接口正常情况下不取响应体 因为sls中单字段最多只能16k function beforePushBreadcrumb(breadcrumb, cruBreadcrumbData) { if (cruBreadcrumbData.category === BREADCRUMBCATEGORYS.HTTP) { const data = cruBreadcrumbData.data as ReportDataType if (data.response.status >= 200 && data.response.status < 300) { data.response.data = '' } } return cruBreadcrumbData } const includeHttpUrlTraceIdRegExp = /apigw/ const maxBreadcrumbs = 20 const enableTraceId = true type TCallBack = () => void function manualInit(callback: TCallBack, qa = false) { const isQa = wx.getAccountInfoSync().miniProgram.envVersion !== 'release' const envInit = qa ? isQa : !isQa if (envInit) { callback() } } const miniTrackerId = 'mito-uuid' function backTrackerId() { let uuid = wx.getStorageSync(miniTrackerId) if (!isEmpty(uuid)) return uuid uuid = generateUUID() wx.setStorageSync(miniTrackerId, uuid) return uuid } export { beforePushBreadcrumb, includeHttpUrlTraceIdRegExp, maxBreadcrumbs, enableTraceId, manualInit, init, SDK_VERSION, SDK_NAME, log, backTrackerId }