aegis-mp-sdk 1.24.47 → 1.24.51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/package.json +2 -2
  2. package/lib/aegis.min.js +0 -10
  3. package/lib/packages/core/__tests__/core.spec.d.ts +0 -1
  4. package/lib/packages/core/__tests__/pipes/format.spec.d.ts +0 -1
  5. package/lib/packages/core/__tests__/pipes/repeat-limit.spec.d.ts +0 -1
  6. package/lib/packages/core/__tests__/pipes/sample.spec.d.ts +0 -1
  7. package/lib/packages/core/__tests__/pipes/throttle.spec.d.ts +0 -1
  8. package/lib/packages/core/__tests__/util/index.spec.d.ts +0 -1
  9. package/lib/packages/core/src/constant/config.d.ts +0 -3
  10. package/lib/packages/core/src/constant/global.d.ts +0 -1
  11. package/lib/packages/core/src/constant/index.d.ts +0 -2
  12. package/lib/packages/core/src/core.d.ts +0 -43
  13. package/lib/packages/core/src/index.d.ts +0 -9
  14. package/lib/packages/core/src/interface/config.d.ts +0 -40
  15. package/lib/packages/core/src/interface/index.d.ts +0 -3
  16. package/lib/packages/core/src/interface/log.d.ts +0 -89
  17. package/lib/packages/core/src/interface/send.d.ts +0 -26
  18. package/lib/packages/core/src/pipes/afterRequestHooks.d.ts +0 -3
  19. package/lib/packages/core/src/pipes/beforeRequestHooks.d.ts +0 -4
  20. package/lib/packages/core/src/pipes/format.d.ts +0 -2
  21. package/lib/packages/core/src/pipes/index.d.ts +0 -14
  22. package/lib/packages/core/src/pipes/pv.d.ts +0 -3
  23. package/lib/packages/core/src/pipes/repeat-limit.d.ts +0 -4
  24. package/lib/packages/core/src/pipes/report.d.ts +0 -8
  25. package/lib/packages/core/src/pipes/sample.d.ts +0 -3
  26. package/lib/packages/core/src/pipes/throttle.d.ts +0 -3
  27. package/lib/packages/core/src/pipes/whitelist.d.ts +0 -3
  28. package/lib/packages/core/src/pipes/write-before.d.ts +0 -3
  29. package/lib/packages/core/src/plugin.d.ts +0 -33
  30. package/lib/packages/core/src/polyfill/index.d.ts +0 -0
  31. package/lib/packages/core/src/util/event-emitter.d.ts +0 -18
  32. package/lib/packages/core/src/util/index.d.ts +0 -49
  33. package/lib/packages/hippy-sdk/src/aegis.d.ts +0 -38
  34. package/lib/packages/hippy-sdk/src/index.d.ts +0 -3
  35. package/lib/packages/hippy-sdk/src/plugins/aid.d.ts +0 -3
  36. package/lib/packages/hippy-sdk/src/plugins/cgi-speed.d.ts +0 -3
  37. package/lib/packages/hippy-sdk/src/plugins/index.d.ts +0 -4
  38. package/lib/packages/hippy-sdk/src/plugins/offline-log.d.ts +0 -19
  39. package/lib/packages/hippy-sdk/src/plugins/on-error.d.ts +0 -6
  40. package/lib/packages/mp-sdk/__tests__/base.spec.d.ts +0 -1
  41. package/lib/packages/mp-sdk/__tests__/helper/aegis.d.ts +0 -1
  42. package/lib/packages/mp-sdk/__tests__/helper/fileSystem.d.ts +0 -1
  43. package/lib/packages/mp-sdk/__tests__/helper/global.d.ts +0 -3
  44. package/lib/packages/mp-sdk/__tests__/helper/mock.d.ts +0 -7
  45. package/lib/packages/mp-sdk/__tests__/offline.spec.d.ts +0 -1
  46. package/lib/packages/mp-sdk/__tests__/report.spec.d.ts +0 -1
  47. package/lib/packages/mp-sdk/__tests__/speed.spec.d.ts +0 -1
  48. package/lib/packages/mp-sdk/__tests__/util/index.d.ts +0 -2
  49. package/lib/packages/mp-sdk/__tests__/whitelist.spec.d.ts +0 -1
  50. package/lib/packages/mp-sdk/src/adaptor/index.d.ts +0 -1
  51. package/lib/packages/mp-sdk/src/aegis.d.ts +0 -28
  52. package/lib/packages/mp-sdk/src/index.d.ts +0 -3
  53. package/lib/packages/mp-sdk/src/interface/index.d.ts +0 -1
  54. package/lib/packages/mp-sdk/src/interface/log.d.ts +0 -21
  55. package/lib/packages/mp-sdk/src/pipe/refresh-network.d.ts +0 -2
  56. package/lib/packages/mp-sdk/src/plugins/aid.d.ts +0 -3
  57. package/lib/packages/mp-sdk/src/plugins/assets-speed.d.ts +0 -3
  58. package/lib/packages/mp-sdk/src/plugins/cgi-speed.d.ts +0 -3
  59. package/lib/packages/mp-sdk/src/plugins/device.d.ts +0 -4
  60. package/lib/packages/mp-sdk/src/plugins/index.d.ts +0 -7
  61. package/lib/packages/mp-sdk/src/plugins/offlineLog.d.ts +0 -18
  62. package/lib/packages/mp-sdk/src/plugins/on-error.d.ts +0 -3
  63. package/lib/packages/mp-sdk/src/plugins/page-performance.d.ts +0 -3
  64. package/lib/packages/mp-sdk/src/util/hack-request.d.ts +0 -10
  65. package/lib/packages/mp-sdk/src/util/index.d.ts +0 -2
  66. package/lib/packages/mp-sdk/src/util/wxApi.d.ts +0 -12
  67. package/lib/packages/node-sdk/__tests__/batch-report.spec.d.ts +0 -1
  68. package/lib/packages/node-sdk/__tests__/keepalive.spec.d.ts +0 -1
  69. package/lib/packages/node-sdk/__tests__/main.spec.d.ts +0 -0
  70. package/lib/packages/node-sdk/__tests__/util.d.ts +0 -9
  71. package/lib/packages/node-sdk/src/index.d.ts +0 -15
  72. package/lib/packages/node-sdk/src/interface/selector.d.ts +0 -5
  73. package/lib/packages/node-sdk/src/pipes/batch-report-pipe.d.ts +0 -6
  74. package/lib/packages/node-sdk/src/protocol/protocol_base.d.ts +0 -18
  75. package/lib/packages/node-sdk/src/protocol/protocol_http.d.ts +0 -12
  76. package/lib/packages/node-sdk/src/selector/ip_selector.d.ts +0 -10
  77. package/lib/packages/node-sdk/src/selector/polaris_selector.d.ts +0 -20
  78. package/lib/packages/node-sdk/src/selector/selector_base.d.ts +0 -27
  79. package/lib/packages/node-sdk/src/util/eval_require.d.ts +0 -2
  80. package/lib/packages/quickapp-sdk/src/aegis.d.ts +0 -30
  81. package/lib/packages/quickapp-sdk/src/index.d.ts +0 -2
  82. package/lib/packages/quickapp-sdk/src/plugins/aid.d.ts +0 -3
  83. package/lib/packages/quickapp-sdk/src/plugins/cgi-speed.d.ts +0 -7
  84. package/lib/packages/quickapp-sdk/src/plugins/index.d.ts +0 -3
  85. package/lib/packages/quickapp-sdk/src/plugins/offline-log.d.ts +0 -19
  86. package/lib/packages/rn-sdk/src/aegis.d.ts +0 -17
  87. package/lib/packages/rn-sdk/src/index.d.ts +0 -3
  88. package/lib/packages/rn-sdk/src/plugins/aid.d.ts +0 -3
  89. package/lib/packages/rn-sdk/src/plugins/cgi-speed.d.ts +0 -3
  90. package/lib/packages/rn-sdk/src/plugins/index.d.ts +0 -4
  91. package/lib/packages/rn-sdk/src/plugins/on-error.d.ts +0 -6
  92. package/lib/packages/viola-sdk/src/aegis.d.ts +0 -42
  93. package/lib/packages/viola-sdk/src/index.d.ts +0 -3
  94. package/lib/packages/viola-sdk/src/plugins/aid.d.ts +0 -3
  95. package/lib/packages/viola-sdk/src/plugins/cgi-speed.d.ts +0 -3
  96. package/lib/packages/viola-sdk/src/plugins/index.d.ts +0 -4
  97. package/lib/packages/viola-sdk/src/plugins/on-error.d.ts +0 -6
  98. package/lib/packages/web-sdk/__tests__/util/index.spec.d.ts +0 -1
  99. package/lib/packages/web-sdk/__tests__/util/polyfill.spec.d.ts +0 -1
  100. package/lib/packages/web-sdk/src/aegis.d.ts +0 -49
  101. package/lib/packages/web-sdk/src/index.d.ts +0 -4
  102. package/lib/packages/web-sdk/src/pipes/refresh-network.d.ts +0 -2
  103. package/lib/packages/web-sdk/src/plugins/aid.d.ts +0 -3
  104. package/lib/packages/web-sdk/src/plugins/asset-speed.d.ts +0 -3
  105. package/lib/packages/web-sdk/src/plugins/cgi-speed.d.ts +0 -3
  106. package/lib/packages/web-sdk/src/plugins/device.d.ts +0 -18
  107. package/lib/packages/web-sdk/src/plugins/ie-patch.d.ts +0 -6
  108. package/lib/packages/web-sdk/src/plugins/index.d.ts +0 -11
  109. package/lib/packages/web-sdk/src/plugins/offline-log.d.ts +0 -3
  110. package/lib/packages/web-sdk/src/plugins/on-error.d.ts +0 -6
  111. package/lib/packages/web-sdk/src/plugins/page-performance.d.ts +0 -3
  112. package/lib/packages/web-sdk/src/plugins/shadow-log.d.ts +0 -3
  113. package/lib/packages/web-sdk/src/plugins/spa.d.ts +0 -3
  114. package/lib/packages/web-sdk/src/plugins/web-vitals.d.ts +0 -4
  115. package/lib/packages/web-sdk/src/util/hack-http.d.ts +0 -15
  116. package/lib/packages/web-sdk/src/util/index.d.ts +0 -5
  117. package/lib/packages/web-sdk/src/util/polyfill.d.ts +0 -0
  118. package/lib/packages/weex-sdk/src/aegis.d.ts +0 -40
  119. package/lib/packages/weex-sdk/src/fetch-proxy.d.ts +0 -23
  120. package/lib/packages/weex-sdk/src/index.d.ts +0 -3
  121. package/lib/packages/weex-sdk/src/plugins/aid.d.ts +0 -3
  122. package/lib/packages/weex-sdk/src/plugins/cgi-speed.d.ts +0 -7
  123. package/lib/packages/weex-sdk/src/plugins/index.d.ts +0 -4
  124. package/lib/packages/weex-sdk/src/plugins/offline-log.d.ts +0 -19
  125. package/lib/packages/weex-sdk/src/plugins/on-error.d.ts +0 -6
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aegis-mp-sdk",
3
- "version": "1.24.47",
3
+ "version": "1.24.51",
4
4
  "description": "aegis sdk for wechat and qq mini program",
