@haluo/util 2.0.33 → 2.0.35

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 (38) hide show
  1. package/dist/index.d.ts +3 -0
  2. package/dist/index.js +23 -19
  3. package/dist/modules/app-call/configs.d.ts +9 -0
  4. package/dist/modules/app-call/configs.js +44 -0
  5. package/dist/modules/app-call/core.d.ts +53 -0
  6. package/dist/modules/app-call/core.js +175 -0
  7. package/dist/modules/app-call/extensions.d.ts +187 -0
  8. package/dist/modules/app-call/extensions.js +1297 -0
  9. package/dist/modules/app-call/index.d.ts +16 -0
  10. package/dist/modules/app-call/index.js +84 -0
  11. package/dist/modules/app-call/offline.d.ts +12 -0
  12. package/dist/modules/app-call/offline.js +191 -0
  13. package/dist/modules/app-call/types.d.ts +67 -0
  14. package/dist/modules/app-call/types.js +4 -0
  15. package/dist/modules/cookie/index.js +22 -17
  16. package/dist/modules/date/index.js +54 -48
  17. package/dist/modules/dom/index.js +21 -15
  18. package/dist/modules/filter/index.js +14 -8
  19. package/dist/modules/format/index.js +9 -5
  20. package/dist/modules/match/index.js +8 -5
  21. package/dist/modules/monitor/lib/jsError.js +27 -38
  22. package/dist/modules/monitor/lib/timing.js +15 -17
  23. package/dist/modules/monitor/lib/xhr.js +26 -25
  24. package/dist/modules/monitor/utils/tracker.js +22 -10
  25. package/dist/modules/number/index.js +33 -30
  26. package/dist/modules/open-app/index.d.ts +3 -7
  27. package/dist/modules/open-app/index.js +55 -63
  28. package/dist/modules/sentry/index.js +16 -12
  29. package/dist/modules/tools/index.js +164 -154
  30. package/dist/modules/track/index.d.ts +122 -0
  31. package/dist/modules/track/index.js +421 -0
  32. package/dist/modules/track/types.d.ts +108 -0
  33. package/dist/modules/track/types.js +4 -0
  34. package/dist/modules/upload/aliOss.d.ts +52 -5
  35. package/dist/modules/upload/aliOss.js +589 -378
  36. package/dist/modules/upload/index.js +32 -29
  37. package/dist/tsconfig.tsbuildinfo +1 -1
  38. package/package.json +27 -2
@@ -4,52 +4,58 @@
4
4
  * @createBy: @2021.08.17
5
5
  */
6
6
  'use strict';
