sentry-uniapp 1.0.9 → 1.0.11

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.
package/README.md CHANGED
@@ -69,7 +69,8 @@ Sentry SDK 的封装,可用于Uniapp全端,及微信小程序,抖音小程
69
69
 
70
70
  // init Sentry
71
71
  // init options: https://github.com/getsentry/sentry-javascript/blob/master/packages/types/src/options.ts
72
- // extraOptions 可以禁用哪些监听事件,例如禁用uniapp下的onmemorywarning LOG提示,定义见: GlobalHandlersIntegrations
72
+ // extraOptions 可以禁用哪些监听事件,定义见: GlobalHandlersIntegrations
73
+ // 例如出现 LOG: API `onMemoryWarning` is not yet implemented,可通过 `onmemorywarning: false` 关闭
73
74
  Sentry.init({
74
75
  dsn: "__DSN__",
75
76
  extraOptions: {
@@ -199,6 +200,12 @@ npm publish --registry=https://registry.npmjs.org/
199
200
 
200
201
  欢迎通过 `issue`、`pull request`等方式贡献 `sentry-uniapp`。
201
202
 
203
+ ## 感谢
204
+
205
+ 最早是直接用的github fork,但发现fork的repo会有一些限制,所以重新创建的这个,本项目基于下面开源基础上修改:
206
+
207
+ <https://github.com/lizhiyao/sentry-miniapp>
208
+
202
209
  ## 联系作者
203
210
 
204
211
  微信: yinqisen
@@ -13,6 +13,6 @@ interface SDK {
13
13
  getLaunchOptionsSync?: Function;
14
14
  }
15
15
  declare const sdk: SDK;
16
- declare const appName: "uniapp" | "wechat" | "alipay" | "bytedance" | "dingtalk" | "qq" | "swan" | "unknown";
16
+ declare const appName: "unknown" | "uniapp" | "wechat" | "alipay" | "bytedance" | "dingtalk" | "qq" | "swan";
17
17
  export { sdk, appName };
18
18
  //# sourceMappingURL=crossPlatform.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"crossPlatform.d.ts","sourceRoot":"","sources":["../src/crossPlatform.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,UAAU,GAAG;IACX,OAAO,EAAE,QAAQ,CAAC;IAClB,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,aAAa,EAAE,QAAQ,CAAC;IACxB,iBAAiB,EAAE,QAAQ,CAAC;IAC5B,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,oBAAoB,CAAC,EAAE,QAAQ,CAAC;IAChC,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,eAAe,CAAC,EAAE,QAAQ,CAAC;IAC3B,oBAAoB,CAAC,EAAE,QAAQ,CAAC;CACjC;AAkFD,QAAA,MAAM,GAAG,KAAW,CAAC;AACrB,QAAA,MAAM,OAAO,uFAAe,CAAC;AAW7B,OAAO,EAAC,GAAG,EAAE,OAAO,EAAC,CAAC"}
1
+ {"version":3,"file":"crossPlatform.d.ts","sourceRoot":"","sources":["../src/crossPlatform.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,UAAU,GAAG;IACX,OAAO,EAAE,QAAQ,CAAC;IAClB,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,aAAa,EAAE,QAAQ,CAAC;IACxB,iBAAiB,EAAE,QAAQ,CAAC;IAC5B,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,oBAAoB,CAAC,EAAE,QAAQ,CAAC;IAChC,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,eAAe,CAAC,EAAE,QAAQ,CAAC;IAC3B,oBAAoB,CAAC,EAAE,QAAQ,CAAC;CACjC;AAkFD,QAAA,MAAM,GAAG,KAAW,CAAC;AACrB,QAAA,MAAM,OAAO,uFAAe,CAAC;AAE7B,OAAO,EAAC,GAAG,EAAE,OAAO,EAAC,CAAC"}
@@ -77,14 +77,4 @@ var sdk = getSDK();
77
77
  exports.sdk = sdk;
78
78
  var appName = getAppName();
79
79
  exports.appName = appName;
80
- sdk.getSystemInfo = function () {
81
- return new Promise(function (resolve, reject) {
82
- try {
83
- resolve(sdk.getSystemInfoSync());
84
- }
85
- catch (e) {
86
- reject(e);
87
- }
88
- });
89
- };
90
80
  //# sourceMappingURL=crossPlatform.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"crossPlatform.js","sourceRoot":"","sources":["../src/crossPlatform.ts"],"names":[],"mappings":";;AAqCA,IAAI,UAAU,GAAQ;IACpB,qCAAqC;IACrC,OAAO,EAAE;IACT,CAAC;IACD,qCAAqC;IACrC,WAAW,EAAE;IACb,CAAC;IACD,qCAAqC;IACrC,iBAAiB,EAAE;IACnB,CAAC;IACD,qCAAqC;IACrC,aAAa,EAAE;IACf,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,IAAM,MAAM,GAAG;IACb,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC3B,UAAU,GAAG,GAAG,CAAC;KAClB;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACjC,UAAU,GAAG,EAAE,CAAC;KACjB;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACjC,UAAU,GAAG,EAAE,CAAC;KACjB;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACjC,UAAU,GAAG,EAAE,CAAC;KACjB;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACjC,UAAU,GAAG,EAAE,CAAC;KACjB;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACjC,UAAU,GAAG,EAAE,CAAC;KACjB;SAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QACnC,UAAU,GAAG,IAAI,CAAC;KACnB;SAAM;QACL,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;KAC9D;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF;;GAEG;AACH,IAAM,UAAU,GAAG;IACjB,IAAI,cAAc,GAAY,SAAS,CAAC;IAExC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC3B,cAAc,GAAG,QAAQ,CAAC;KAC3B;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACjC,cAAc,GAAG,QAAQ,CAAC;KAC3B;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACjC,cAAc,GAAG,QAAQ,CAAC;KAC3B;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACjC,cAAc,GAAG,WAAW,CAAC;KAC9B;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACjC,cAAc,GAAG,UAAU,CAAC;KAC7B;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACjC,cAAc,GAAG,IAAI,CAAC;KACvB;SAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QACnC,cAAc,GAAG,MAAM,CAAC;KACzB;IAED,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAEF,IAAM,GAAG,GAAG,MAAM,EAAE,CAAC;AAYb,kBAAG;AAXX,IAAM,OAAO,GAAG,UAAU,EAAE,CAAC;AAWhB,0BAAO;AATpB,GAAG,CAAC,aAAa,GAAG;IAClB,OAAA,IAAI,OAAO,CAAM,UAAC,OAAO,EAAE,MAAM;QAC/B,IAAI;YACF,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAA;SACjC;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,CAAC,CAAC,CAAC,CAAA;SACV;IACH,CAAC,CAAC;AANF,CAME,CAAA","sourcesContent":["declare const uni: any; // uniapp\ndeclare const wx: any; // 微信小程序、微信小游戏\ndeclare const my: any; // 支付宝小程序\ndeclare const tt: any; // 字节跳动小程序\ndeclare const dd: any; // 钉钉小程序\ndeclare const qq: any; // QQ 小程序、QQ 小游戏\ndeclare const swan: any; // 百度小程序\n\n/**\n * 小程序平台 SDK 接口\n */\ninterface SDK {\n request: Function;\n httpRequest?: Function; // 针对钉钉小程序\n getSystemInfo: Function;\n getSystemInfoSync: Function;\n onError?: Function;\n onUnhandledRejection?: Function;\n onPageNotFound?: Function;\n onMemoryWarning?: Function;\n getLaunchOptionsSync?: Function;\n}\n\n/**\n * 小程序平台 接口\n */\ntype AppName =\n | \"uniapp\"\n | \"wechat\"\n | \"alipay\"\n | \"bytedance\"\n | \"dingtalk\"\n | \"qq\"\n | \"swan\"\n | \"quickapp\"\n | \"unknown\";\n\nlet currentSdk: SDK = {\n // tslint:disable-next-line: no-empty\n request: () => {\n },\n // tslint:disable-next-line: no-empty\n httpRequest: () => {\n },\n // tslint:disable-next-line: no-empty\n getSystemInfoSync: () => {\n },\n // tslint:disable-next-line: no-empty\n getSystemInfo: () => {\n },\n};\n\n/**\n * 获取跨平台的 SDK\n */\nconst getSDK = () => {\n if (typeof uni === \"object\") {\n currentSdk = uni;\n } else if (typeof wx === \"object\") {\n currentSdk = wx;\n } else if (typeof my === \"object\") {\n currentSdk = my;\n } else if (typeof tt === \"object\") {\n currentSdk = tt;\n } else if (typeof dd === \"object\") {\n currentSdk = dd;\n } else if (typeof qq === \"object\") {\n currentSdk = qq;\n } else if (typeof swan === \"object\") {\n currentSdk = swan;\n } else {\n // tslint:disable-next-line:no-console\n console.log(\"sentry-uniapp 暂不支持此平台, 快应用请使用 sentry-quickapp\");\n }\n\n return currentSdk;\n};\n\n/**\n * 获取平台名称\n */\nconst getAppName = () => {\n let currentAppName: AppName = \"unknown\";\n\n if (typeof uni === \"object\") {\n currentAppName = \"uniapp\";\n } else if (typeof wx === \"object\") {\n currentAppName = \"wechat\";\n } else if (typeof my === \"object\") {\n currentAppName = \"alipay\";\n } else if (typeof tt === \"object\") {\n currentAppName = \"bytedance\";\n } else if (typeof dd === \"object\") {\n currentAppName = \"dingtalk\";\n } else if (typeof qq === \"object\") {\n currentAppName = \"qq\";\n } else if (typeof swan === \"object\") {\n currentAppName = \"swan\";\n }\n\n return currentAppName;\n};\n\nconst sdk = getSDK();\nconst appName = getAppName();\n\nsdk.getSystemInfo = () =>\n new Promise<any>((resolve, reject) => {\n try {\n resolve(sdk.getSystemInfoSync())\n } catch (e) {\n reject(e)\n }\n })\n\nexport {sdk, appName};\n"]}
1
+ {"version":3,"file":"crossPlatform.js","sourceRoot":"","sources":["../src/crossPlatform.ts"],"names":[],"mappings":";;AAqCA,IAAI,UAAU,GAAQ;IACpB,qCAAqC;IACrC,OAAO,EAAE;IACT,CAAC;IACD,qCAAqC;IACrC,WAAW,EAAE;IACb,CAAC;IACD,qCAAqC;IACrC,iBAAiB,EAAE;IACnB,CAAC;IACD,qCAAqC;IACrC,aAAa,EAAE;IACf,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,IAAM,MAAM,GAAG;IACb,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC3B,UAAU,GAAG,GAAG,CAAC;KAClB;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACjC,UAAU,GAAG,EAAE,CAAC;KACjB;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACjC,UAAU,GAAG,EAAE,CAAC;KACjB;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACjC,UAAU,GAAG,EAAE,CAAC;KACjB;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACjC,UAAU,GAAG,EAAE,CAAC;KACjB;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACjC,UAAU,GAAG,EAAE,CAAC;KACjB;SAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QACnC,UAAU,GAAG,IAAI,CAAC;KACnB;SAAM;QACL,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;KAC9D;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF;;GAEG;AACH,IAAM,UAAU,GAAG;IACjB,IAAI,cAAc,GAAY,SAAS,CAAC;IAExC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC3B,cAAc,GAAG,QAAQ,CAAC;KAC3B;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACjC,cAAc,GAAG,QAAQ,CAAC;KAC3B;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACjC,cAAc,GAAG,QAAQ,CAAC;KAC3B;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACjC,cAAc,GAAG,WAAW,CAAC;KAC9B;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACjC,cAAc,GAAG,UAAU,CAAC;KAC7B;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACjC,cAAc,GAAG,IAAI,CAAC;KACvB;SAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QACnC,cAAc,GAAG,MAAM,CAAC;KACzB;IAED,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAEF,IAAM,GAAG,GAAG,MAAM,EAAE,CAAC;AAGb,kBAAG;AAFX,IAAM,OAAO,GAAG,UAAU,EAAE,CAAC;AAEhB,0BAAO","sourcesContent":["declare const uni: any; // uniapp\ndeclare const wx: any; // 微信小程序、微信小游戏\ndeclare const my: any; // 支付宝小程序\ndeclare const tt: any; // 字节跳动小程序\ndeclare const dd: any; // 钉钉小程序\ndeclare const qq: any; // QQ 小程序、QQ 小游戏\ndeclare const swan: any; // 百度小程序\n\n/**\n * 小程序平台 SDK 接口\n */\ninterface SDK {\n request: Function;\n httpRequest?: Function; // 针对钉钉小程序\n getSystemInfo: Function;\n getSystemInfoSync: Function;\n onError?: Function;\n onUnhandledRejection?: Function;\n onPageNotFound?: Function;\n onMemoryWarning?: Function;\n getLaunchOptionsSync?: Function;\n}\n\n/**\n * 小程序平台 接口\n */\ntype AppName =\n | \"uniapp\"\n | \"wechat\"\n | \"alipay\"\n | \"bytedance\"\n | \"dingtalk\"\n | \"qq\"\n | \"swan\"\n | \"quickapp\"\n | \"unknown\";\n\nlet currentSdk: SDK = {\n // tslint:disable-next-line: no-empty\n request: () => {\n },\n // tslint:disable-next-line: no-empty\n httpRequest: () => {\n },\n // tslint:disable-next-line: no-empty\n getSystemInfoSync: () => {\n },\n // tslint:disable-next-line: no-empty\n getSystemInfo: () => {\n },\n};\n\n/**\n * 获取跨平台的 SDK\n */\nconst getSDK = () => {\n if (typeof uni === \"object\") {\n currentSdk = uni;\n } else if (typeof wx === \"object\") {\n currentSdk = wx;\n } else if (typeof my === \"object\") {\n currentSdk = my;\n } else if (typeof tt === \"object\") {\n currentSdk = tt;\n } else if (typeof dd === \"object\") {\n currentSdk = dd;\n } else if (typeof qq === \"object\") {\n currentSdk = qq;\n } else if (typeof swan === \"object\") {\n currentSdk = swan;\n } else {\n // tslint:disable-next-line:no-console\n console.log(\"sentry-uniapp 暂不支持此平台, 快应用请使用 sentry-quickapp\");\n }\n\n return currentSdk;\n};\n\n/**\n * 获取平台名称\n */\nconst getAppName = () => {\n let currentAppName: AppName = \"unknown\";\n\n if (typeof uni === \"object\") {\n currentAppName = \"uniapp\";\n } else if (typeof wx === \"object\") {\n currentAppName = \"wechat\";\n } else if (typeof my === \"object\") {\n currentAppName = \"alipay\";\n } else if (typeof tt === \"object\") {\n currentAppName = \"bytedance\";\n } else if (typeof dd === \"object\") {\n currentAppName = \"dingtalk\";\n } else if (typeof qq === \"object\") {\n currentAppName = \"qq\";\n } else if (typeof swan === \"object\") {\n currentAppName = \"swan\";\n }\n\n return currentAppName;\n};\n\nconst sdk = getSDK();\nconst appName = getAppName();\n\nexport {sdk, appName};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"globalhandlers.d.ts","sourceRoot":"","sources":["../../src/integrations/globalhandlers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAK5C,YAAY;AACZ,UAAU,0BAA0B;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,sBAAsB;AACtB,qBAAa,cAAe,YAAW,WAAW;IAChD;;OAEG;IACI,IAAI,EAAE,MAAM,CAAqB;IAExC;;OAEG;IACH,OAAc,EAAE,EAAE,MAAM,CAAoB;IAE5C,YAAY;IACZ,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IAEtD,YAAY;IACZ,OAAO,CAAC,wBAAwB,CAAkB;IAElD,YAAY;IACZ,OAAO,CAAC,qCAAqC,CAAkB;IAE/D,YAAY;IACZ,OAAO,CAAC,+BAA+B,CAAkB;IAEzD,YAAY;IACZ,OAAO,CAAC,gCAAgC,CAAkB;IAE1D,YAAY;gBACO,OAAO,CAAC,EAAE,0BAA0B;IAUvD,YAAY;IACL,eAAe,CAAC,YAAY,CAAC,EAAE,GAAG,GAAG,IAAI;IAShD;;OAEG;IACI,SAAS,IAAI,IAAI;IAwBxB,YAAY;IACZ,OAAO,CAAC,4BAA4B;IAmBpC,YAAY;IACZ,OAAO,CAAC,yCAAyC;IA6BjD,YAAY;IACZ,OAAO,CAAC,mCAAmC;IAoB3C,YAAY;IACZ,OAAO,CAAC,oCAAoC;CAiC7C"}
1
+ {"version":3,"file":"globalhandlers.d.ts","sourceRoot":"","sources":["../../src/integrations/globalhandlers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAK5C,YAAY;AACZ,UAAU,0BAA0B;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,sBAAsB;AACtB,qBAAa,cAAe,YAAW,WAAW;IAChD;;OAEG;IACI,IAAI,EAAE,MAAM,CAAqB;IAExC;;OAEG;IACH,OAAc,EAAE,EAAE,MAAM,CAAoB;IAE5C,YAAY;IACZ,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IAEtD,YAAY;IACZ,OAAO,CAAC,wBAAwB,CAAkB;IAElD,YAAY;IACZ,OAAO,CAAC,qCAAqC,CAAkB;IAE/D,YAAY;IACZ,OAAO,CAAC,+BAA+B,CAAkB;IAEzD,YAAY;IACZ,OAAO,CAAC,gCAAgC,CAAkB;IAE1D,YAAY;gBACO,OAAO,CAAC,EAAE,0BAA0B;IAUvD,YAAY;IACL,eAAe,CAAC,YAAY,CAAC,EAAE,GAAG,GAAG,IAAI;IAoBhD;;OAEG;IACI,SAAS,IAAI,IAAI;IAwBxB,YAAY;IACZ,OAAO,CAAC,4BAA4B;IAmBpC,YAAY;IACZ,OAAO,CAAC,yCAAyC;IA6BjD,YAAY;IACZ,OAAO,CAAC,mCAAmC;IAoB3C,YAAY;IACZ,OAAO,CAAC,oCAAoC;CAiC7C"}
@@ -25,10 +25,18 @@ var GlobalHandlers = /** @class */ (function () {
25
25
  /** JSDoc */
26
26
  GlobalHandlers.prototype.setExtraOptions = function (extraOptions) {
27
27
  if (extraOptions) {
28
- this._options.onerror = !!extraOptions.onerror;
29
- this._options.onunhandledrejection = !!extraOptions.onunhandledrejection;
30
- this._options.onpagenotfound = !!extraOptions.onpagenotfound;
31
- this._options.onmemorywarning = !!extraOptions.onmemorywarning;
28
+ if (extraOptions.onerror !== undefined) {
29
+ this._options.onerror = !!extraOptions.onerror;
30
+ }
31
+ if (extraOptions.onunhandledrejection !== undefined) {
32
+ this._options.onunhandledrejection = !!extraOptions.onunhandledrejection;
33
+ }
34
+ if (extraOptions.onpagenotfound !== undefined) {
35
+ this._options.onpagenotfound = !!extraOptions.onpagenotfound;
36
+ }
37
+ if (extraOptions.onmemorywarning !== undefined) {
38
+ this._options.onmemorywarning = !!extraOptions.onmemorywarning;
39
+ }
32
40
  }
33
41
  };
34
42
  /**
@@ -62,7 +70,7 @@ var GlobalHandlers = /** @class */ (function () {
62
70
  var currentHub_1 = core_1.getCurrentHub();
63
71
  // https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onError.html
64
72
  crossPlatform_1.sdk.onError(function (err) {
65
- // console.info("sentry-uniapp", error);
73
+ // console.info("sentry-uniapp", err);
66
74
  var error = typeof err === 'string' ? new Error(err) : err;
67
75
  currentHub_1.captureException(error);
68
76
  });
@@ -1 +1 @@
1
- {"version":3,"file":"globalhandlers.js","sourceRoot":"","sources":["../../src/integrations/globalhandlers.ts"],"names":[],"mappings":"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","sourcesContent":["import { getCurrentHub } from \"@sentry/core\";\nimport { Integration } from \"@sentry/types\";\nimport { logger } from \"@sentry/utils\";\n\nimport { sdk } from \"../crossPlatform\";\n\n/** JSDoc */\ninterface GlobalHandlersIntegrations {\n onerror: boolean;\n onunhandledrejection: boolean;\n onpagenotfound: boolean;\n onmemorywarning: boolean;\n}\n\n/** Global handlers */\nexport class GlobalHandlers implements Integration {\n /**\n * @inheritDoc\n */\n public name: string = GlobalHandlers.id;\n\n /**\n * @inheritDoc\n */\n public static id: string = \"GlobalHandlers\";\n\n /** JSDoc */\n private readonly _options: GlobalHandlersIntegrations;\n\n /** JSDoc */\n private _onErrorHandlerInstalled: boolean = false;\n\n /** JSDoc */\n private _onUnhandledRejectionHandlerInstalled: boolean = false;\n\n /** JSDoc */\n private _onPageNotFoundHandlerInstalled: boolean = false;\n\n /** JSDoc */\n private _onMemoryWarningHandlerInstalled: boolean = false;\n\n /** JSDoc */\n public constructor(options?: GlobalHandlersIntegrations) {\n this._options = {\n onerror: true,\n onunhandledrejection: true,\n onpagenotfound: true,\n onmemorywarning: true,\n ...options,\n };\n }\n\n /** JSDoc */\n public setExtraOptions(extraOptions?: any): void {\n if (extraOptions) {\n this._options.onerror = !!extraOptions.onerror;\n this._options.onunhandledrejection = !!extraOptions.onunhandledrejection;\n this._options.onpagenotfound = !!extraOptions.onpagenotfound;\n this._options.onmemorywarning = !!extraOptions.onmemorywarning;\n }\n }\n\n /**\n * @inheritDoc\n */\n public setupOnce(): void {\n Error.stackTraceLimit = 50;\n\n if (this._options.onerror) {\n logger.log(\"Global Handler attached: onError\");\n this._installGlobalOnErrorHandler();\n }\n\n if (this._options.onunhandledrejection) {\n logger.log(\"Global Handler attached: onunhandledrejection\");\n this._installGlobalOnUnhandledRejectionHandler();\n }\n\n if (this._options.onpagenotfound) {\n logger.log(\"Global Handler attached: onPageNotFound\");\n this._installGlobalOnPageNotFoundHandler();\n }\n\n if (this._options.onmemorywarning) {\n logger.log(\"Global Handler attached: onMemoryWarning\");\n this._installGlobalOnMemoryWarningHandler();\n }\n }\n\n /** JSDoc */\n private _installGlobalOnErrorHandler(): void {\n if (this._onErrorHandlerInstalled) {\n return;\n }\n\n if (!!sdk.onError) {\n const currentHub = getCurrentHub();\n\n // https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onError.html\n sdk.onError((err: string | object) => {\n // console.info(\"sentry-uniapp\", error);\n const error = typeof err === 'string' ? new Error(err) : err\n currentHub.captureException(error);\n });\n }\n\n this._onErrorHandlerInstalled = true;\n }\n\n /** JSDoc */\n private _installGlobalOnUnhandledRejectionHandler(): void {\n if (this._onUnhandledRejectionHandlerInstalled) {\n return;\n }\n\n if (!!sdk.onUnhandledRejection) {\n const currentHub = getCurrentHub();\n /** JSDoc */\n interface OnUnhandledRejectionRes {\n reason: string | object;\n promise: Promise<any>;\n }\n\n // https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onUnhandledRejection.html\n sdk.onUnhandledRejection(\n ({ reason, promise }: OnUnhandledRejectionRes) => {\n // console.log(reason, typeof reason, promise)\n // 为什么官方文档上说 reason 是 string 类型,但是实际返回的确实 object 类型\n const error = typeof reason === 'string' ? new Error(reason) : reason\n currentHub.captureException(error, {\n data: promise,\n });\n }\n );\n }\n\n this._onUnhandledRejectionHandlerInstalled = true;\n }\n\n /** JSDoc */\n private _installGlobalOnPageNotFoundHandler(): void {\n if (this._onPageNotFoundHandlerInstalled) {\n return;\n }\n\n if (!!sdk.onPageNotFound) {\n const currentHub = getCurrentHub();\n\n sdk.onPageNotFound((res: { path: string }) => {\n const url = res.path.split(\"?\")[0];\n\n currentHub.setTag(\"pagenotfound\", url);\n currentHub.setExtra(\"message\", JSON.stringify(res));\n currentHub.captureMessage(`页面无法找到: ${url}`);\n });\n }\n\n this._onPageNotFoundHandlerInstalled = true;\n }\n\n /** JSDoc */\n private _installGlobalOnMemoryWarningHandler(): void {\n if (this._onMemoryWarningHandlerInstalled) {\n return;\n }\n\n if (!!sdk.onMemoryWarning) {\n const currentHub = getCurrentHub();\n\n sdk.onMemoryWarning(({ level = -1 }: { level: number }) => {\n let levelMessage = \"没有获取到告警级别信息\";\n\n switch (level) {\n case 5:\n levelMessage = \"TRIM_MEMORY_RUNNING_MODERATE\";\n break;\n case 10:\n levelMessage = \"TRIM_MEMORY_RUNNING_LOW\";\n break;\n case 15:\n levelMessage = \"TRIM_MEMORY_RUNNING_CRITICAL\";\n break;\n default:\n return;\n }\n\n currentHub.setTag(\"memory-warning\", String(level));\n currentHub.setExtra(\"message\", levelMessage);\n currentHub.captureMessage(`内存不足告警`);\n });\n }\n\n this._onMemoryWarningHandlerInstalled = true;\n }\n}\n"]}
1
+ {"version":3,"file":"globalhandlers.js","sourceRoot":"","sources":["../../src/integrations/globalhandlers.ts"],"names":[],"mappings":";;;AAAA,qCAA6C;AAE7C,uCAAuC;AAEvC,kDAAuC;AAUvC,sBAAsB;AACtB;IA0BE,YAAY;IACZ,wBAAmB,OAAoC;QA1BvD;;WAEG;QACI,SAAI,GAAW,cAAc,CAAC,EAAE,CAAC;QAUxC,YAAY;QACJ,6BAAwB,GAAY,KAAK,CAAC;QAElD,YAAY;QACJ,0CAAqC,GAAY,KAAK,CAAC;QAE/D,YAAY;QACJ,oCAA+B,GAAY,KAAK,CAAC;QAEzD,YAAY;QACJ,qCAAgC,GAAY,KAAK,CAAC;QAIxD,IAAI,CAAC,QAAQ,sBACX,OAAO,EAAE,IAAI,EACb,oBAAoB,EAAE,IAAI,EAC1B,cAAc,EAAE,IAAI,EACpB,eAAe,EAAE,IAAI,IAClB,OAAO,CACX,CAAC;IACJ,CAAC;IAED,YAAY;IACL,wCAAe,GAAtB,UAAuB,YAAkB;QACvC,IAAI,YAAY,EAAE;YAChB,IAAI,YAAY,CAAC,OAAO,KAAK,SAAS,EAAE;gBACtC,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC;aAChD;YAED,IAAI,YAAY,CAAC,oBAAoB,KAAK,SAAS,EAAE;gBACnD,IAAI,CAAC,QAAQ,CAAC,oBAAoB,GAAG,CAAC,CAAC,YAAY,CAAC,oBAAoB,CAAC;aAC1E;YAED,IAAI,YAAY,CAAC,cAAc,KAAK,SAAS,EAAE;gBAC7C,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC;aAC9D;YAED,IAAI,YAAY,CAAC,eAAe,KAAK,SAAS,EAAE;gBAC9C,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,CAAC,CAAC,YAAY,CAAC,eAAe,CAAC;aAChE;SACF;IACH,CAAC;IAED;;OAEG;IACI,kCAAS,GAAhB;QACE,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC;QAE3B,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YACzB,cAAM,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;YAC/C,IAAI,CAAC,4BAA4B,EAAE,CAAC;SACrC;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE;YACtC,cAAM,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;YAC5D,IAAI,CAAC,yCAAyC,EAAE,CAAC;SAClD;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE;YAChC,cAAM,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;YACtD,IAAI,CAAC,mCAAmC,EAAE,CAAC;SAC5C;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE;YACjC,cAAM,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;YACvD,IAAI,CAAC,oCAAoC,EAAE,CAAC;SAC7C;IACH,CAAC;IAED,YAAY;IACJ,qDAA4B,GAApC;QACE,IAAI,IAAI,CAAC,wBAAwB,EAAE;YACjC,OAAO;SACR;QAED,IAAI,CAAC,CAAC,mBAAG,CAAC,OAAO,EAAE;YACjB,IAAM,YAAU,GAAG,oBAAa,EAAE,CAAC;YAEnC,0FAA0F;YAC1F,mBAAG,CAAC,OAAO,CAAC,UAAC,GAAoB;gBAC/B,sCAAsC;gBACtC,IAAM,KAAK,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;gBAC5D,YAAU,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;IACvC,CAAC;IAED,YAAY;IACJ,kEAAyC,GAAjD;QACE,IAAI,IAAI,CAAC,qCAAqC,EAAE;YAC9C,OAAO;SACR;QAED,IAAI,CAAC,CAAC,mBAAG,CAAC,oBAAoB,EAAE;YAC9B,IAAM,YAAU,GAAG,oBAAa,EAAE,CAAC;YAOnC,uGAAuG;YACvG,mBAAG,CAAC,oBAAoB,CACtB,UAAC,EAA4C;oBAA1C,MAAM,YAAA,EAAE,OAAO,aAAA;gBAChB,8CAA8C;gBAC9C,mDAAmD;gBACnD,IAAM,KAAK,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;gBACrE,YAAU,CAAC,gBAAgB,CAAC,KAAK,EAAE;oBACjC,IAAI,EAAE,OAAO;iBACd,CAAC,CAAC;YACL,CAAC,CACF,CAAC;SACH;QAED,IAAI,CAAC,qCAAqC,GAAG,IAAI,CAAC;IACpD,CAAC;IAED,YAAY;IACJ,4DAAmC,GAA3C;QACE,IAAI,IAAI,CAAC,+BAA+B,EAAE;YACxC,OAAO;SACR;QAED,IAAI,CAAC,CAAC,mBAAG,CAAC,cAAc,EAAE;YACxB,IAAM,YAAU,GAAG,oBAAa,EAAE,CAAC;YAEnC,mBAAG,CAAC,cAAc,CAAC,UAAC,GAAqB;gBACvC,IAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEnC,YAAU,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;gBACvC,YAAU,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;gBACpD,YAAU,CAAC,cAAc,CAAC,2CAAW,GAAK,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,+BAA+B,GAAG,IAAI,CAAC;IAC9C,CAAC;IAED,YAAY;IACJ,6DAAoC,GAA5C;QACE,IAAI,IAAI,CAAC,gCAAgC,EAAE;YACzC,OAAO;SACR;QAED,IAAI,CAAC,CAAC,mBAAG,CAAC,eAAe,EAAE;YACzB,IAAM,YAAU,GAAG,oBAAa,EAAE,CAAC;YAEnC,mBAAG,CAAC,eAAe,CAAC,UAAC,EAAiC;oBAA/B,aAAU,EAAV,KAAK,mBAAG,CAAC,CAAC,KAAA;gBAC/B,IAAI,YAAY,GAAG,aAAa,CAAC;gBAEjC,QAAQ,KAAK,EAAE;oBACb,KAAK,CAAC;wBACJ,YAAY,GAAG,8BAA8B,CAAC;wBAC9C,MAAM;oBACR,KAAK,EAAE;wBACL,YAAY,GAAG,yBAAyB,CAAC;wBACzC,MAAM;oBACR,KAAK,EAAE;wBACL,YAAY,GAAG,8BAA8B,CAAC;wBAC9C,MAAM;oBACR;wBACE,OAAO;iBACV;gBAED,YAAU,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBACnD,YAAU,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;gBAC7C,YAAU,CAAC,cAAc,CAAC,sCAAQ,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,gCAAgC,GAAG,IAAI,CAAC;IAC/C,CAAC;IAvLD;;OAEG;IACW,iBAAE,GAAW,gBAAgB,CAAC;IAqL9C,qBAAC;CAAA,AA9LD,IA8LC;AA9LY,wCAAc","sourcesContent":["import { getCurrentHub } from \"@sentry/core\";\nimport { Integration } from \"@sentry/types\";\nimport { logger } from \"@sentry/utils\";\n\nimport { sdk } from \"../crossPlatform\";\n\n/** JSDoc */\ninterface GlobalHandlersIntegrations {\n onerror: boolean;\n onunhandledrejection: boolean;\n onpagenotfound: boolean;\n onmemorywarning: boolean;\n}\n\n/** Global handlers */\nexport class GlobalHandlers implements Integration {\n /**\n * @inheritDoc\n */\n public name: string = GlobalHandlers.id;\n\n /**\n * @inheritDoc\n */\n public static id: string = \"GlobalHandlers\";\n\n /** JSDoc */\n private readonly _options: GlobalHandlersIntegrations;\n\n /** JSDoc */\n private _onErrorHandlerInstalled: boolean = false;\n\n /** JSDoc */\n private _onUnhandledRejectionHandlerInstalled: boolean = false;\n\n /** JSDoc */\n private _onPageNotFoundHandlerInstalled: boolean = false;\n\n /** JSDoc */\n private _onMemoryWarningHandlerInstalled: boolean = false;\n\n /** JSDoc */\n public constructor(options?: GlobalHandlersIntegrations) {\n this._options = {\n onerror: true,\n onunhandledrejection: true,\n onpagenotfound: true,\n onmemorywarning: true,\n ...options,\n };\n }\n\n /** JSDoc */\n public setExtraOptions(extraOptions?: any): void {\n if (extraOptions) {\n if (extraOptions.onerror !== undefined) {\n this._options.onerror = !!extraOptions.onerror;\n }\n\n if (extraOptions.onunhandledrejection !== undefined) {\n this._options.onunhandledrejection = !!extraOptions.onunhandledrejection;\n }\n\n if (extraOptions.onpagenotfound !== undefined) {\n this._options.onpagenotfound = !!extraOptions.onpagenotfound;\n }\n\n if (extraOptions.onmemorywarning !== undefined) {\n this._options.onmemorywarning = !!extraOptions.onmemorywarning;\n }\n }\n }\n\n /**\n * @inheritDoc\n */\n public setupOnce(): void {\n Error.stackTraceLimit = 50;\n\n if (this._options.onerror) {\n logger.log(\"Global Handler attached: onError\");\n this._installGlobalOnErrorHandler();\n }\n\n if (this._options.onunhandledrejection) {\n logger.log(\"Global Handler attached: onunhandledrejection\");\n this._installGlobalOnUnhandledRejectionHandler();\n }\n\n if (this._options.onpagenotfound) {\n logger.log(\"Global Handler attached: onPageNotFound\");\n this._installGlobalOnPageNotFoundHandler();\n }\n\n if (this._options.onmemorywarning) {\n logger.log(\"Global Handler attached: onMemoryWarning\");\n this._installGlobalOnMemoryWarningHandler();\n }\n }\n\n /** JSDoc */\n private _installGlobalOnErrorHandler(): void {\n if (this._onErrorHandlerInstalled) {\n return;\n }\n\n if (!!sdk.onError) {\n const currentHub = getCurrentHub();\n\n // https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onError.html\n sdk.onError((err: string | object) => {\n // console.info(\"sentry-uniapp\", err);\n const error = typeof err === 'string' ? new Error(err) : err\n currentHub.captureException(error);\n });\n }\n\n this._onErrorHandlerInstalled = true;\n }\n\n /** JSDoc */\n private _installGlobalOnUnhandledRejectionHandler(): void {\n if (this._onUnhandledRejectionHandlerInstalled) {\n return;\n }\n\n if (!!sdk.onUnhandledRejection) {\n const currentHub = getCurrentHub();\n /** JSDoc */\n interface OnUnhandledRejectionRes {\n reason: string | object;\n promise: Promise<any>;\n }\n\n // https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onUnhandledRejection.html\n sdk.onUnhandledRejection(\n ({ reason, promise }: OnUnhandledRejectionRes) => {\n // console.log(reason, typeof reason, promise)\n // 为什么官方文档上说 reason 是 string 类型,但是实际返回的确实 object 类型\n const error = typeof reason === 'string' ? new Error(reason) : reason\n currentHub.captureException(error, {\n data: promise,\n });\n }\n );\n }\n\n this._onUnhandledRejectionHandlerInstalled = true;\n }\n\n /** JSDoc */\n private _installGlobalOnPageNotFoundHandler(): void {\n if (this._onPageNotFoundHandlerInstalled) {\n return;\n }\n\n if (!!sdk.onPageNotFound) {\n const currentHub = getCurrentHub();\n\n sdk.onPageNotFound((res: { path: string }) => {\n const url = res.path.split(\"?\")[0];\n\n currentHub.setTag(\"pagenotfound\", url);\n currentHub.setExtra(\"message\", JSON.stringify(res));\n currentHub.captureMessage(`页面无法找到: ${url}`);\n });\n }\n\n this._onPageNotFoundHandlerInstalled = true;\n }\n\n /** JSDoc */\n private _installGlobalOnMemoryWarningHandler(): void {\n if (this._onMemoryWarningHandlerInstalled) {\n return;\n }\n\n if (!!sdk.onMemoryWarning) {\n const currentHub = getCurrentHub();\n\n sdk.onMemoryWarning(({ level = -1 }: { level: number }) => {\n let levelMessage = \"没有获取到告警级别信息\";\n\n switch (level) {\n case 5:\n levelMessage = \"TRIM_MEMORY_RUNNING_MODERATE\";\n break;\n case 10:\n levelMessage = \"TRIM_MEMORY_RUNNING_LOW\";\n break;\n case 15:\n levelMessage = \"TRIM_MEMORY_RUNNING_CRITICAL\";\n break;\n default:\n return;\n }\n\n currentHub.setTag(\"memory-warning\", String(level));\n currentHub.setExtra(\"message\", levelMessage);\n currentHub.captureMessage(`内存不足告警`);\n });\n }\n\n this._onMemoryWarningHandlerInstalled = true;\n }\n}\n"]}
@@ -16,48 +16,44 @@ var System = /** @class */ (function () {
16
16
  * @inheritDoc
17
17
  */
18
18
  System.prototype.setupOnce = function () {
19
- var _this = this;
20
- core_1.addGlobalEventProcessor(function (event) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
21
- var systemInfo, batteryLevel, currentBattery, battery, brand, language, model, pixelRatio, platform, screenHeight, screenWidth, statusBarHeight, system, version, windowHeight, windowWidth, app, appName, fontSizeSetting, SDKVersion, _a, systemName, systemVersion, e_1;
22
- return tslib_1.__generator(this, function (_b) {
23
- switch (_b.label) {
24
- case 0:
25
- if (!core_1.getCurrentHub().getIntegration(System)) return [3 /*break*/, 4];
26
- _b.label = 1;
27
- case 1:
28
- _b.trys.push([1, 3, , 4]);
29
- return [4 /*yield*/, crossPlatform_1.sdk.getSystemInfo()];
30
- case 2:
31
- systemInfo = _b.sent();
32
- batteryLevel = systemInfo.batteryLevel, currentBattery = systemInfo.currentBattery, battery = systemInfo.battery, brand = systemInfo.brand, language = systemInfo.language, model = systemInfo.model, pixelRatio = systemInfo.pixelRatio, platform = systemInfo.platform, screenHeight = systemInfo.screenHeight, screenWidth = systemInfo.screenWidth, statusBarHeight = systemInfo.statusBarHeight, system = systemInfo.system, version = systemInfo.version, windowHeight = systemInfo.windowHeight, windowWidth = systemInfo.windowWidth, app = systemInfo.app, appName = systemInfo.appName, fontSizeSetting = systemInfo.fontSizeSetting;
33
- SDKVersion = version_1.SDK_VERSION;
34
- _a = tslib_1.__read(system.split(" "), 2), systemName = _a[0], systemVersion = _a[1];
35
- return [2 /*return*/, tslib_1.__assign(tslib_1.__assign({}, event), { contexts: tslib_1.__assign(tslib_1.__assign({}, event.contexts), { device: {
36
- brand: brand,
37
- battery_level: batteryLevel || currentBattery || battery,
38
- model: model,
39
- screen_dpi: pixelRatio
40
- }, os: {
41
- name: systemName || system,
42
- version: systemVersion || system
43
- }, extra: tslib_1.__assign({ SDKVersion: SDKVersion,
44
- language: language,
45
- platform: platform,
46
- screenHeight: screenHeight,
47
- screenWidth: screenWidth,
48
- statusBarHeight: statusBarHeight,
49
- version: version,
50
- windowHeight: windowHeight,
51
- windowWidth: windowWidth,
52
- fontSizeSetting: fontSizeSetting, app: app || appName || crossPlatform_1.appName }, systemInfo) }) })];
53
- case 3:
54
- e_1 = _b.sent();
55
- console.warn("sentry-uniapp get system info fail: " + e_1);
56
- return [3 /*break*/, 4];
57
- case 4: return [2 /*return*/, event];
19
+ core_1.addGlobalEventProcessor(function (event) {
20
+ if (core_1.getCurrentHub().getIntegration(System)) {
21
+ try {
22
+ var systemInfo = crossPlatform_1.sdk.getSystemInfoSync();
23
+ var batteryLevel = systemInfo.batteryLevel, // 微信小程序
24
+ currentBattery = systemInfo.currentBattery, // 支付宝小程序、 钉钉小程序
25
+ battery = systemInfo.battery, // 字节跳动小程序
26
+ brand = systemInfo.brand, language = systemInfo.language, model = systemInfo.model, pixelRatio = systemInfo.pixelRatio, platform = systemInfo.platform, screenHeight = systemInfo.screenHeight, screenWidth = systemInfo.screenWidth, statusBarHeight = systemInfo.statusBarHeight, system = systemInfo.system, version = systemInfo.version, windowHeight = systemInfo.windowHeight, windowWidth = systemInfo.windowWidth, app = systemInfo.app, // 支付宝小程序
27
+ appName = systemInfo.appName, // 字节跳动小程序
28
+ fontSizeSetting = systemInfo.fontSizeSetting;
29
+ // tslint:disable-next-line:variable-name
30
+ var SDKVersion = version_1.SDK_VERSION;
31
+ var _a = tslib_1.__read(system.split(" "), 2), systemName = _a[0], systemVersion = _a[1];
32
+ return tslib_1.__assign(tslib_1.__assign({}, event), { contexts: tslib_1.__assign(tslib_1.__assign({}, event.contexts), { device: {
33
+ brand: brand,
34
+ battery_level: batteryLevel || currentBattery || battery,
35
+ model: model,
36
+ screen_dpi: pixelRatio
37
+ }, os: {
38
+ name: systemName || system,
39
+ version: systemVersion || system
40
+ }, extra: tslib_1.__assign({ SDKVersion: SDKVersion,
41
+ language: language,
42
+ platform: platform,
43
+ screenHeight: screenHeight,
44
+ screenWidth: screenWidth,
45
+ statusBarHeight: statusBarHeight,
46
+ version: version,
47
+ windowHeight: windowHeight,
48
+ windowWidth: windowWidth,
49
+ fontSizeSetting: fontSizeSetting, app: app || appName || crossPlatform_1.appName }, systemInfo) }) });
58
50
  }
59
- });
60
- }); });
51
+ catch (e) {
52
+ console.warn("sentry-uniapp get system info fail: " + e);
53
+ }
54
+ }
55
+ return event;
56
+ });
61
57
  };
62
58
  /**
63
59
  * @inheritDoc
@@ -1 +1 @@
1
- {"version":3,"file":"system.js","sourceRoot":"","sources":["../../src/integrations/system.ts"],"names":[],"mappings":";;;AAAA,qCAAsE;AAGtE,kDAAkE;AAClE,sCAAyC;AAEzC,gBAAgB;AAChB;IAAA;QACE;;WAEG;QACI,SAAI,GAAW,MAAM,CAAC,EAAE,CAAC;IA+ElC,CAAC;IAxEC;;OAEG;IACI,0BAAS,GAAhB;QAAA,iBAoEC;QAnEC,8BAAuB,CAAC,UAAO,KAAY;;;;;6BACrC,oBAAa,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,EAAtC,wBAAsC;;;;wBAEnB,qBAAM,mBAAG,CAAC,aAAa,EAAE,EAAA;;wBAAtC,UAAU,GAAG,SAAyB;wBAG1C,YAAY,GAkBV,UAAU,aAlBA,EACZ,cAAc,GAiBZ,UAAU,eAjBE,EACd,OAAO,GAgBL,UAAU,QAhBL,EACP,KAAK,GAeH,UAAU,MAfP,EACL,QAAQ,GAcN,UAAU,SAdJ,EACR,KAAK,GAaH,UAAU,MAbP,EACL,UAAU,GAYR,UAAU,WAZF,EACV,QAAQ,GAWN,UAAU,SAXJ,EACR,YAAY,GAUV,UAAU,aAVA,EACZ,WAAW,GAST,UAAU,YATD,EACX,eAAe,GAQb,UAAU,gBARG,EACf,MAAM,GAOJ,UAAU,OAPN,EACN,OAAO,GAML,UAAU,QANL,EACP,YAAY,GAKV,UAAU,aALA,EACZ,WAAW,GAIT,UAAU,YAJD,EACX,GAAG,GAGD,UAAU,IAHT,EACH,OAAO,GAEL,UAAU,QAFL,EACP,eAAe,GACb,UAAU,gBADG,CACF;wBAGT,UAAU,GAAG,qBAAW,CAAC;wBACzB,KAAA,eAA8B,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAA,EAA9C,UAAU,QAAA,EAAE,aAAa,QAAA,CAAsB;wBAEtD,4DACK,KAAK,KACR,QAAQ,wCACH,KAAK,CAAC,QAAQ,KACjB,MAAM,EAAE;wCACN,KAAK,OAAA;wCACL,aAAa,EAAE,YAAY,IAAI,cAAc,IAAI,OAAO;wCACxD,KAAK,OAAA;wCACL,UAAU,EAAE,UAAU;qCACvB,EACD,EAAE,EAAE;wCACF,IAAI,EAAE,UAAU,IAAI,MAAM;wCAC1B,OAAO,EAAE,aAAa,IAAI,MAAM;qCACjC,EACD,KAAK,qBACH,UAAU,YAAA;wCACV,QAAQ,UAAA;wCACR,QAAQ,UAAA;wCACR,YAAY,cAAA;wCACZ,WAAW,aAAA;wCACX,eAAe,iBAAA;wCACf,OAAO,SAAA;wCACP,YAAY,cAAA;wCACZ,WAAW,aAAA;wCACX,eAAe,iBAAA,EACf,GAAG,EAAE,GAAG,IAAI,OAAO,IAAI,uBAAc,IAClC,UAAU,SAGjB;;;wBAEF,OAAO,CAAC,IAAI,CAAC,yCAAuC,GAAG,CAAC,CAAC;;4BAI7D,sBAAO,KAAK,EAAC;;;aACd,CAAC,CAAC;IACL,CAAC;IA5ED;;OAEG;IACW,SAAE,GAAW,QAAQ,CAAC;IA0EtC,aAAC;CAAA,AAnFD,IAmFC;AAnFY,wBAAM","sourcesContent":["import { addGlobalEventProcessor, getCurrentHub } from \"@sentry/core\";\nimport { Event, Integration } from \"@sentry/types\";\n\nimport { appName as currentAppName, sdk } from \"../crossPlatform\";\nimport { SDK_VERSION } from \"../version\";\n\n/** UserAgent */\nexport class System implements Integration {\n /**\n * @inheritDoc\n */\n public name: string = System.id;\n\n /**\n * @inheritDoc\n */\n public static id: string = \"System\";\n\n /**\n * @inheritDoc\n */\n public setupOnce(): void {\n addGlobalEventProcessor(async (event: Event) => {\n if (getCurrentHub().getIntegration(System)) {\n try {\n const systemInfo = await sdk.getSystemInfo()\n\n const {\n batteryLevel, // 微信小程序\n currentBattery, // 支付宝小程序、 钉钉小程序\n battery, // 字节跳动小程序\n brand,\n language,\n model,\n pixelRatio,\n platform,\n screenHeight,\n screenWidth,\n statusBarHeight,\n system,\n version,\n windowHeight,\n windowWidth,\n app, // 支付宝小程序\n appName, // 字节跳动小程序\n fontSizeSetting, // 支付宝小程序、 钉钉小程序、微信小程序\n } = systemInfo;\n\n // tslint:disable-next-line:variable-name\n const SDKVersion = SDK_VERSION;\n const [systemName, systemVersion] = system.split(\" \");\n\n return {\n ...event,\n contexts: {\n ...event.contexts,\n device: {\n brand,\n battery_level: batteryLevel || currentBattery || battery,\n model,\n screen_dpi: pixelRatio\n },\n os: {\n name: systemName || system,\n version: systemVersion || system\n },\n extra: {\n SDKVersion,\n language,\n platform,\n screenHeight,\n screenWidth,\n statusBarHeight,\n version,\n windowHeight,\n windowWidth,\n fontSizeSetting,\n app: app || appName || currentAppName,\n ...systemInfo,\n }\n }\n };\n } catch (e) {\n console.warn(`sentry-uniapp get system info fail: ${e}`);\n }\n }\n\n return event;\n });\n }\n}\n"]}
1
+ {"version":3,"file":"system.js","sourceRoot":"","sources":["../../src/integrations/system.ts"],"names":[],"mappings":";;;AAAA,qCAAsE;AAGtE,kDAAkE;AAClE,sCAAyC;AAEzC,gBAAgB;AAChB;IAAA;QACE;;WAEG;QACI,SAAI,GAAW,MAAM,CAAC,EAAE,CAAC;IA+ElC,CAAC;IAxEC;;OAEG;IACI,0BAAS,GAAhB;QACE,8BAAuB,CAAC,UAAC,KAAY;YACnC,IAAI,oBAAa,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE;gBAC1C,IAAI;oBACF,IAAM,UAAU,GAAG,mBAAG,CAAC,iBAAiB,EAAE,CAAA;oBAGxC,IAAA,YAAY,GAkBV,UAAU,aAlBA,EAAE,QAAQ;oBACtB,cAAc,GAiBZ,UAAU,eAjBE,EAAE,gBAAgB;oBAChC,OAAO,GAgBL,UAAU,QAhBL,EAAE,UAAU;oBACnB,KAAK,GAeH,UAAU,MAfP,EACL,QAAQ,GAcN,UAAU,SAdJ,EACR,KAAK,GAaH,UAAU,MAbP,EACL,UAAU,GAYR,UAAU,WAZF,EACV,QAAQ,GAWN,UAAU,SAXJ,EACR,YAAY,GAUV,UAAU,aAVA,EACZ,WAAW,GAST,UAAU,YATD,EACX,eAAe,GAQb,UAAU,gBARG,EACf,MAAM,GAOJ,UAAU,OAPN,EACN,OAAO,GAML,UAAU,QANL,EACP,YAAY,GAKV,UAAU,aALA,EACZ,WAAW,GAIT,UAAU,YAJD,EACX,GAAG,GAGD,UAAU,IAHT,EAAE,SAAS;oBACd,OAAO,GAEL,UAAU,QAFL,EAAE,UAAU;oBACnB,eAAe,GACb,UAAU,gBADG,CACF;oBAEf,yCAAyC;oBACzC,IAAM,UAAU,GAAG,qBAAW,CAAC;oBACzB,IAAA,KAAA,eAA8B,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAA,EAA9C,UAAU,QAAA,EAAE,aAAa,QAAqB,CAAC;oBAEtD,6CACK,KAAK,KACR,QAAQ,wCACH,KAAK,CAAC,QAAQ,KACjB,MAAM,EAAE;gCACN,KAAK,OAAA;gCACL,aAAa,EAAE,YAAY,IAAI,cAAc,IAAI,OAAO;gCACxD,KAAK,OAAA;gCACL,UAAU,EAAE,UAAU;6BACvB,EACD,EAAE,EAAE;gCACF,IAAI,EAAE,UAAU,IAAI,MAAM;gCAC1B,OAAO,EAAE,aAAa,IAAI,MAAM;6BACjC,EACD,KAAK,qBACH,UAAU,YAAA;gCACV,QAAQ,UAAA;gCACR,QAAQ,UAAA;gCACR,YAAY,cAAA;gCACZ,WAAW,aAAA;gCACX,eAAe,iBAAA;gCACf,OAAO,SAAA;gCACP,YAAY,cAAA;gCACZ,WAAW,aAAA;gCACX,eAAe,iBAAA,EACf,GAAG,EAAE,GAAG,IAAI,OAAO,IAAI,uBAAc,IAClC,UAAU,QAGjB;iBACH;gBAAC,OAAO,CAAC,EAAE;oBACV,OAAO,CAAC,IAAI,CAAC,yCAAuC,CAAG,CAAC,CAAC;iBAC1D;aACF;YAED,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IA5ED;;OAEG;IACW,SAAE,GAAW,QAAQ,CAAC;IA0EtC,aAAC;CAAA,AAnFD,IAmFC;AAnFY,wBAAM","sourcesContent":["import { addGlobalEventProcessor, getCurrentHub } from \"@sentry/core\";\nimport { Event, Integration } from \"@sentry/types\";\n\nimport { appName as currentAppName, sdk } from \"../crossPlatform\";\nimport { SDK_VERSION } from \"../version\";\n\n/** UserAgent */\nexport class System implements Integration {\n /**\n * @inheritDoc\n */\n public name: string = System.id;\n\n /**\n * @inheritDoc\n */\n public static id: string = \"System\";\n\n /**\n * @inheritDoc\n */\n public setupOnce(): void {\n addGlobalEventProcessor((event: Event) => {\n if (getCurrentHub().getIntegration(System)) {\n try {\n const systemInfo = sdk.getSystemInfoSync()\n\n const {\n batteryLevel, // 微信小程序\n currentBattery, // 支付宝小程序、 钉钉小程序\n battery, // 字节跳动小程序\n brand,\n language,\n model,\n pixelRatio,\n platform,\n screenHeight,\n screenWidth,\n statusBarHeight,\n system,\n version,\n windowHeight,\n windowWidth,\n app, // 支付宝小程序\n appName, // 字节跳动小程序\n fontSizeSetting, // 支付宝小程序、 钉钉小程序、微信小程序\n } = systemInfo;\n\n // tslint:disable-next-line:variable-name\n const SDKVersion = SDK_VERSION;\n const [systemName, systemVersion] = system.split(\" \");\n\n return {\n ...event,\n contexts: {\n ...event.contexts,\n device: {\n brand,\n battery_level: batteryLevel || currentBattery || battery,\n model,\n screen_dpi: pixelRatio\n },\n os: {\n name: systemName || system,\n version: systemVersion || system\n },\n extra: {\n SDKVersion,\n language,\n platform,\n screenHeight,\n screenWidth,\n statusBarHeight,\n version,\n windowHeight,\n windowWidth,\n fontSizeSetting,\n app: app || appName || currentAppName,\n ...systemInfo,\n }\n }\n };\n } catch (e) {\n console.warn(`sentry-uniapp get system info fail: ${e}`);\n }\n }\n\n return event;\n });\n }\n}\n"]}
package/dist/sdk.d.ts CHANGED
@@ -2,7 +2,7 @@ import { Integrations as CoreIntegrations } from "@sentry/core";
2
2
  import { MiniappOptions } from "./backend";
3
3
  import { ReportDialogOptions } from "./client";
4
4
  import { GlobalHandlers, IgnoreMpcrawlerErrors, LinkedErrors, Router, System, TryCatch } from "./integrations/index";
5
- export declare const defaultIntegrations: (CoreIntegrations.InboundFilters | CoreIntegrations.FunctionToString | TryCatch | GlobalHandlers | LinkedErrors | System | Router | IgnoreMpcrawlerErrors)[];
5
+ export declare const defaultIntegrations: (CoreIntegrations.FunctionToString | CoreIntegrations.InboundFilters | GlobalHandlers | TryCatch | LinkedErrors | System | Router | IgnoreMpcrawlerErrors)[];
6
6
  /**
7
7
  * The Sentry Uniapp SDK Client.
8
8
  *