5
5
  "author": "tickli <tickli@tencent.com>",
6
6
  "homepage": "",
@@ -23,7 +23,7 @@
23
23
  },
24
24
  "devDependencies": {
25
25
  "@types/sinon": "^9.0.0",
26
- "miniprogram-api-typings": "^2.11.0-1",
26
+ "@types/wechat-miniprogram": "^3.4.0",
27
27
  "miniprogram-simulate": "^1.1.5",
28
28
  "sinon": "^9.2.3"
29
29
  }
package/lib/aegis.min.js DELETED
@@ -1,10 +0,0 @@
1
- /**
2
- * =================================================================
3
- * aegis-mp-sdk@1.24.47 (c) 2021 Tencent Application Monitor.
4
- * Author pumpkincai.
5
- * Last Release Time Fri Oct 01 2021 19:20:12 GMT+0800 (GMT+08:00).
6
- * Released under the MIT License.
7
- * Thanks for supporting TAM & Aegis!
8
- * =================================================================
9
- **/
10
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).Aegis=t()}(this,function(){"use strict";var n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},s=function(){return(s=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};Object.assign||Object.defineProperty(Object,"assign",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(null==e)throw new TypeError("Cannot convert first argument to object");for(var t=Object(e),n=1;n<arguments.length;n++)if(null!=(i=arguments[n]))for(var i=Object(i),o=Object.keys(Object(i)),r=0,s=o.length;r<s;r++){var a=o[r],u=Object.getOwnPropertyDescriptor(i,a);null!=u&&u.enumerable&&(t[a]=i[a])}return t}});function i(t){try{return encodeURIComponent(decodeURIComponent(t))}catch(e){return t}}var h=(e.prototype.indexOf=function(e,t){for(var n=0;n<e.length;n++)if(e[n].callback===t)return n;return-1},e.prototype.on=function(e,t,n){if(void 0===n&&(n=0),this){var i=this.eventsList[e];return(i||(this.eventsList[e]=[],i=this.eventsList[e]),-1!==this.indexOf(i,t))?this:(i.push({name:e,type:n||0,callback:t}),this)}},e.prototype.one=function(e,t){this.on(e,t,1)},e.prototype.remove=function(e,t){if(this){var n=this.eventsList[e];if(!n)return null;if(t)return n.length&&(t=this.indexOf(n,t),n.splice(t,1)),this;try{delete this.eventsList[e]}catch(e){}return null}},e.prototype.clear=function(){this.eventsList={}},e),t=function(e){return(e=Array.isArray(e)?e:[e]).map(function(t,n){return Object.getOwnPropertyNames(t).map(function(e){return i(e)+"["+n+"]="+(void 0===t[e]?"":i(t[e]))}).join("&")}).join("&")+(e.length?"&count="+e.length:"")};function e(){var s=this;this.emit=function(e,t){if(s){var n;if(null!=(i=s.eventsList[e])&&i.length)for(var i=i.slice(),o=0;o<i.length;o++){n=i[o];try{var r=n.callback.apply(s,[t]);if(1===n.type&&s.remove(e,n.callback),!1===r)break}catch(e){throw e}}return s}},this.eventsList={}}(I=N=N||{})[I.number=-1]="number",I.string="";function c(e,t){return"string"==typeof e?e.split("?")[t?1:0]||"":e}function l(e){return"string"==typeof e&&e.startsWith("//")?"undefined"!=typeof location&&"https:"===location.protocol:/^https/.test(e)}var m,a,u,y,f=["ret","retcode","code"],p=function(e){if("string"==typeof e)return e;try{return(JSON.stringify(e,(i=[],o=[],function(e,t){if(t instanceof Error)return"Error.message: "+t.message+" \n Error.stack: "+t.stack;if("object"==typeof t&&null!==t){var n=i.indexOf(t);if(-1!==n)return"[Circular "+o[n]+"]";i.push(t),o.push(e||"root")}return t}),4)||"undefined").replace(/"/gim,"")}catch(e){return"error happen when aegis stringify: \n "+e.message+" \n "+e.stack}var i,o};(x=m=m||{}).INFO_ALL="-1",x.API_RESPONSE="1",x.INFO="2",x.ERROR="4",x.PROMISE_ERROR="8",x.AJAX_ERROR="16",x.SCRIPT_ERROR="32",x.IMAGE_ERROR="64",x.CSS_ERROR="128",x.CONSOLE_ERROR="256",x.MEDIA_ERROR="512",x.RET_ERROR="1024",x.REPORT="2048",x.PV="4096",x.EVENT="8192",(q=a=a||{})[q.android=1]="android",q[q.ios=2]="ios",q[q.windows=3]="windows",q[q.macos=4]="macos",q[q.linux=5]="linux",q[q.devtools=6]="devtools",q[q.other=100]="other",(M=u=u||{})[M.unknown=100]="unknown",M[M.wifi=1]="wifi",M[M.net2g=2]="net2g",M[M.net3g=3]="net3g",M[M.net4g=4]="net4g",M[M.net5g=5]="net5g",M[M.net6g=6]="net6g",(J=y=y||{}).LOG="log",J.SPEED="speed",J.PERFORMANCE="performance",J.OFFLINE="offline",J.WHITE_LIST="whiteList",J.VITALS="vitals",J.PV="pv",J.CUSTOM_PV="customPV",J.EVENT="event",J.CUSTOM="custom",J.SDK_ERROR="sdkError";function v(e,n){var i,o=[],r=e.config;return e.lifeCycle.on("destroy",function(){o.length=0}),function(e,t){if(o.push(e),n&&o.length>=n)return o=S(o),t(o.splice(0,o.length)),void(i&&clearTimeout(i));i&&clearTimeout(i),i=setTimeout(function(){i=null,0<(o=S(o)).length&&t(o.splice(0,o.length))},r.delay)}}function b(e,t){return Array.isArray(e)?t(e.map(function(e){return s(s({},e),{msg:"string"==typeof e.msg?e.msg:[].concat(e.msg).map(p).join(" ")})})):t(s(s({},e),{msg:"string"==typeof e.msg?e.msg:p(e.msg)}))}function w(n){if(!n||!n.reduce||!n.length)throw new TypeError("createPipeline need at least one function param");return 1===n.length?function(e,t){n[0](e,t||C)}:n.reduce(function(n,i){return function(e,t){return void 0===t&&(t=C),n(e,function(e){return null==i?void 0:i(e,t)})}})}function d(t,n){Object.getOwnPropertyNames(t).forEach(function(e){"function"==typeof t[e]&&"constructor"!==e&&(n?n[e]=function(){}:t[e]=function(){})})}function g(){try{var e=getCurrentPages();return(e[e.length-1]||{}).route||""}catch(e){return""}}function O(e){return function(e,t){if("string"==typeof e){if(e===t)return 1;for(var n=e.split("."),i=t.split("."),o=Math.max(n.length,i.length),r=0;r<o;r++){var s=~~n[r],a=~~i[r];if(s<a)return;if(a<s)return 1}}}(A.getSystemInfoSync().SDKVersion,"1.1.1")&&A.canIUse?A.canIUse(e):!!A[e]}function R(e){for(var t,n={unknown:/unknown|none/i,wifi:/wifi/i,net2g:/2g/i,net3g:/3g/i,net4g:/4g/i,net5g:/5g/i,net6g:/6g/i},i=u.unknown,o=0;o<Object.keys(n).length;o++){var r=Object.keys(n)[o];if(null!==(t=n[r])&&void 0!==t&&t.test(e)){i=u[r];break}}return i}function o(i){return D.forEach(function(e){var t;try{i.aegisRequestStartTime=Date.now(),null===(t=e.onStart)||void 0===t||t.call(e,i)}catch(e){}}),B(s(s({},i),{success:function(n){var e;D.forEach(function(e){var t;try{null===(t=e.success)||void 0===t||t.call(e,n,i)}catch(e){}}),null===(e=i.success)||void 0===e||e.call(i,n)},fail:function(n){var e;D.forEach(function(e){var t;try{null===(t=e.fail)||void 0===t||t.call(e,n,i)}catch(e){}}),null===(e=i.fail)||void 0===e||e.call(i,n)},complete:function(n){var e;D.forEach(function(e){var t;try{null===(t=e.complete)||void 0===t||t.call(e,n,i)}catch(e){}}),null===(e=i.complete)||void 0===e||e.call(i,n)}}))}function r(e){V||function(){try{Object.defineProperty(F,"request",{get:function(){return o}})}catch(e){console.warn("cannot override `request`, error is: ",e)}finally{V=!0}}(),D.push(e)}var E,P,x,S=function(e){return e.filter(function(n,i){return"static"!==n.type||!e.find(function(e,t){return i!==t&&n.url===e.url&&200===n.status})})},T=function(e){e.level===m.INFO_ALL&&(e.level=m.INFO)},L=function(i){return function(e,n){return i.send({url:i.config.url||"",data:t(e),method:"post",contentType:"application/x-www-form-urlencoded",type:y.LOG,log:e},function(){var t=i.config.onReport;"function"==typeof t&&e.forEach(function(e){t(e)}),"function"==typeof n&&n([])},function(e){"403 forbidden"===e&&i.destroy()})}},C=function(){},k=(Object.defineProperty(G.prototype,"__version__",{get:function(){return console.warn("__version__ has discard, please use version"),"1.24.47"},enumerable:!1,configurable:!0}),Object.defineProperty(G.prototype,"LogType",{get:function(){return console.warn("LogType has discard, please use logType"),m},enumerable:!1,configurable:!0}),G.prototype.init=function(e){this.setConfig(e);for(var t=0;t<G.installedPlugins.length;t++)try{G.installedPlugins[t].patch(this)}catch(e){this.sendSDKError(e)}this.lifeCycle.emit("onInited")},G.prototype.setConfig=function(e){Object.assign(this.config,e);var t=this.config,n=t.id,i=t.uin,o=t.version,r=t.ext1,s=t.ext2,a=t.ext3,e=t.aid,t=this.bean.id!==n||this.bean.uin!==i||this.bean.aid!==e;return this.bean.id=n||"",this.bean.uin=i||"",this.bean.version=o||"1.24.47",this.bean.aid=e||"",r&&(this.bean.ext1=r),s&&(this.bean.ext2=s),a&&(this.bean.ext3=a),t&&this.lifeCycle.emit("onConfigChange",this.config),this.config},G.use=function(e){-1===G.installedPlugins.indexOf(e)&&e.aegisPlugin&&G.installedPlugins.push(e)},G.unuse=function(e){e=G.installedPlugins.indexOf(e);-1!==e&&G.installedPlugins.splice(e,1)},G.prototype.info=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n={level:m.INFO,msg:e};1===e.length&&e[0].msg&&Object.assign(n,s({},e[0]),{level:m.INFO}),this.normalLogPipeline(n)},G.prototype.infoAll=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n={level:m.INFO_ALL,msg:e};1===e.length&&e[0].msg&&Object.assign(n,s({},e[0]),{level:m.INFO_ALL}),this.normalLogPipeline(n)},G.prototype.report=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n={level:m.REPORT,msg:e};1===e.length&&e[0].msg&&Object.assign(n,s({},e[0])),this.normalLogPipeline(n)},G.prototype.error=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n={level:m.ERROR,msg:e};1===e.length&&e[0].msg&&Object.assign(n,s({},e[0]),{level:m.ERROR}),this.normalLogPipeline(n)},G.prototype.speedLogPipeline=function(e){throw new Error('You need to override "speedLogPipeline" method')},G.prototype.reportPv=function(e){var t,n=this;e&&(console.warn("reportPv is deprecated, please use reportEvent"),t=""+Object.getOwnPropertyNames(this.bean).filter(function(e){return"id"!==e}).map(function(e){return e+"="+n.bean[e]}).join("&"),this.send({url:this.config.url+"/"+e+"?"+t,addBean:!1,type:y.CUSTOM_PV},function(){},function(e){"403 forbidden"===e&&n.destroy()}))},G.prototype.reportEvent=function(e){e&&((e="string"==typeof e?{name:e,ext1:this.config.ext1||"",ext2:this.config.ext2||"",ext3:this.config.ext3||""}:e).name?this.eventPipeline(e):console.warn("reportEvent params error"))},G.prototype.reportTime=function(e,t){if("object"==typeof e)return this.reportT(e);"string"==typeof e?"number"==typeof t?t<0||6e4<t?console.warn("reportTime: duration must between 0 and 60000"):this.submitCustomTime(e,t):console.warn("reportTime: second param must be number"):console.warn("reportTime: first param must be a string")},G.prototype.reportT=function(e){var t=e.name,n=e.duration,i=e.ext1,o=void 0===i?"":i,r=e.ext2,i=void 0===r?"":r,r=e.ext3,r=void 0===r?"":r,e=e.from;if("string"==typeof t&&"number"==typeof n&&"string"==typeof o&&"string"==typeof i&&"string"==typeof r){if(!(n<0||6e4<n))return this.submitCustomTime(t,n,o,i,r,void 0===e?"":e);console.warn("reportTime: duration must between 0 and 60000")}else console.warn("reportTime: params error")},G.prototype.time=function(e){"string"==typeof e?this.timeMap[e]?console.warn("Timer "+e+" already exists"):this.timeMap[e]=Date.now():console.warn("time: first param must be a string")},G.prototype.timeEnd=function(e){"string"==typeof e?this.timeMap[e]?(this.submitCustomTime(e,Date.now()-this.timeMap[e]),delete this.timeMap[e]):console.warn("Timer "+e+" does not exist"):console.warn("timeEnd: first param must be a string")},G.prototype.submitCustomTime=function(e,t,n,i,o,r){this.customTimePipeline({name:e,duration:t,ext1:n||this.config.ext1,ext2:i||this.config.ext2,ext3:o||this.config.ext3,from:r||void 0})},G.prototype.extendBean=function(e,t){this.bean[e]=t},G.prototype.send=function(o,r,s){var i,a,u,e=this;w([(a=o.type,function(e,t){if(!e)return t(e);e=Array.isArray(e)?e:[e],i.lifeCycle.emit("beforeRequest",e);var n=i.config.beforeRequest;(e="function"==typeof n?e.filter(function(e){return!1!==n({logs:e,logType:a})}):e).length&&t(e)}),function(n,i){e.request(o,function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];i({isErr:!1,result:e,logType:o.type,logs:n}),null==r||r.apply(void 0,e)},function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];i({isErr:!0,result:e,logType:o.type,logs:n}),null==s||s.apply(void 0,e)})},(u=i=this,function(e,t){u.lifeCycle.emit("afterRequest",e);var n=u.config.afterRequest;"function"==typeof n&&!1===n(e)||t(e)})])(o.log)},G.prototype.request=function(e,t,n){throw new Error('You need to override "request" method')},G.prototype.sendSDKError=function(e){this.send({url:this.config.url+"?id=1085&msg[0]="+encodeURIComponent(p(e))+"&level[0]=2&from="+this.config.id+"&count=1&version="+this.config.id+"(1.24.47)",addBean:!1,method:"get",type:y.SDK_ERROR})},G.prototype.destroy=function(e){void 0===e&&(e=!1);var t,n,i=G.instances.indexOf(this);-1!==i&&G.instances.splice(i,1);for(var o=G.installedPlugins.length-1;0<=o;o--)try{G.installedPlugins[o].unpatch(this)}catch(e){this.sendSDKError(e)}if(this.lifeCycle.emit("destroy"),this.lifeCycle.clear(),e)t=this,n=Object.getOwnPropertyDescriptors(t),Object.keys(n).forEach(function(e){n[e].writable&&(t[e]=null)}),Object.setPrototypeOf(this,null);else{for(var r=this;r.constructor!==Object&&d(r,this),r=Object.getPrototypeOf(r););0===G.instances.length&&(e=Object.getPrototypeOf(this).constructor,d(e),d(G))}},G.version="1.24.47",G.instances=[],G.logType=m,G.installedPlugins=[],G),N=(K.prototype.patch=function(e){this.canUse(e)&&this.exist(e)&&(this.instances.push(e),this.triggerInit(e),this.triggerOnNewAegis(e))},K.prototype.unpatch=function(e){e=this.instances.indexOf(e);-1!==e&&this.instances.splice(e,1)},K.prototype.countInstance=function(){return this.instances.length},K.prototype.uninstall=function(){var e;null===(e=null===(e=this.option)||void 0===e?void 0:e.destroy)||void 0===e||e.apply(this)},K.prototype.walk=function(n){var i=this;this.instances.forEach(function(e){var t=i.canUse(e);t&&n(e,t)})},K.prototype.canUse=function(e){e=this.getConfig(e);return!(!e||"object"!=typeof e)||!!e},K.prototype.getConfig=function(e){return null===(e=e.config)||void 0===e?void 0:e[this.name]},K.prototype.exist=function(e){return-1===this.instances.indexOf(e)},K.prototype.triggerInit=function(e){var t;this.inited||(this.inited=!0,null===(t=null===(t=this.option)||void 0===t?void 0:t.init)||void 0===t||t.call(this.option,this.getConfig(e)))},K.prototype.triggerOnNewAegis=function(e){var t;null===(t=null===(t=this.option)||void 0===t?void 0:t.onNewAegis)||void 0===t||t.call(this.option,e,this.getConfig(e))},K),A=wx||qq,j=new N({name:"offlineLog",onNewAegis:function(o){if(A.getFileSystemManager)try{var e=o.config,t=e.id,r=void 0===t?"":t,n=e.uin,s=void 0===n?0:n,i=e.offlineUrl,a=void 0===i?"":i,u=e.offlineLogLimit,c=new U({limit:u});o.lifeCycle.on("beforeWrite",function(e){c.save2Offline(e=void 0===e?[]:e,o.config)}),c.ready(function(t){var e=(o.bean||{}).aid,i=void 0===e?"":e;!t&&r&&(s||i)&&o.send({url:a+"/offlineAuto"},function(e){var n=(null==e?void 0:e.data).secretKey;n&&(t||c.getLogs({id:r,uin:s},function(e,t){e?console.error(e):o.send({url:a+"/offlineLog",data:{logs:t,secretKey:n,id:r,uin:s,aid:i},method:"post"},function(){c.clearLogs()})}))})})}catch(o){console.error(o)}else console.warn("[aegis-mp-sdk]unsupport getFileSystemManager offline log not work!")}}),U=($.prototype.getLogs=function(e,t){var n=this.fileSystem,i=this.filePath;n.readFile({filePath:i,encoding:"utf8",fail:function(e){console.error(e)},success:function(e){e=e.data,e=(void 0===e?"":e).toString().split("\n").filter(function(e){return e}).map(function(e){return JSON.parse(e)});t(null,e)}})},$.prototype.checkLimit=function(o,r){void 0===r&&(r=function(){});var s=this.fileSystem,a=this.filePath,u=this.limitSize;s.readFile({filePath:a,encoding:"utf8",success:function(e){e=e.data,e=void 0===e?"":e;if((e=e.toString()+o).length>u){for(var t=e.split("\n"),n="",i=t.length-1;0<=i&&!(t[i]&&(n=t[i]+"\n"+n).length>u);i--);s.writeFile({filePath:a,data:n,success:r})}else s.appendFile({data:o,filePath:a,encoding:"utf8",success:r,fail:function(e){console.error(e)}})}})},$),I=new N({name:"device",onNewAegis:function(u){return e=this,c=function(){return n=this,i=function(e){return this.setSystemInfo(u),this.refreshNetwork(u),this.setNetworkChange(u),[2]},a={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]},t={next:e(0),throw:e(1),return:e(2)},"function"==typeof Symbol&&(t[Symbol.iterator]=function(){return this}),t;function e(t){return function(e){return function(t){if(o)throw new TypeError("Generator is already executing.");for(;a;)try{if(o=1,r&&(s=2&t[0]?r.return:t[0]?r.throw||((s=r.return)&&s.call(r),0):r.next)&&!(s=s.call(r,t[1])).done)return s;switch(r=0,(t=s?[2&t[0],s.value]:t)[0]){case 0:case 1:s=t;break;case 4:return a.label++,{value:t[1],done:!1};case 5:a.label++,r=t[1],t=[0];continue;case 7:t=a.ops.pop(),a.trys.pop();continue;default:if(!((s=0<(s=a.trys).length&&s[s.length-1])||6!==t[0]&&2!==t[0])){a=0;continue}if(3===t[0]&&(!s||t[1]>s[0]&&t[1]<s[3])){a.label=t[1];break}if(6===t[0]&&a.label<s[1]){a.label=s[1],s=t;break}if(s&&a.label<s[2]){a.label=s[2],a.ops.push(t);break}s[2]&&a.ops.pop(),a.trys.pop();continue}t=i.call(n,a)}catch(e){t=[6,e],r=0}finally{o=s=0}if(5&t[0])throw t[1];return{value:t[0]?t[1]:void 0,done:!0}}([t,e])}}var n,i,o,r,s,a,t},new(a=(a=s=void 0)||Promise)(function(n,t){function i(e){try{r(c.next(e))}catch(e){t(e)}}function o(e){try{r(c.throw(e))}catch(e){t(e)}}function r(e){var t;e.done?n(e.value):((t=e.value)instanceof a?t:new a(function(e){e(t)})).then(i,o)}r((c=c.apply(e,s||[])).next())});var e,s,a,c},setSystemInfo:function(n){var i=this;try{O("getSystemInfo")&&A.getSystemInfo({success:function(e){var t=e.platform,e=e.model;n.extendBean("platform",i.getPlatFormType(t)),n.extendBean("model",e)}})}catch(n){}},getPlatFormType:function(e){for(var t,n={android:/android/i,ios:/ios/i,windows:/windows/i,macos:/mac/i,devtools:/devtools/i},i=a.other,o=0;o<Object.keys(n).length;o++){var r=Object.keys(n)[o];if(null!==(t=n[r])&&void 0!==t&&t.test(e)){i=a[r];break}}return i},setNetworkChange:function(t){O("onNetworkStatusChange")&&A.onNetworkStatusChange(function(e){e=R(e.networkType);t.extendBean("netType",e)})},setNetworkType:function(t){O("getNetworkType")&&A.getNetworkType({success:function(e){e=R(e.networkType);t.extendBean("netType",e)}})},refreshNetwork:function(e){var t=this;this.timer&&clearTimeout(this.timer),this.setNetworkType(e),this.timer=setTimeout(function(){t.refreshNetwork(e)},1e4)}}),_=A.request,q=(n(P=H,x=E=k),P.prototype=null===x?Object.create(x):(W.prototype=x.prototype,new W),Object.defineProperty(H.prototype,"getBean",{get:function(){var t=this;return this.bean?Object.getOwnPropertyNames(this.bean).map(function(e){return e+"="+t.bean[e]}).join("&")+"&from="+encodeURIComponent(g()):"from="+encodeURIComponent(g())},enumerable:!1,configurable:!0}),H.prototype.initOfflineLog=function(){H.use(j)},H.prototype.uploadLogs=function(e,t){this.lifeCycle.emit("uploadLogs",e=void 0===e?{}:e,t=void 0===t?{}:t)},H.prototype.reportPv=function(e){var t,n=this;e&&(t=Object.getOwnPropertyNames(this.bean).filter(function(e){return"id"!==e}).map(function(e){return e+"="+n.bean[e]}).join("&")+"&from="+encodeURIComponent(g()),this.send({url:this.config.url+"/"+e+"?"+t,addBean:!1},function(){},function(){}))},H.sessionID="session-"+Date.now(),H.asyncPluginIndex=0,H),M=new N({name:"aid",onNewAegis:function(t){this.initAid(function(e){t.bean.aid=e,t.config.aid=e})},initAid:function(t){A.getStorage({key:"AEGIS_ID",success:function(e){t(e.data)},fail:function(){var e="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)});A.setStorage({key:"AEGIS_ID",data:e,success:function(){t(e)}})}})}}),F=wx||qq,D=[],B=F.request,V=!1,J=new N({name:"reportApiSpeed",override:!1,onNewAegis:function(e){this.override||(this.override=!0,this.hackRequest(e.config))},hackRequest:function(a){var u=this;r({success:function(e,t){var n={method:t.method||"get",url:c(t.url),duration:Date.now()-t.aegisRequestStartTime,status:e.statusCode||0,isHttps:l(t.url),type:"fetch"},i=null===(o=a.api)||void 0===o?void 0:o.apiDetail,o="req url: "+n.url+" \n \nreq method: "+n.method+" \n \nreq param: "+(i?p(t.data):"")+" \n \nres duration: "+n.duration+" \n \nres status: "+(e.statusCode||0)+" \n \nres data: "+(i?JSON.stringify(e.data):"");u.publishNormalLog({msg:o,level:m.API_RESPONSE}),u.publishSpeedLog(n);var r,s;("function"==typeof(null===(i=a.api)||void 0===i?void 0:i.retCodeHandler)?(s=(r=a.api.retCodeHandler(e.data,t.url,t,e)||{}).code,r=void 0!==(r=r.isErr)&&r,n.ret=s=void 0===s?0:s,r):(r=function(e,t){var n;try{"string"==typeof e&&(e=JSON.parse(e)),"function"==typeof(null===(n=null==t?void 0:t.ret)||void 0===n?void 0:n.join)&&(f=[].concat(t.ret.map(function(e){return e.toLowerCase()})));var i=Object.getOwnPropertyNames(e).filter(function(e){return-1!==f.indexOf(e.toLowerCase())});return i.length?""+e[i[0]]:"unknown"}catch(e){return"unknown"}}(e.data,a.api),n.ret=r,n=(n=null===(e=a.api)||void 0===e?void 0:e.errCode)&&[].concat(n),s=(s=null===(e=a.api)||void 0===e?void 0:e.code)&&[].concat(s),n&&-1!==n.indexOf(r)||s&&-1===s.indexOf(r)||!n&&!s&&"0"!==r&&"unknown"!==r))&&u.publishNormalLog({msg:o,level:m.RET_ERROR})},fail:function(e,t){t={method:t.method||"get",url:c(t.url),duration:Date.now()-t.aegisRequestStartTime,status:0,isHttps:l(t.url),type:"fetch"};u.publishSpeedLog(t)}})},publishSpeedLog:function(t){this.$walk(function(e){e.speedLogPipeline(t)})},publishNormalLog:function(t){this.$walk(function(e){e.normalLogPipeline(t)})}}),k=new N({name:"onError",onNewAegis:function(e){e=e.config;this.listenError(),this.hackRequest(e)},listenError:function(){var t=this;A.onError(function(e){e&&t.publishErrorLog({msg:e,level:m.ERROR})}),O("onUnhandledRejection")&&A.onUnhandledRejection(function(e){e=e.reason;e&&t.publishErrorLog({msg:e,level:m.PROMISE_ERROR})})},publishErrorLog:function(t){this.$walk(function(e){e.normalLogPipeline(t)})},hackRequest:function(s){var a=this;r({complete:function(e,t){var n,i=e.errMsg,o=e.statusCode,r=e.data,e=null===(e=s.api)||void 0===e?void 0:e.apiDetail;s.hostUrl&&-1<(null===(n=t.url)||void 0===n?void 0:n.indexOf(s.hostUrl))||(n="",-1<i.indexOf("timeout")?n="timeout":-1<i.indexOf("fail")||!o||o<0?n="failed":400<=o&&(n="error"),n&&a.publishErrorLog({msg:"AJAX_ERROR: request "+n+"\n \nres status: "+(o||0)+"\n \nres duration: "+(Date.now()-t.aegisRequestStartTime)+"\n \nres data: "+(e?p(r):"")+"\n \nreq url: "+t.url+"\n \nreq method: "+(t.method||"get")+"\n \nreq param: "+(e?p(t.data):"")+"\n \nerrMsg: "+i.slice(0,1e3),level:m.AJAX_ERROR}))}})}}),x=new N({name:"reportAssetSpeed",isStart:!1,onNewAegis:function(e){this.isStart||(this.isStart=!0,this.start(e))},start:function(){var t=this;A.getPerformance&&A.getPerformance().createObserver(function(e){e.getEntries().forEach(function(e){!e.duration||e.duration<=0||"script"===e.entryType&&t.publishAssetLog(e)})}).observe({entryTypes:["script"]})},generateLog:function(e){return{url:c(e.path||e.moduleName)+"js",method:"get",duration:Number(e.duration.toFixed(2)),status:200,type:"static",isHttps:!0,urlQuery:"",domainLookup:0,connectTime:0}},publishAssetLog:function(t){var n=this;this.$walk(function(e){e.speedLogPipeline(n.generateLog(t))})}}),N=(new N({name:"pagePerformance"}),new N({name:"pagePerformance",onNewAegis:function(e){try{O("getPerformance")&&this.reportPerformance(e),this.setPagePV(e)}catch(e){}},reportPerformance:function(r){var s=this,e=A.getPerformance(),e=null==e?void 0:e.createObserver(function(e){var t=e.getEntries(),n={},i=t.find(function(e){return"appLaunch"===e.name&&0<e.duration}),o=t.find(function(e){return"firstRender"===e.name&&0<e.duration}),e=t.find(function(e){return"evaluateScript"===e.name&&0<e.duration}),t=t.find(function(e){return"route"===e.name&&0<e.duration});i&&(n.appLaunch=i.duration),o&&(n.firstScreenTiming=o.duration),e&&(n.scriptEvaluateTiming=e.duration),t&&(n.pageRouteTiming=t.duration),s.publish(n,r)});null==e||e.observe({entryTypes:["navigation","render","script"]})},publish:function(e,t){var n,i,o=[],r=this.$getConfig(t),s=-1===(null===(n=t.config.performanceUrl)||void 0===n?void 0:n.indexOf("?"))?"?":"&";for(i in e)o.push(i+"="+e[i]);"function"==typeof r.urlHandler?this.$walk(function(e){e.send({url:t.config.performanceUrl+s+o.join("&")+"&from="+(encodeURIComponent(r.urlHandler())||window.location.href),beanFilter:["from"],type:y.PERFORMANCE})}):this.$walk(function(e){e.send({url:t.config.performanceUrl+s+o.join("&"),type:y.PERFORMANCE})})},setPagePV:function(e){var t=this;A.onAppRoute&&A.onAppRoute(function(e){"appLaunch"!==e.openType&&t.$walk(function(e){e.send({url:""+e.config.pvUrl,type:y.PV})})})}}));function H(e){var i,o,r,l=E.call(this,e)||this;l.originRequest=_,l.speedLogPipeline=w([(o=l.config,r={},function(e,t){var n,i;o.speedSample?(i="object"==typeof o.repeat?o.repeat:{repeat:o.repeat},n=+i.speed||+i.repeat||5,Array.isArray(e)?(i=e.filter(function(e){var t=!r[e.url]||r[e.url]<n;return r[e.url]=1+~~r[e.url],t})).length&&t(i):(!r[e.url]||r[e.url]<n)&&(r[e.url]=1+~~r[e.url],t(e))):t(e)}),v(l),(i=l,function(t,n){O("getNetworkType")?A.getNetworkType({success:function(e){e=R(e.networkType);i.extendBean("netType",e),n(t)}}):n(t)}),function(e,t){l.lifeCycle.emit("beforeReportSpeed",e);var n=l.config.beforeReportSpeed;if((e="function"==typeof n?e.filter(function(e){return!1!==n(e)}):e).length)return t(e)},function(e){var t,n,i,o;l.send({url:""+l.config.speedUrl,method:"post",data:(t=e,n=l.bean,i={fetch:[],static:[]},o={},Array.isArray(t)?t.forEach(function(e){var t;null===(t=i[e.type])||void 0===t||t.push(e)}):null===(e=i[t.type])||void 0===e||e.push(t),o.payload=JSON.stringify(s({duration:i},n)),o)})}]),l.requestQueue=[],l.requesting=!1,l.request=function(e,t,n){if(e.url&&l.bean.id)if(/^\w{8}-\w{4}-\w{4}-\w{4}-\w{12}$/.test(String(l.bean.aid))){if(!(l.requesting||O("getNetworkType")&&void 0===l.bean.netType)){l.requesting=!0;var i,o=e.url;l.config.whiteListUrl===o&&(i=t,t=function(e){null==i||i(JSON.stringify(e.data))}),!1!==e.addBean&&(o=o+(-1===o.indexOf("?")?"?":"&")+l.getBean);var r=e.method||"get",s=function(){l.requesting=!1;var e=l.requestQueue.shift();e&&l.send(e.options,e.success,e.fail)},a=e,u=l.config.onBeforeRequest;if(!(a=u?u(e,l):a)||!a.url){var c="";return a||(c="Sending request blocked",console.log(c)),a.url||(c="Please handle the parameters reasonably, options.url is necessary",console.warn(c)),null==n||n(c),s(),!1}c=l.config.enableHttp2||!1;return"get"===r?(o=function(e,n){if("string"!=typeof e)return"";if("object"==typeof n&&n){var t=Object.getOwnPropertyNames(n).map(function(e){var t=n[e];return e+"="+("string"==typeof t?encodeURIComponent(t):encodeURIComponent(JSON.stringify(t)))}).join("&").replace(/eval/gi,"evaI");return e+(-1===e.indexOf("?")?"?":"&")+t}return e}(o,a.data),l.originRequest({url:o,enableHttp2:c,success:t,fail:n,complete:s})):("string"==typeof a.data&&(a.data=a.data.replace(/eval/gi,"evaI")),l.originRequest({url:o,enableHttp2:c,header:a.contentType?{"content-type":a.contentType}:void 0,method:"POST",data:a.data,success:t,fail:n,complete:s})),!0}l.requestQueue.push({options:e,success:t,fail:n})}else l.requestQueue.push({options:e,success:t,fail:n})};try{e.offlineLog&&l.initOfflineLog(),l.init(e),l.extendBean("sessionId",H.sessionID),l.extendBean("referer",(O("getLaunchOptionsSync")?A.getLaunchOptionsSync():{scene:""}).scene||"")}catch(e){console.warn(e),console.log("%cThe above error occurred in the process of initializing Aegis, which will affect your normal use of Aegis.\nIt is recommended that you contact us for feedback and thank you for your support.","color: red"),l.sendSDKError(e)}return l}function W(){this.constructor=P}function $(e){var o,r,s=this,t=void 0===e?{}:e,e=t.path,e=void 0===e?"/.aegis.offline.log":e,t=t.limit,t=void 0===t?2e4:t;this.offlineBuffer=[],this.insertLog=(o=null,r=[],function(e){r=r.concat(e),o=o||setTimeout(function(){o=null;var e,t=s.fileSystem,n=s.filePath,i=r.map(function(e){return JSON.stringify(e)}).join("\n")+"\n";i&&(e=function(e){e?s.checkLimit(i,function(){r=[]}):t.writeFile({data:i,filePath:n,encoding:"utf8",fail:function(e){console.error(e)},success:function(){r=[]}})},t.access({path:n,success:function(){e(!0)},fail:function(){e()}}))},2e3)}),this.ready=function(e){s.fileSystem?setTimeout(function(){e(null)},0):(e(new Error("getFileSystemManager file")),s.offlineLog=!1)},this.clearLogs=function(){var e=s.fileSystem,t=s.filePath;e.writeFile({filePath:t,data:"",fail:function(){e.unlinkSync(t)}})},this.save2Offline=function(e,t){e=(e=!Array.isArray(e)?[e]:e).map(function(e){return"string"==typeof e&&(e={msg:e}),function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];if(0===e.length)throw new TypeError("Cannot convert undefined or null to object");for(var n=Object(e[0]),i=1;i<e.length;i++){var o=e[i];if(null!==o)for(var r in o)Object.prototype.hasOwnProperty.call(o,r)&&(n[r]=o[r])}return n}({id:t.id,uin:t.uin,time:+Date.now(),version:t.version,from:g()},e)});s.fileSystem?s.insertLog(e):(s.fileSystem||s.offlineBuffer.length||s.ready(function(e){e?console.error(e):s.offlineBuffer.length&&(s.addLogs(s.offlineBuffer),s.offlineBuffer=[])}),s.offlineBuffer=s.offlineBuffer.concat(e))},this.addLogs=function(e){s.fileSystem&&s.insertLog(e)},this.filePath=A.env.USER_DATA_PATH+e,this.fileSystem=A.getFileSystemManager(),this.limitSize=t}function K(e){this.aegisPlugin=!0,this.name="",this.instances=[],this.inited=!1,e.$walk=this.walk.bind(this),e.$getConfig=this.getConfig.bind(this),this.option=e,this.name=e.name}function G(e){var n,t,s,i,a,u,o,c,r,l,f,p,d,g=this;this.config={version:0,delay:1e3,onError:!0,repeat:5,random:1,aid:!0,device:!0,pagePerformance:!0,webVitals:!0,speedSample:!0,hostUrl:"https://aegis.qq.com",url:"",offlineUrl:"",whiteListUrl:"",pvUrl:"",speedUrl:"",customTimeUrl:"",performanceUrl:"",webVitalsUrl:"",eventUrl:""},this.isWhiteList=!1,this.lifeCycle=new h,this.bean={},this.normalLogPipeline=w([v(this,5),b,function(e,t){if("number"!=typeof n.config.random&&(console.warn("random must in [0, 1], default is 1."),n.config.random=1),Math.random()<n.config.random)return t(e)},(p=(n=this).config,d={},function(e,t){var n="number"==typeof p.repeat?p.repeat:5;if(0===n)return t(e);t(e.filter(function(e){return e.level!==m.ERROR&&e.level!==m.PROMISE_ERROR&&e.level!==m.AJAX_ERROR&&e.level!==m.SCRIPT_ERROR&&e.level!==m.IMAGE_ERROR&&e.level!==m.CSS_ERROR&&e.level!==m.MEDIA_ERROR||(d[e.msg]=d[e.msg]||0,d[e.msg]+=1,!(d[e.msg]>n))}))}),(l=this.lifeCycle.emit,f=this.config,function(e,t){var n=f.logCreated;if("function"!=typeof n)return l("beforeWrite",e),t(e);e=e.filter(function(e){return!1!==n(e)});return l("beforeWrite",e),t(e)}),(r=this,setTimeout(function(){var e=r.config.pvUrl,e=void 0===e?"":e;e&&r.send({url:e,type:y.PV},function(){},function(e){"403 forbidden"===e&&r.destroy()})},100),function(e,t){t(e)}),(o=u=a=!1,c=[],(s=this).lifeCycle.on("onConfigChange",function(){i&&clearTimeout(i),i=setTimeout(function(){var e;!o&&s.config&&(o=!0,(e=void 0===(e=s.config.whiteListUrl)?"":e)&&s.send({url:e,type:y.WHITE_LIST},function(e){u=!0;try{var t=e.data||JSON.parse(e),n=t.retcode,i=t.result,o=void 0===i?{}:i;if(0===n){if(a=o.is_in_white_list,s.isWhiteList=a,o.shutdown)return void s.destroy();0<=o.rate&&o.rate<=1&&(s.config.random=o.rate)}s.isWhiteList&&c.length?L(s)(c.splice(0),function(){}):!s.isWhiteList&&c.length&&(c.length=0);var r=s.config.onWhitelist;"function"==typeof r&&r(a)}catch(e){}},function(e){"403 forbidden"===e&&s.destroy(),u=!0}),o=!1)},s.config.uin?50:500)}),s.lifeCycle.on("destroy",function(){c.length=0}),function(e,t){a?t(e.concat(c.splice(0)).map(function(e){return T(e),e})):(e=e.filter(function(e){return e.level!==m.INFO&&e.level!==m.API_RESPONSE?(T(e),!0):(u||(c.push(e),200<=c.length&&(c.length=200)),!1)})).length&&t(e)}),function(e,t){var n=JSON.parse(JSON.stringify(e));g.lifeCycle.emit("beforeReport",n);var i=g.config.beforeReport;(e="function"==typeof i?e.filter(function(e){return!1!==i(e)}):e).length&&t(e)},L(this)]),this.eventPipeline=w([v(this,5),function(e){var t=e.map(function(e){return{name:e.name,ext1:e.ext1||g.config.ext1||"",ext2:e.ext2||g.config.ext2||"",ext3:e.ext3||g.config.ext3||""}});return g.send({url:g.config.eventUrl+"?payload="+encodeURIComponent(JSON.stringify(t)),type:y.EVENT,log:e},function(){},function(e){"403 forbidden"===e&&g.destroy()})}]),this.timeMap={},this.customTimePipeline=w([v(this,5),function(e){return g.send({url:g.config.customTimeUrl+"?payload="+encodeURIComponent(JSON.stringify({custom:e})),type:y.CUSTOM,log:e},function(){},function(e){"403 forbidden"===e&&g.destroy()})}]),this.config=(t=this.config,void 0===(e=e.hostUrl)&&(e="https://aegis.qq.com"),t.url=t.url||e+"/collect",t.offlineUrl=t.offlineUrl||e+"/offline",t.whiteListUrl=t.whiteListUrl||e+"/collect/whitelist",t.pvUrl=t.pvUrl||e+"/collect/pv",t.eventUrl=t.eventUrl||e+"/collect/events",t.speedUrl=t.speedUrl||e+"/speed",t.customTimeUrl=t.customTimeUrl||e+"/speed/custom",t.performanceUrl=t.performanceUrl||e+"/speed/performance",t.webVitalsUrl=t.webVitalsUrl||e+"/speed/webvitals",t),G.instances.push(this)}return q.use(k),q.use(J),q.use(M),q.use(x),q.use(N),q.use(I),q});
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,3 +0,0 @@
1
- import { Config } from '../interface';
2
- export declare const getDefaultConfig: () => Config;
3
- export declare const setConfigUrl: (config: Config, hostUrl?: string) => Config;
@@ -1 +0,0 @@
1
- export declare const globalAny: any;
@@ -1,2 +0,0 @@
1
- export { getDefaultConfig, setConfigUrl } from './config';
2
- export * from './global';
@@ -1,43 +0,0 @@
1
- import { InterfaceEventEmitter } from './util';
2
- import { Config, LogType, SendOption, SendSuccess, SendFail, SpeedLog, ReportTimeLog, EventLog } from './interface';
3
- import Plugin from './plugin';
4
- export default class Core {
5
- static version: string;
6
- static instances: Core[];
7
- constructor(config: Config);
8
- get __version__(): string;
9
- static logType: typeof LogType;
10
- get LogType(): typeof LogType;
11
- config: Config;
12
- isWhiteList: boolean;
13
- lifeCycle: InterfaceEventEmitter;
14
- bean: {
15
- [key: string]: string | number | boolean;
16
- };
17
- init(config: Config): void;
18
- setConfig(config: Partial<Config>): Config;
19
- private static installedPlugins;
20
- static use(plugin: Plugin): void;
21
- static unuse(plugin: Plugin): void;
22
- info(...msg: any): void;
23
- infoAll(...msg: any): void;
24
- report(...msg: any): void;
25
- error(...msg: any): void;
26
- normalLogPipeline: import("./pipes").Pipeline<any, any>;
27
- speedLogPipeline(_log?: SpeedLog): void;
28
- reportPv(id: number): void;
29
- reportEvent(event: string | EventLog): void;
30
- private eventPipeline;
31
- private timeMap;
32
- reportTime(key: string | ReportTimeLog, duration?: number): void;
33
- reportT(obj: ReportTimeLog): void;
34
- time(key: string): void;
35
- timeEnd(key: string): void;
36
- private submitCustomTime;
37
- private customTimePipeline;
38
- extendBean(key: string, value: any): void;
39
- send(options: SendOption, success?: SendSuccess, fail?: SendFail): void;
40
- request(_options: SendOption, _success?: SendSuccess, _fail?: SendFail): void;
41
- sendSDKError(err: any): void;
42
- destroy(force?: boolean): void;
43
- }
@@ -1,9 +0,0 @@
1
- import './polyfill';
2
- import Core from './core';
3
- import Plugin from './plugin';
4
- export { Plugin };
5
- export default Core;
6
- export { LogType, NormalLog, SpeedLog, StaticAssetsLog, PagePerformanceLog, Config, SendOption, SendSuccess, SendFail, SendType, PlatTypeNum, NetworkTypeNum, } from './interface';
7
- export { getDefaultConfig, setConfigUrl, globalAny } from './constant';
8
- export * from './pipes';
9
- export * from './util';
@@ -1,40 +0,0 @@
1
- /**
2
- * 配置Interface
3
- */
4
- export interface Config {
5
- id?: string;
6
- uin?: number | string;
7
- aid?: boolean | string;
8
- onError?: boolean;
9
- device?: boolean;
10
- version?: number | string;
11
- delay?: number;
12
- repeat?: number | object;
13
- random?: number;
14
- speedSample?: boolean;
15
- hostUrl?: string;
16
- url?: string;
17
- customTimeUrl?: string;
18
- whiteListUrl?: string;
19
- offlineUrl?: string;
20
- pvUrl?: string;
21
- speedUrl?: string;
22
- performanceUrl?: string;
23
- eventUrl?: string;
24
- pageUrl?: string;
25
- getNetworkType?: Function;
26
- beforeReport?: Function;
27
- logCreated?: Function;
28
- onReport?: Function;
29
- onWhitelist?: Function;
30
- api?: Record<string, any>;
31
- beforeReportSpeed?: Function;
32
- reportAssetSpeed?: boolean | object;
33
- beforeRequest?: Function;
34
- afterRequest?: Function;
35
- ext1?: string;
36
- ext2?: string;
37
- ext3?: string;
38
- destroy?: Function;
39
- [key: string]: any;
40
- }
@@ -1,3 +0,0 @@
1
- export { Config } from './config';
2
- export { NormalLog, SpeedLog, StaticAssetsLog, PagePerformanceLog, LogType, ReportTimeLog, EventLog, PlatTypeNum, NetworkTypeNum, } from './log';
3
- export { SendOption, SendSuccess, SendFail, SendType, } from './send';
@@ -1,89 +0,0 @@
1
- export declare enum LogType {
2
- INFO_ALL = "-1",
3
- API_RESPONSE = "1",
4
- INFO = "2",
5
- ERROR = "4",
6
- PROMISE_ERROR = "8",
7
- AJAX_ERROR = "16",
8
- SCRIPT_ERROR = "32",
9
- IMAGE_ERROR = "64",
10
- CSS_ERROR = "128",
11
- CONSOLE_ERROR = "256",
12
- MEDIA_ERROR = "512",
13
- RET_ERROR = "1024",
14
- REPORT = "2048",
15
- PV = "4096",
16
- EVENT = "8192"
17
- }
18
- export declare enum PlatTypeNum {
19
- android = 1,
20
- ios = 2,
21
- windows = 3,
22
- macos = 4,
23
- linux = 5,
24
- devtools = 6,
25
- other = 100
26
- }
27
- export declare enum NetworkTypeNum {
28
- unknown = 100,
29
- wifi = 1,
30
- net2g = 2,
31
- net3g = 3,
32
- net4g = 4,
33
- net5g = 5,
34
- net6g = 6
35
- }
36
- export interface NormalLog {
37
- msg: any;
38
- level: LogType;
39
- [key: string]: any;
40
- }
41
- export interface SpeedLog {
42
- url: string;
43
- isHttps: boolean;
44
- method: string;
45
- type: 'static' | 'fetch';
46
- duration?: number;
47
- ret?: string | number | 'unknown';
48
- status?: number;
49
- payload?: object;
50
- [key: string]: any;
51
- }
52
- export interface PagePerformanceLog {
53
- dnsLookup: number;
54
- tcp: number;
55
- ssl: number;
56
- ttfb: number;
57
- contentDownload: number;
58
- domParse: number;
59
- resourceDownload: number;
60
- firstScreenTiming: number;
61
- [key: string]: any;
62
- }
63
- export interface StaticAssetsLog {
64
- url: string;
65
- isHttps: boolean;
66
- method: string;
67
- type: 'static' | 'fetch';
68
- duration?: number;
69
- ret?: string | 'unknown';
70
- status?: number;
71
- domainLookup: number;
72
- connectTime: number;
73
- urlQuery: string;
74
- }
75
- export interface ReportTimeLog {
76
- name: string;
77
- duration: number;
78
- ext1?: string;
79
- ext2?: string;
80
- ext3?: string;
81
- from?: string;
82
- }
83
- export interface EventLog {
84
- name: string;
85
- ext1?: string;
86
- ext2?: string;
87
- ext3?: string;
88
- from?: string;
89
- }
@@ -1,26 +0,0 @@
1
- export interface SendOption {
2
- url: string;
3
- method?: 'get' | 'post';
4
- contentType?: string;
5
- data?: any;
6
- addBean?: boolean;
7
- from?: string;
8
- beanFilter?: string[];
9
- type?: SendType;
10
- log?: any;
11
- }
12
- export declare enum SendType {
13
- LOG = "log",
14
- SPEED = "speed",
15
- PERFORMANCE = "performance",
16
- OFFLINE = "offline",
17
- WHITE_LIST = "whiteList",
18
- VITALS = "vitals",
19
- PV = "pv",
20
- CUSTOM_PV = "customPV",
21
- EVENT = "event",
22
- CUSTOM = "custom",
23
- SDK_ERROR = "sdkError"
24
- }
25
- export declare type SendSuccess = (data: any) => void;
26
- export declare type SendFail = (err: any) => void;
@@ -1,3 +0,0 @@
1
- import Core from '../core';
2
- import { Pipe } from './index';
3
- export declare const afterRequestHooks: (aegis: Core) => Pipe;
@@ -1,4 +0,0 @@
1
- import Core from '../core';
2
- import { SendType } from '../interface';
3
- import { Pipe } from './index';
4
- export declare const beforeRequestHooks: (aegis: Core, logType: SendType | undefined) => Pipe;
@@ -1,2 +0,0 @@
1
- import { Pipe } from './index';
2
- export declare const formatNormalLogPipe: Pipe;
@@ -1,14 +0,0 @@
1
- export { createRandomSamplePipe } from './sample';
2
- export { createWriteReportPipe } from './write-before';
3
- export { createThrottlePipe } from './throttle';
4
- export { formatNormalLogPipe } from './format';
5
- export { createWhitelistPipe } from './whitelist';
6
- export { createPvPipe } from './pv';
7
- export { createSpeedRepeatLimitPipe, createErrorLogLimitPipe } from './repeat-limit';
8
- export { reportPipe } from './report';
9
- export { beforeRequestHooks } from './beforeRequestHooks';
10
- export { afterRequestHooks } from './afterRequestHooks';
11
- export declare type Pipe<M = any, N = any> = (msg: M, resolve: Resolve<N>) => void;
12
- export declare type Resolve<M> = (msg: M) => void;
13
- export declare type Pipeline<M = any, N = any> = (msg: M, end?: Resolve<N>) => any;
14
- export declare const createPipeline: (pipeArr: [Pipe, ...Pipe[]]) => Pipeline;
@@ -1,3 +0,0 @@
1
- import { Pipe } from './index';
2
- import Core from '../core';
3
- export declare const createPvPipe: (aegis: Core) => Pipe;
@@ -1,4 +0,0 @@
1
- import { Pipe } from './index';
2
- import { Config } from '../interface';
3
- export declare const createSpeedRepeatLimitPipe: (config: Config) => Pipe;
4
- export declare const createErrorLogLimitPipe: (config: Config) => Pipe;
@@ -1,8 +0,0 @@
1
- import { Pipe } from './index';
2
- import Core from '../core';
3
- /**
4
- * 上报
5
- * @param aegis 实例
6
- * @returns
7
- */
8
- export declare const reportPipe: (aegis: Core) => Pipe;
@@ -1,3 +0,0 @@
1
- import { Pipe } from './index';
2
- import Core from '../core';
3
- export declare const createRandomSamplePipe: (aegis: Core) => Pipe;
@@ -1,3 +0,0 @@
1
- import { Pipe } from './index';
2
- import Core from '../core';
3
- export declare const createThrottlePipe: (aegis: Core, maxLength?: number | undefined) => Pipe;
@@ -1,3 +0,0 @@
1
- import { Pipe } from './index';
2
- import Core from '../core';
3
- export declare const createWhitelistPipe: (aegis: Core) => Pipe;
@@ -1,3 +0,0 @@
1
- import { Pipe } from './index';
2
- import { Config } from '../interface';
3
- export declare const createWriteReportPipe: (emit: Function, config: Config) => Pipe;
@@ -1,33 +0,0 @@
1
- import Core from './core';
2
- declare type PluginConfig = boolean | any;
3
- interface PluginOption<Aegis> {
4
- name: string;
5
- init?: (this: PluginOption<Aegis> & PluginMethod<Aegis>, config: PluginConfig) => void;
6
- onNewAegis?: (this: PluginOption<Aegis> & PluginMethod<Aegis>, aegis: Aegis, option: PluginConfig) => void;
7
- destroy?: Function;
8
- [key: string]: any;
9
- }
10
- interface PluginMethod<Aegis> {
11
- $walk: (cb: (aegis: Aegis, config: PluginConfig) => void) => void;
12
- $getConfig: (aegis: Aegis) => PluginConfig;
13
- [key: string]: any;
14
- }
15
- export default class Plugin<Aegis = Core> {
16
- aegisPlugin: boolean;
17
- name: string;
18
- option: PluginOption<Aegis>;
19
- private instances;
20
- private inited;
21
- constructor(option: PluginOption<Aegis>);
22
- patch(aegis: Aegis): void;
23
- unpatch(aegis: Aegis): void;
24
- countInstance(): number;
25
- uninstall(): void;
26
- private walk;
27
- private canUse;
28
- private getConfig;
29
- private exist;
30
- private triggerInit;
31
- private triggerOnNewAegis;
32
- }
33
- export {};
File without changes
@@ -1,18 +0,0 @@
1
- export interface InterfaceEventEmitter {
2
- indexOf: Function;
3
- on: Function;
4
- one: Function;
5
- emit: Function;
6
- remove: Function;
7
- clear: Function;
8
- }
9
- export declare class EventEmitter {
10
- private eventsList;
11
- constructor();
12
- indexOf(array: any[], value: any): number;
13
- on(name: string, callback: Function, type?: number): this | undefined;
14
- one(name: string, callback: Function): void;
15
- emit: (name: string, data: any) => this | undefined;
16
- remove(name: string, callback: Function): this | null | undefined;
17
- clear(): void;
18
- }
@@ -1,49 +0,0 @@
1
- import { NormalLog, SpeedLog } from '../interface';
2
- export { EventEmitter, InterfaceEventEmitter } from './event-emitter';
3
- export declare const buildLogParam: (logs: NormalLog | NormalLog[]) => string;
4
- interface P {
5
- [k: string]: any;
6
- }
7
- export declare const buildParam: (url: string, param: P) => string;
8
- export declare const encodeOnce: (str: string) => string;
9
- export declare enum ReportDefaultVal {
10
- number = -1,
11
- string = ""
12
- }
13
- export declare const getReportVal: <T>(rawVal?: T | undefined, isDefaultByString?: boolean | undefined) => T | ReportDefaultVal;
14
- export declare const formatUrl: (url: string, isGetQuery?: boolean | undefined) => string;
15
- export declare const urlIsHttps: (url: string) => boolean;
16
- export declare const isNative: (Ctor: any) => boolean;
17
- export declare const isRequestAsset: (contentType: string) => boolean;
18
- export declare const tryToGetRetCode: (obj: any, api?: Record<string, any> | undefined) => string;
19
- export declare const stringifyPlus: (target: any) => string;
20
- export declare const stringifyObj: (obj: any, deep?: number) => string;
21
- /**
22
- * 获取xhr相关资源
23
- * 此类存在意义:是fetch请求和XMLHttpRequest请求的payload数据格式相同
24
- * @param {Any} data XMLHttpRequest对象
25
- */
26
- export declare class PayloadXHR {
27
- type: string;
28
- data: any | {};
29
- constructor(data: any);
30
- sourceURL(): string;
31
- status(): number;
32
- headers(): object;
33
- }
34
- /**
35
- * 获取fetch相关资源
36
- * 此类存在意义:是fetch请求和XMLHttpRequest请求的payload数据格式相同
37
- * @param {Any} data fetch请求的response对象
38
- */
39
- export declare class PayloadFetch {
40
- type: string;
41
- data: any | {};
42
- response: any | {};
43
- constructor(data: any, response: any);
44
- sourceURL(): string;
45
- status(): number;
46
- headers(): object;
47
- }
48
- export declare const generateAid: () => string;
49
- export declare const speedShim: (logs: SpeedLog | SpeedLog[], bean: any) => any;
@@ -1,38 +0,0 @@
1
- import Core, { Config, SendOption, SendSuccess, SendFail, SpeedLog } from "../../core/src";
2
- export interface HippyConfig extends Config {
3
- reportApiSpeed?: boolean;
4
- beforeReportSpeed?: Function;
5
- offlineLogLimit?: number;
6
- referrer?: string;
7
- offlineLog?: boolean;
8
- dbConfig?: any;
9
- offlineLogExp?: number;
10
- reqCallback?: (data?: unknown, options?: unknown) => {};
11
- }
12
- export default class Aegis extends Core {
13
- static sessionID: string;
14
- hippy: any;
15
- originRequest: typeof fetch;
16
- speedLogPipeline: import("../../core/src").Pipeline<any, any>;
17
- constructor(config: HippyConfig);
18
- getPlatform(): 1 | 2 | 100;
19
- initOfflineLog(): void;
20
- get getBean(): string;
21
- reportSpeed(logs: SpeedLog | SpeedLog[]): void;
22
- /**
23
- * @desc 上报测速
24
- * @param msg 测速日志log
25
- */
26
- retcode(msg: SpeedLog): void;
27
- request: (options: SendOption, success?: SendSuccess | undefined, fail?: SendFail | undefined) => void;
28
- uploadLogs(params?: any, conds?: any): void;
29
- /**
30
- * @description 读取离线日志,在offlineLogPlugin中会重写改方法
31
- */
32
- getOfflineLog(): void;
33
- /**
34
- * @description 上报离线日志,在offlineLogPlugin中会重写改方法
35
- * @param logs 日志
36
- */
37
- uploadOfflineLogs(_logs: any | any[]): void;
38
- }
@@ -1,3 +0,0 @@
1
- import Aegis from './aegis';
2
- export default Aegis;
3
- export { HippyConfig } from './aegis';
@@ -1,3 +0,0 @@
1
- import Core, { Plugin } from "../../../core/src";
2
- declare const _default: Plugin<Core>;
3
- export default _default;
@@ -1,3 +0,0 @@
1
- import Core, { Plugin } from "../../../core/src";
2
- declare const _default: Plugin<Core>;
3
- export default _default;
@@ -1,4 +0,0 @@
1
- import aid from './aid';
2
- import onError from './on-error';
3
- import cgiSpeed from './cgi-speed';
4
- export { aid, onError, cgiSpeed };
@@ -1,19 +0,0 @@
1
- import Core, { Plugin, LogType } from "../../../core/src";
2
- export interface ErrorMsg {
3
- msg: string;
4
- rowNum: string;
5
- colNum: string;
6
- target: string;
7
- level: LogType;
8
- from: string;
9
- id?: string;
10
- time?: number;
11
- uin?: string | number;
12
- version?: string;
13
- }
14
- export interface LogConfig {
15
- uin: number | string;
16
- id: number | string;
17
- }
18
- declare const _default: Plugin<Core>;
19
- export default _default;
@@ -1,6 +0,0 @@
1
- /**
2
- * @插件 该插件会监听页面的错误,并发布至每一个 Aegis 实例
3
- */
4
- import Core, { Plugin } from "../../../core/src";
5
- declare const _default: Plugin<Core>;
6
- export default _default;
@@ -1 +0,0 @@
1
- import './helper/global';
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};