7
- class DomClass {
7
+ var DomClass = /** @class */ (function () {
8
+ function DomClass() {
9
+ }
8
10
  /**
9
11
  * 创建一个子元素并添加至父节点
10
12
  * @param {Object} { name = 'div', innerHTML = '', style = {}, parent, }
11
13
  * @return {String}
12
14
  */
13
- createElement({ name = 'div', innerHTML = '', style = {}, parent, }) {
15
+ DomClass.prototype.createElement = function (_a) {
16
+ var _b = _a.name, name = _b === void 0 ? 'div' : _b, _c = _a.innerHTML, innerHTML = _c === void 0 ? '' : _c, _d = _a.style, style = _d === void 0 ? {} : _d, parent = _a.parent;
14
17
  if (!(window && window.document)) {
15
18
  return new Error('仅支持浏览器');
16
19
  }
17
- const element = document.createElement(name);
20
+ var element = document.createElement(name);
18
21
  element.innerHTML = innerHTML;
19
- Object.keys(style).map((_) => element.style[_] = style[_]);
22
+ Object.keys(style).map(function (_) { return element.style[_] = style[_]; });
20
23
  if (parent) {
21
- const body = document.querySelector(parent);
24
+ var body = document.querySelector(parent);
22
25
  body && body.append(element);
23
26
  }
24
27
  return element;
25
- }
28
+ };
26
29
  /**
27
30
  * 获取文本中的url并用a标签包裹
28
31
  * @param {Object} ICookie
29
32
  */
30
- wrapperA(text) {
33
+ DomClass.prototype.wrapperA = function (text) {
31
34
  if (!(window && window.document)) {
32
35
  return new Error('仅支持浏览器');
33
36
  }
34
37
  return text.replace(/((https|http|ftp|file):\/\/[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|])/g, '<a href="$1">$1</a>');
35
- }
38
+ };
36
39
  /**
37
40
  * 对象转化为formdata
38
41
  * getFormData({a: 1, b: 2})
39
42
  * @param {Object} object
40
43
  */
41
- getFormData(object) {
42
- const formData = new FormData();
43
- Object.keys(object).forEach(key => {
44
- const value = object[key];
44
+ DomClass.prototype.getFormData = function (object) {
45
+ var formData = new FormData();
46
+ Object.keys(object).forEach(function (key) {
47
+ var value = object[key];
45
48
  if (Array.isArray(value)) {
46
- value.forEach((subValue, i) => formData.append(key + `[${i}]`, subValue));
49
+ value.forEach(function (subValue, i) {
50
+ return formData.append(key + "[".concat(i, "]"), subValue);
51
+ });
47
52
  }
48
53
  else {
49
54
  formData.append(key, object[key]);
50
55
  }
51
56
  });
52
57
  return formData;
53
- }
54
- }
58
+ };
59
+ return DomClass;
60
+ }());
55
61
  export default new DomClass();
@@ -7,32 +7,38 @@
7
7
  import dateClass from '../date';
8
8
  import numberClass from '../number';
9
9
  import toolsClass from '../tools';
10
- class FilterClass {
10
+ var FilterClass = /** @class */ (function () {
11
+ function FilterClass() {
12
+ }
11
13
  /**
12
14
  * 格式化时间,示例:1586840260500 | format('YYYY-MM-DD HH:mm:ss')
13
15
  * @param {String|Number} date
14
16
  * @param {String} fmt 'YYYY-MM-DD HH:mm:ss'
15
17
  * @return {String} 'YYYY-MM-DD HH:mm:ss'
16
18
  */
17
- format(date, fmt = 'YYYY-MM-DD HH:mm:ss') {
19
+ FilterClass.prototype.format = function (date, fmt) {
20
+ if (fmt === void 0) { fmt = 'YYYY-MM-DD HH:mm:ss'; }
18
21
  return dateClass.format(date, fmt);
19
- }
22
+ };
20
23
  /**
21
24
  * 格式化金额,示例:123456 | formatMoney
22
25
  * @param {Number} num
23
26
  * @return {String} 123,456
24
27
  */
25
- formatMoney(money) {
28
+ FilterClass.prototype.formatMoney = function (money) {
26
29
  return numberClass.formatMoney(money);
27
- }
30
+ };
28
31
  /**
29
32
  * 截取数组或字符串,示例:'1234' | slice(3)
30
33
  * @param {Array|String} target 数组或字符串
31
34
  * @param {Number} length 截取长度,从0开始
32
35
  * @return {any}
33
36
  */
34
- slice(target = '', length = 0) {
37
+ FilterClass.prototype.slice = function (target, length) {
38
+ if (target === void 0) { target = ''; }
39
+ if (length === void 0) { length = 0; }
35
40
  return toolsClass.slice(target, length);
36
- }
37
- }
41
+ };
42
+ return FilterClass;
43
+ }());
38
44
  export default new FilterClass();
@@ -1,4 +1,6 @@
1
- class Format {
1
+ var Format = /** @class */ (function () {
2
+ function Format() {
3
+ }
2
4
  /**
3
5
  * @desc 对于对象非数字与布尔值的value,当其为falsy时,转换成separator
4
6
  * @param {object} obj 传入的对象
@@ -6,11 +8,13 @@ class Format {
6
8
  * transformObjectNullVal({ a: null, b: 0}, '23') // {a: "23", b: 0}
7
9
  * @return {object}
8
10
  */
9
- transformObjectNullVal(obj, separator = '-') {
10
- return Object.keys(obj).reduce((cur, key) => {
11
+ Format.prototype.transformObjectNullVal = function (obj, separator) {
12
+ if (separator === void 0) { separator = '-'; }
13
+ return Object.keys(obj).reduce(function (cur, key) {
11
14
  cur[key] = obj[key] || ((obj[key] === 0 || obj[key] === false) ? obj[key] : separator);
12
15
  return cur;
13
16
  }, {});
14
- }
15
- }
17
+ };
18
+ return Format;
19
+ }());
16
20
  export default new Format();
@@ -3,7 +3,9 @@
3
3
  * @Author: wanghui
4
4
  */
5
5
  'use strict';
6
- class MatchClass {
6
+ var MatchClass = /** @class */ (function () {
7
+ function MatchClass() {
8
+ }
7
9
  /**
8
10
  * 根据类型返回正则
9
11
  * @param {String} str 检测的内容
@@ -11,8 +13,8 @@ class MatchClass {
11
13
  * checkType('10.120.33.11', 'ip') // true
12
14
  * @return {Boolean} true or false
13
15
  */
14
- checkType(str, type) {
15
- const regexp = {
16
+ MatchClass.prototype.checkType = function (str, type) {
17
+ var regexp = {
16
18
  'ip': /((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}/.test(str),
17
19
  'port': /^(\d|[1-5]\d{4}|6[1-4]\d{3}|65[1-4]\d{2}|655[1-2]\d|6553[1-5])$/.test(str),
18
20
  'phone': /^1[3|4|5|6|7|8][0-9]{9}$/.test(str),
@@ -22,6 +24,7 @@ class MatchClass {
22
24
  'url': /[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/i.test(str)
23
25
  };
24
26
  return regexp[type];
25
- }
26
- }
27
+ };
28
+ return MatchClass;
29
+ }());
27
30
  export default new MatchClass();
@@ -1,40 +1,37 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
1
12
  import track from '../utils/tracker';
2
- export function injectJsError(data = {}) {
3
- window.addEventListener('error', (e) => {
13
+ export function injectJsError(data) {
14
+ if (data === void 0) { data = {}; }
15
+ window.addEventListener('error', function (e) {
4
16
  if (e.target && (e.target.src || e.target.href)) {
5
- track.send({
6
- kind: 'stability',
7
- type: 'error',
8
- title: 'resourceError',
9
- filename: e.target.src || e.target.href,
10
- tagName: e.target.tagName,
11
- reason: e.target.src || e.target.href,
12
- ...data
13
- // selector: lastEvent ? get
14
- });
17
+ track.send(__assign({ kind: 'stability', type: 'error', title: 'resourceError', filename: e.target.src || e.target.href, tagName: e.target.tagName, reason: e.target.src || e.target.href }, data
18
+ // selector: lastEvent ? get
19
+ ));
15
20
  return;
16
21
  }
17
- track.send({
18
- kind: 'stability',
19
- type: 'error',
20
- title: 'jsError',
21
- message: e.message,
22
- filename: e.filename,
23
- position: `${e.lineno}:${e.colno}`,
24
- reason: e.error.stack,
25
- ...data
26
- // selector: lastEvent ? get
27
- });
22
+ track.send(__assign({ kind: 'stability', type: 'error', title: 'jsError', message: e.message, filename: e.filename, position: "".concat(e.lineno, ":").concat(e.colno), reason: e.error.stack }, data
23
+ // selector: lastEvent ? get
24
+ ));
28
25
  }, true);
29
- window.addEventListener('unhandledrejection', (e) => {
30
- let message, filename, line, column, stack;
31
- const reason = e.reason;
26
+ window.addEventListener('unhandledrejection', function (e) {
27
+ var message, filename, line, column, stack;
28
+ var reason = e.reason;
32
29
  if (typeof reason === 'string') {
33
30
  message = reason;
34
31
  }
35
32
  else if (typeof reason === 'object') {
36
33
  if (reason.stack) {
37
- const matchResult = reason.stack.match(/at\s+(.+):(\d+):(\d+)/);
34
+ var matchResult = reason.stack.match(/at\s+(.+):(\d+):(\d+)/);
38
35
  filename = matchResult[1];
39
36
  line = matchResult[2];
40
37
  column = matchResult[3];
@@ -42,16 +39,8 @@ export function injectJsError(data = {}) {
42
39
  message = reason.message;
43
40
  stack = reason.stack;
44
41
  }
45
- track.send({
46
- kind: 'stability',
47
- type: 'error',
48
- title: 'promiseError',
49
- message,
50
- filename,
51
- position: `${line}:${column}`,
52
- reason: stack,
53
- ...data
54
- // selector: lastEvent ? get
55
- });
42
+ track.send(__assign({ kind: 'stability', type: 'error', title: 'promiseError', message: message, filename: filename, position: "".concat(line, ":").concat(column), reason: stack }, data
43
+ // selector: lastEvent ? get
44
+ ));
56
45
  });
57
46
  }
@@ -1,29 +1,29 @@
1
1
  import onload from '../utils/onload';
2
2
  import tracker from '../utils/tracker';
3
3
  export default function timing() {
4
- let FMP, LCP;
5
- new PerformanceObserver((entryList, observer) => {
6
- const perfEntries = entryList.getEntries();
4
+ var FMP, LCP;
5
+ new PerformanceObserver(function (entryList, observer) {
6
+ var perfEntries = entryList.getEntries();
7
7
  FMP = perfEntries[0];
8
8
  observer.disconnect(); // 不再观察
9
9
  }).observe({ entryTypes: ['element'] }); // 观察页面中有意义的元素
10
- new PerformanceObserver((entryList, observer) => {
11
- const perfEntries = entryList.getEntries();
10
+ new PerformanceObserver(function (entryList, observer) {
11
+ var perfEntries = entryList.getEntries();
12
12
  LCP = perfEntries[0];
13
13
  observer.disconnect(); // 不再观察
14
14
  }).observe({ entryTypes: ['largest-contentful-paint'] }); // 观察页面中最大的元素
15
- new PerformanceObserver((entryList, observer) => {
16
- const firstInput = entryList.getEntries();
15
+ new PerformanceObserver(function (entryList, observer) {
16
+ var firstInput = entryList.getEntries();
17
17
  console.log('FID', firstInput);
18
18
  if (firstInput) {
19
- let inputDelay = firstInput.processingStart - firstInput.startTime;
20
- const duration = firstInput.duration;
19
+ var inputDelay = firstInput.processingStart - firstInput.startTime;
20
+ var duration = firstInput.duration;
21
21
  if (inputDelay > 0 || duration > 0) {
22
22
  tracker.send({
23
23
  kind: 'experience',
24
24
  type: 'firstInputDelay',
25
- inputDelay,
26
- duration,
25
+ inputDelay: inputDelay,
26
+ duration: duration,
27
27
  startTime: firstInput.startTime
28
28
  });
29
29
  }
@@ -31,11 +31,9 @@ export default function timing() {
31
31
  observer.disconnect(); // 不再观察
32
32
  }).observe({ type: 'first-input', buffered: true }); // 观察页面中最大的元素
33
33
  onload(function () {
34
- setTimeout(() => {
34
+ setTimeout(function () {
35
35
  console.dir(window.performance);
36
- const { fetchStart, connectStart, connectEnd, requestStart, responseStart, responseEnd, domInteractive, domContentLoadedEventStart, domContentLoadedEventEnd, loadEventStart,
37
- // loadEventEnd
38
- } = performance.getEntriesByType('navigation')[0];
36
+ var _a = performance.getEntriesByType('navigation')[0], fetchStart = _a.fetchStart, connectStart = _a.connectStart, connectEnd = _a.connectEnd, requestStart = _a.requestStart, responseStart = _a.responseStart, responseEnd = _a.responseEnd, domInteractive = _a.domInteractive, domContentLoadedEventStart = _a.domContentLoadedEventStart, domContentLoadedEventEnd = _a.domContentLoadedEventEnd, loadEventStart = _a.loadEventStart;
39
37
  tracker.send({
40
38
  kind: 'experience',
41
39
  type: 'timing',
@@ -46,8 +44,8 @@ export default function timing() {
46
44
  timeToInteractive: domInteractive - fetchStart,
47
45
  loadTime: loadEventStart - fetchStart // 完整的页面加载时间
48
46
  });
49
- let FP = performance.getEntriesByName('first-paint')[0];
50
- let FCP = performance.getEntriesByName('first-contentful-paint')[0];
47
+ var FP = performance.getEntriesByName('first-paint')[0];
48
+ var FCP = performance.getEntriesByName('first-contentful-paint')[0];
51
49
  console.log('FP', FP);
52
50
  console.log('FCP', FCP);
53
51
  console.log('FMP', FMP);
@@ -1,37 +1,38 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
1
12
  import tracker from "../utils/tracker";
2
- export default function injectXHR(data = {}) {
3
- let XMLHttpRequest = window.XMLHttpRequest;
4
- let oldOpen = XMLHttpRequest.prototype.open;
13
+ export default function injectXHR(data) {
14
+ if (data === void 0) { data = {}; }
15
+ var XMLHttpRequest = window.XMLHttpRequest;
16
+ var oldOpen = XMLHttpRequest.prototype.open;
5
17
  XMLHttpRequest.prototype.open = function (method, url, async) {
6
- this.logData = { method, url, async };
18
+ this.logData = { method: method, url: url, async: async };
7
19
  return oldOpen.apply(this, arguments);
8
20
  };
9
- let oldSend = XMLHttpRequest.prototype.send;
21
+ var oldSend = XMLHttpRequest.prototype.send;
10
22
  XMLHttpRequest.prototype.send = function (body) {
23
+ var _this = this;
11
24
  if (this.logData) {
12
- const startTime = Date.now();
13
- const handler = (type) => (event) => {
14
- if (this.logData.url.indexOf('app/collect/original/info/report/v2') > -1)
25
+ var startTime_1 = Date.now();
26
+ var handler = function (type) { return function (event) {
27
+ if (_this.logData.url.indexOf('app/collect/original/info/report/v2') > -1)
15
28
  return;
16
29
  if (type !== 'error')
17
30
  return;
18
- let duration = Date.now() - startTime;
19
- let status = this.status;
20
- let statusText = this.statusText;
21
- tracker.send({
22
- kind: 'stability',
23
- type: 'xhr',
24
- eventType: event.type,
25
- pathname: this.logData.url,
26
- status: status + '-' + statusText,
27
- duration,
28
- response: this.response ? JSON.stringify(this.response) : '',
29
- params: body || '',
30
- title: 'xhr',
31
- reason: status + '-' + statusText + ` ${this.logData.url} ${this.response ? JSON.stringify(this.response) : ''}`,
32
- ...data
33
- });
34
- };
31
+ var duration = Date.now() - startTime_1;
32
+ var status = _this.status;
33
+ var statusText = _this.statusText;
34
+ tracker.send(__assign({ kind: 'stability', type: 'xhr', eventType: event.type, pathname: _this.logData.url, status: status + '-' + statusText, duration: duration, response: _this.response ? JSON.stringify(_this.response) : '', params: body || '', title: 'xhr', reason: status + '-' + statusText + " ".concat(_this.logData.url, " ").concat(_this.response ? JSON.stringify(_this.response) : '') }, data));
35
+ }; };
35
36
  this.addEventListener('load', handler('load'), false);
36
37
  this.addEventListener('error', handler('error'), false);
37
38
  this.addEventListener('abort', handler('abort'), false);
@@ -1,19 +1,30 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
1
12
  import { v4 as uuidv4 } from 'uuid';
2
13
  // import Parser from 'ua-parser-js';
3
- class SendTracker {
4
- url;
5
- constructor() {
14
+ var SendTracker = /** @class */ (function () {
15
+ function SendTracker() {
6
16
  this.url = '';
7
17
  }
8
- send(data = {}) {
9
- const host = window.location.host;
18
+ SendTracker.prototype.send = function (data) {
19
+ if (data === void 0) { data = {}; }
20
+ var host = window.location.host;
10
21
  if (host.indexOf('localhost') > -1)
11
22
  return;
12
- const reg = /((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}/g;
23
+ var reg = /((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}/g;
13
24
  if (reg.test(host))
14
25
  return;
15
- const log = { ...getExtraData(), ...data };
16
- let formBody = [];
26
+ var log = __assign(__assign({}, getExtraData()), data);
27
+ var formBody = [];
17
28
  for (var property in log) {
18
29
  var encodedKey = encodeURIComponent(property);
19
30
  var encodedValue = encodeURIComponent(log[property]);
@@ -31,8 +42,9 @@ class SendTracker {
31
42
  // }).catch((e) => {
32
43
  // console.log(e)
33
44
  // })
34
- }
35
- }
45
+ };
46
+ return SendTracker;
47
+ }());
36
48
  function getExtraData() {
37
49
  return {
38
50
  deviceId: uuidv4(),
@@ -4,31 +4,33 @@
4
4
  * @createBy: @2020.05.26
5
5
  */
6
6
  'use strict';
7
- class NumberClass {
7
+ var NumberClass = /** @class */ (function () {
8
+ function NumberClass() {
9
+ }
8
10
  /**
9
11
  * 个位数前面补0
10
12
  * @param {Number} num 需要格式化的数字
11
13
  * @return {String} '01'
12
14
  */
13
- formatNumber(num) {
14
- const res = num.toString();
15
+ NumberClass.prototype.formatNumber = function (num) {
16
+ var res = num.toString();
15
17
  return res[1] ? res : '0' + res;
16
- }
18
+ };
17
19
  /**
18
20
  * 将手机号中间部分替换为星号
19
21
  * @param {String} phone 手机号码
20
22
  * @return {String} 131****1111
21
23
  */
22
- formatPhone(phone) {
24
+ NumberClass.prototype.formatPhone = function (phone) {
23
25
  return phone.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2');
24
- }
26
+ };
25
27
  /**
26
28
  * 格式化数字 万
27
29
  * @param {Number} num
28
30
  * @return {String} 12.3万
29
31
  */
30
- convertToWan(num) {
31
- let result = '';
32
+ NumberClass.prototype.convertToWan = function (num) {
33
+ var result = '';
32
34
  if (num < 10000) {
33
35
  result = num;
34
36
  }
@@ -36,14 +38,14 @@ class NumberClass {
36
38
  result = (num / 10000).toFixed(1) + '万';
37
39
  }
38
40
  return result;
39
- }
41
+ };
40
42
  /**
41
43
  * 格式化数字 k
42
44
  * @param {Number} num
43
45
  * @return {String} 1.2k
44
46
  */
45
- convertToThousand(num) {
46
- let result = '';
47
+ NumberClass.prototype.convertToThousand = function (num) {
48
+ var result = '';
47
49
  if (num < 1000) {
48
50
  result = num;
49
51
  }
@@ -51,28 +53,28 @@ class NumberClass {
51
53
  result = (num / 1000).toFixed(1) + 'k';
52
54
  }
53
55
  return result;
54
- }
56
+ };
55
57
  /**
56
58
  * 随机数,指定范围
57
59
  * @param {Number} min 开始
58
60
  * @param {Number} max 结束
59
61
  * @return {Number|Object}
60
62
  */
61
- random(min, max) {
63
+ NumberClass.prototype.random = function (min, max) {
62
64
  if (arguments.length === 2) {
63
65
  return Math.floor(min + Math.random() * ((max + 1) - min));
64
66
  }
65
67
  else {
66
68
  return null;
67
69
  }
68
- }
70
+ };
69
71
  /**
70
72
  * 格式化金额
71
73
  * @param {Number} num
72
74
  * @return {String} 123,456
73
75
  */
74
- formatMoney(money, signal) {
75
- let result = '';
76
+ NumberClass.prototype.formatMoney = function (money, signal) {
77
+ var result = '';
76
78
  if (money === '') {
77
79
  return result;
78
80
  }
@@ -86,29 +88,30 @@ class NumberClass {
86
88
  return result = money;
87
89
  }
88
90
  signal = signal === '' ? '' : ',';
89
- let price = money.split('.')[0] + '';
90
- const pricePoint = money.split('.')[1];
91
+ var price = money.split('.')[0] + '';
92
+ var pricePoint = money.split('.')[1];
91
93
  result = price.length > 6 ?
92
- `${price.substring(0, price.length - 6)}${signal}${price.substring(price.length - 6, price.length - 3)},${price.substring(price.length - 3, price.length)}`
94
+ "".concat(price.substring(0, price.length - 6)).concat(signal).concat(price.substring(price.length - 6, price.length - 3), ",").concat(price.substring(price.length - 3, price.length))
93
95
  :
94
- `${price.substring(0, price.length - 3)}${signal}${price.substring(price.length - 3, price.length)}`;
95
- result = pricePoint ? `${result}${signal}${pricePoint}` : result;
96
+ "".concat(price.substring(0, price.length - 3)).concat(signal).concat(price.substring(price.length - 3, price.length));
97
+ result = pricePoint ? "".concat(result).concat(signal).concat(pricePoint) : result;
96
98
  return result;
97
- }
99
+ };
98
100
  /**
99
101
  * 格式化手机号
100
102
  * @param {string} number 手机号
101
103
  * @returns {string} 格式化后的手机号 12345678901 -> 123 4567 8901
102
104
  */
103
- formatPhoneNumber(number) {
104
- const numStr = String(number).replace(/\s/g, '');
105
+ NumberClass.prototype.formatPhoneNumber = function (number) {
106
+ var numStr = String(number).replace(/\s/g, '');
105
107
  if (numStr.length < 11) {
106
108
  return numStr;
107
109
  }
108
- const firstPart = numStr.slice(0, 3);
109
- const secondPart = numStr.slice(3, 7);
110
- const thirdPart = numStr.slice(7, 11);
111
- return `${firstPart} ${secondPart} ${thirdPart}`;
112
- }
113
- }
110
+ var firstPart = numStr.slice(0, 3);
111
+ var secondPart = numStr.slice(3, 7);
112
+ var thirdPart = numStr.slice(7, 11);
113
+ return "".concat(firstPart, " ").concat(secondPart, " ").concat(thirdPart);
114
+ };
115
+ return NumberClass;
116
+ }());
114
117
  export default new NumberClass();
@@ -1,11 +1,7 @@
1
+ import type { AppCallInstance } from '../app-call/types';
1
2
  declare global {
2
3
  interface Window {
3
- AppCall?: {
4
- has: (method: string) => boolean;
5
- openOtherAppUrlRouter: (params: {
6
- appUrlRouter: string;
7
- }) => void;
8
- };
4
+ AppCall?: AppCallInstance;
9
5
  }
10
6
  }
11
7
  interface EnvConfig {
@@ -74,7 +70,7 @@ declare class OpenAppClass {
74
70
  /**
75
71
  * 打开APP主流程
76
72
  */
77
- invoke(): void;
73
+ invoke(): any;
78
74
  getUrl(): string | undefined;
79
75
  /**
80
76
  * 获取打开 app sechma url