UNPKG

wpk-reporter

Version:

岳鹰-WEB前端监控日志上报JS-SDK

1 lines 6.24 kB
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.wpkinterfacePlugin=t():e.wpkinterfacePlugin=t()}(this,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=5)}({0:function(e,t){e.exports={sdk:{BID:"wpkreporter",CID:"jssdk",WID_KEY:"__wpkreporterwid_"},env:{BROWSER:"browser",NODEJS:"nodejs",WEEX:"weex"},px:{signKey:"Uvn#08uefVdwe&c4",addr:{cn:"http://px.effirst.com/api/v1/jssdk/upload",cn_https:"https://px.effirst.com/api/v1/jssdk/upload",intl:"http://px-intl.ucweb.com/api/v1/jssdk/upload",intl_https:"https://px-intl.ucweb.com/api/v1/jssdk/upload"},confAddr:{cn:"http://px.effirst.com/api/v1/jconfig",cn_https:"https://px.effirst.com/api/v1/jconfig",intl:"http://px-intl.ucweb.com/api/v1/jconfig",intl_https:"https://px-intl.ucweb.com/api/v1/jconfig"}},http:{methods:{GET:"GET",PUT:"PUT",POST:"POST",HEAD:"HEAD",DELETE:"DELETE",OPTIONS:"OPTIONS",CONNECT:"OPTIONS",TRACE:"OPTIONS",PATCH:"OPTIONS"},protocols:{HTTP:"http:",HTTPS:"https:"}},category:{JSERR:1,API:2,JSFSPERF:3,RESLOADFAIL:4,FLOW:5,BKPG:6,HARLOG:7},navConn:{types:{BLUETOOTH:"bluetooth",CELLULAR:"cellular",ETHERNET:"ethernet",MIXED:"mixed",NONE:"none",OTHER:"other",UNKNOWN:"unknown",WIFI:"wifi",WIMAX:"wimax"},effectiveTypes:{"2G":"2g","3G":"3g","4G":"4g",SLOW2G:"slow-2g"}}}},5:function(e,t,r){var n=r(0),o=n.sdk,i=n.http.methods,a=n.category,s=function(e){return e>=200&&e<=299},c=function(e){return-1===e.indexOf("//arms-retcode")&&-1===e.indexOf("//retcode.taobao.com")&&-1===e.indexOf("//retcode-sg-lazada.arms.aliyuncs.com")&&-1===e.indexOf("//mdap.alipay.com/loggw")&&-1===e.indexOf("//wpk-gateway")&&-1===e.indexOf("//px.ucweb.com")&&-1===e.indexOf("//px.effirst.com")&&-1===e.indexOf("//px-intl.ucweb.com")},p=function(e,t){if(e.hasOwnProperty(t))return e[t]},l=function(e,t,r){e.toolKit.isObject(r)&&e.toolKit.extend(t,{c1:p(r,"c1"),c2:p(r,"c2"),c3:p(r,"c3"),c4:p(r,"c4"),c5:p(r,"c5"),bl1:p(r,"bl1"),bl2:p(r,"bl2"),bl3:p(r,"bl3"),bl4:p(r,"bl4"),bl5:p(r,"bl5")}),e.report(t)};function u(e,t){var r=null;try{var n,o,i,a=e.toolKit.trim(t||"").split(/[\r\n]+/);if(a.length>0)r={},e.toolKit.forEach(a,(function(e){n=e.split(": "),o=n.shift(),i=n.join(": "),r[o]=i}))}catch(e){}return r}function f(e){try{if(!e)return{};var t={};for(var r of e)t[r[0]]=r[1];return t}catch(e){return{}}}var d=function(e,t){if(e.env===n.env.BROWSER&&window){var r=e.toolKit.extend({enable:!0,sampleRate:1},t);r.enable?(e.logger.info("wpkinterfacePlugin已开启"),"XMLHttpRequest"in window&&function(e,t){var r=window.XMLHttpRequest.prototype,n=r.open;r.open=function(e,t){this.__reqCtx__={method:e,url:t||"",start:Date.now()};var r=[].slice.call(arguments);n.apply(this,r)};var p=r.setRequestHeader;r.setRequestHeader=function(e,t){var r=[].slice.call(arguments);p.apply(this,r),this.__reqCtx__&&(this.__reqCtx__.headers||(this.__reqCtx__.headers={}),this.__reqCtx__.headers[e]=t)};var f=r.send;r.send=function(r){var n=this;function p(){if(n.__reqCtx__&&4===n.readyState)try{var p=Date.now(),f=(n.responseURL||n.__reqCtx__.url).split("?"),d=f[0],h=f[1]||"",_="",w=n.__reqCtx__.headers||{};n.__reqCtx__.method.toUpperCase()!==i.GET&&r&&(_=JSON.stringify(r));var y=u(e,n.getAllResponseHeaders()),g=String(n.response),m=!0,v={};"function"==typeof t.errorFilter&&(m=!!(v=t.errorFilter.call(this,{url:d,status:n.status,response:g,body:_,queryString:h,reqHeaders:w,resHeaders:y})),e.logger.warn("api errorFilter执行结果:",v)),g.length>2048&&(g="[response content too large]");var b=p-n.__reqCtx__.start;if(m&&b<121e3&&c(d)){var x=v.bizCode||n.status,O={category:a.API,sampleRate:t.sampleRate,w_res:d,w_param:h,w_body:s(x)||!t.withBody?"":_,w_method:n.__reqCtx__.method,w_rc:x,w_rt:b,w_resp:s(x)||!t.withResp?"":v.resp||g,msg:v.msg||"",w_type:16};l(e,O,v)}}catch(t){e.reportError(t,{bid:o.BID,cid:o.CID,category:a.JSERR,sampleRate:1})}}if("onreadystatechange"in n&&"function"==typeof n.onreadystatechange){var d=n.onreadystatechange;n.onreadystatechange=function(){var e=[].slice.call(arguments);p.apply(this,e),d.apply(this,e)}}else n.onreadystatechange=p;var h=[].slice.call(arguments);return f.apply(this,h)}}(e,r),"fetch"in window&&function(e,t){var r=window.fetch;window.fetch=function(){var n=[].slice.call(arguments),p=i.GET;n[1]&&n[1].method&&(p=n[1].method.toUpperCase());var u=Date.now();return r.apply(this,n).then((function(r){try{var d=Date.now(),h=(r.url||n[0]).split("?"),_=h[0],w=h[1]||"",y="",g=null;n[1]&&(g=n[1].headers),p!==i.GET&&n[1]&&n[1].body&&(y=JSON.stringify(n[1].body));var m=r.clone(),v=f(m.headers);m.text().then((function(n){n=n||"";var o=!0,i={};if("function"==typeof t.errorFilter&&(o=!!(i=t.errorFilter.call(this,{url:_,status:r.status,response:n,body:y,queryString:w,reqHeaders:g,resHeaders:v})),e.logger.warn("api errorFilter执行结果:",i)),n=n.length>2048?"[response content too large]":n,o&&d-u<121e3&&c(_)){var f=i.bizCode||r.status,h={category:a.API,sampleRate:t.sampleRate,w_res:_,w_param:w,w_body:s(f)||!t.withBody?"":y,w_method:p,w_rc:f,w_rt:d-u,w_resp:s(f)||!t.withResp?"":i.resp||n,msg:i.msg||"",w_type:16};l(e,h,i)}}))}catch(t){e.reportError(t,{bid:o.BID,cid:o.CID,category:a.JSERR,sampleRate:1})}return r})).catch((function(e){throw e}))}}(e,r)):e.logger.info("wpkinterfacePlugin已关闭")}};d.prototype.pluginId="api",e.exports=d}})}));