ls-pro-common 3.1.25 → 3.1.28

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.
@@ -1,32 +1,28 @@
1
1
  /**
2
- * Add 加法函数,val1参数一,val2参数二
2
+ * Add 加法函数,支持多个参数相加
3
3
  *
4
- * @param val1
5
- * @param val2
6
- * @returns
4
+ * @param values 数值参数,支持任意数量
5
+ * @returns 相加结果
7
6
  */
8
- export declare const add: (val1: number | string, val2: number | string) => number;
7
+ export declare const add: (...values: (number | string)[]) => string | number;
9
8
  /**
10
- * Sub 减法函数,val1参数一,val2参数二
9
+ * Sub 减法函数,支持多个参数相减
11
10
  *
12
- * @param val1
13
- * @param val2
14
- * @returns
11
+ * @param values 数值参数,支持任意数量
12
+ * @returns 相减结果
15
13
  */
16
- export declare const sub: (val1: number | string, val2: number | string) => number;
14
+ export declare const sub: (...values: (number | string)[]) => string | number;
17
15
  /**
18
- * Mul 乘法函数,val1参数一,val2参数二
16
+ * Mul 乘法函数,支持多个参数相乘
19
17
  *
20
- * @param val1
21
- * @param val2
22
- * @returns
18
+ * @param values 数值参数,支持任意数量
19
+ * @returns 相乘结果
23
20
  */
24
- export declare const mul: (val1: number | string, val2: number | string) => number;
21
+ export declare const mul: (...values: (number | string)[]) => string | number;
25
22
  /**
26
- * Div 除法函数,val1参数一,val2参数二
23
+ * Div 除法函数,支持多个参数相除
27
24
  *
28
- * @param val1
29
- * @param val2
30
- * @returns
25
+ * @param values 数值参数,支持任意数量
26
+ * @returns 相除结果
31
27
  */
32
- export declare const div: (val1: number | string, val2: number | string) => number;
28
+ export declare const div: (...values: (number | string)[]) => string | number;
package/es/utils/clac.js CHANGED
@@ -1,41 +1,71 @@
1
1
  import Big from 'big.js';
2
2
  /**
3
- * Add 加法函数,val1参数一,val2参数二
3
+ * Add 加法函数,支持多个参数相加
4
4
  *
5
- * @param val1
6
- * @param val2
7
- * @returns
5
+ * @param values 数值参数,支持任意数量
6
+ * @returns 相加结果
8
7
  */
9
- export var add = function add(val1, val2) {
10
- return Number(new Big(Number(val1)).plus(Number(val2)).toString());
8
+ export var add = function add() {
9
+ for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {
10
+ values[_key] = arguments[_key];
11
+ }
12
+ if (values.length === 0) return 0;
13
+ if (values.length === 1) return Number(values[0]) || 0;
14
+ return values.reduce(function (acc, cur) {
15
+ return Number(new Big(Number(acc)).plus(Number(cur)));
16
+ }, 0);
11
17
  };
12
18
  /**
13
- * Sub 减法函数,val1参数一,val2参数二
19
+ * Sub 减法函数,支持多个参数相减
14
20
  *
15
- * @param val1
16
- * @param val2
17
- * @returns
21
+ * @param values 数值参数,支持任意数量
22
+ * @returns 相减结果
18
23
  */
19
- export var sub = function sub(val1, val2) {
20
- return Number(new Big(Number(val1)).minus(Number(val2)).toString());
24
+ export var sub = function sub() {
25
+ for (var _len2 = arguments.length, values = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
26
+ values[_key2] = arguments[_key2];
27
+ }
28
+ if (values.length === 0) return 0;
29
+ if (values.length === 1) return Number(values[0]) || 0;
30
+ return values.reduce(function (acc, cur) {
31
+ return Number(new Big(Number(acc)).minus(Number(cur)));
32
+ });
21
33
  };
22
34
  /**
23
- * Mul 乘法函数,val1参数一,val2参数二
35
+ * Mul 乘法函数,支持多个参数相乘
24
36
  *
25
- * @param val1
26
- * @param val2
27
- * @returns
37
+ * @param values 数值参数,支持任意数量
38
+ * @returns 相乘结果
28
39
  */
29
- export var mul = function mul(val1, val2) {
30
- return Number(new Big(Number(val1)).times(Number(val2)).toString());
40
+ export var mul = function mul() {
41
+ for (var _len3 = arguments.length, values = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
42
+ values[_key3] = arguments[_key3];
43
+ }
44
+ if (values.length === 0) return 0;
45
+ if (values.length === 1) return Number(values[0]) || 0;
46
+ return values.reduce(function (acc, cur) {
47
+ return Number(new Big(Number(acc)).times(Number(cur)));
48
+ }, 1); // 乘法从1开始
31
49
  };
32
50
  /**
33
- * Div 除法函数,val1参数一,val2参数二
51
+ * Div 除法函数,支持多个参数相除
34
52
  *
35
- * @param val1
36
- * @param val2
37
- * @returns
53
+ * @param values 数值参数,支持任意数量
54
+ * @returns 相除结果
38
55
  */
39
- export var div = function div(val1, val2) {
40
- return Number(new Big(Number(val1)).div(Number(val2)).toString());
56
+ export var div = function div() {
57
+ for (var _len4 = arguments.length, values = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
58
+ values[_key4] = arguments[_key4];
59
+ }
60
+ if (values.length === 0) return 0;
61
+ if (values.length === 1) return Number(values[0]) || 0;
62
+ // 检查除数是否为零
63
+ for (var i = 1; i < values.length; i++) {
64
+ if (Number(values[i]) === 0) {
65
+ throw new Error('除数不能为零');
66
+ }
67
+ }
68
+ return values.reduce(function (acc, cur) {
69
+ return Number(new Big(Number(acc)).div(Number(cur)));
70
+ });
41
71
  };
@@ -28,10 +28,10 @@ export declare const setUrlQuery: (url: string, keyvals?: Record<string, any>) =
28
28
  *
29
29
  * @param url 原url,以 / 打头
30
30
  * @param gatewayKey 设置gateway关键字 默认为 'gateway'
31
- * @param defGateway 默认网关 ''
31
+ * @param defaultGateway 默认网关 ''
32
32
  * @returns
33
33
  */
34
- export declare const toGatewayUrl: (url: string, gatewayKey?: string, defGateway?: string) => string;
34
+ export declare const toGatewayUrl: (url: string, gatewayKey?: string, defaultGateway?: string) => string;
35
35
  /**
36
36
  * 设置文档title
37
37
  *
@@ -215,7 +215,14 @@ export declare const handleTheme: () => void;
215
215
  */
216
216
  export declare const sleep: (secord: number) => Promise<unknown>;
217
217
  /**
218
- * 通用下载文件方法
218
+ * 将url转换为下载地址,优先走下载域名,如果下载域名没有配置,则走原url
219
+ *
220
+ * @param url
221
+ * @returns
222
+ */
223
+ export declare const urlDownloadDomain: (url: string) => string;
224
+ /**
225
+ * 通用下载文件方法,直接走下载域名。
219
226
  *
220
227
  * @param url 文件地址
221
228
  * @param fileName 文件名
package/es/utils/index.js CHANGED
@@ -82,22 +82,26 @@ export var setUrlQuery = function setUrlQuery(url) {
82
82
  *
83
83
  * @param url 原url,以 / 打头
84
84
  * @param gatewayKey 设置gateway关键字 默认为 'gateway'
85
- * @param defGateway 默认网关 ''
85
+ * @param defaultGateway 默认网关 ''
86
86
  * @returns
87
87
  */
88
88
  export var toGatewayUrl = function toGatewayUrl(url) {
89
89
  var gatewayKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'gateway';
90
- var defGateway = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
90
+ var defaultGateway = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
91
+ url = url || '';
91
92
  // 如果url带有名称,不需要设置网关
92
93
  if (url.startsWith('http://') || url.startsWith('https://') || url.startsWith('//')) return url;
94
+ if (url.startsWith('/lesoon/') || url.startsWith('/petrel/')) {
95
+ return location.origin + url;
96
+ }
93
97
  // 读取项目的默认网关
94
- if (!defGateway) {
98
+ if (!defaultGateway) {
95
99
  var _top;
96
100
  // @ts-ignore
97
- defGateway = window.defaultGateway || ((_top = top) === null || _top === void 0 ? void 0 : _top.window.lsMainGateway) || '';
101
+ defaultGateway = window.defaultGateway || ((_top = top) === null || _top === void 0 ? void 0 : _top.window.lsMainGateway) || '';
98
102
  }
99
103
  // 取网关的顺序, 1.取url里的传参,2.取资源里的网关, 3. 取项目里设置的默认网关
100
- var gateway = getUrlQuery(gatewayKey) || getResourceProps(gatewayKey) || defGateway;
104
+ var gateway = getUrlQuery(gatewayKey) || getResourceProps(gatewayKey) || defaultGateway;
101
105
  // 如果没有找到网关,直接从项目配置中取网关
102
106
  if (!gateway) {
103
107
  var projects = JSON.parse(sessionStorage.getItem('lsProjects') || '[]');
@@ -113,8 +117,7 @@ export var toGatewayUrl = function toGatewayUrl(url) {
113
117
  }
114
118
  // 网关加上域名,避免多次设置
115
119
  if (gateway && !gateway.startsWith('http')) {
116
- var h = location.origin ? location.origin : "".concat(location.protocol, "//").concat(location.hostname).concat(location.port ? ':' + location.port : '');
117
- gateway = h + gateway;
120
+ gateway = location.origin + gateway;
118
121
  }
119
122
  return gateway + url;
120
123
  };
@@ -460,22 +463,41 @@ export var sleep = function sleep(secord) {
460
463
  });
461
464
  };
462
465
  /**
463
- * 通用下载文件方法
466
+ * 将url转换为下载地址,优先走下载域名,如果下载域名没有配置,则走原url
467
+ *
468
+ * @param url
469
+ * @returns
470
+ */
471
+ export var urlDownloadDomain = function urlDownloadDomain(url) {
472
+ var _downDomain;
473
+ if (!url) return url;
474
+ //获取下载域名
475
+ var downDomain = getCache('exportUrl');
476
+ if (!downDomain && location.origin.endsWith('.cloud')) {
477
+ downDomain = 'https://download.lesoon.cloud';
478
+ } else if ((_downDomain = downDomain) === null || _downDomain === void 0 ? void 0 : _downDomain.startsWith('//')) {
479
+ downDomain = location.protocol + downDomain;
480
+ }
481
+ // 处理网关
482
+ url = toGatewayUrl(url);
483
+ // 替换域名
484
+ if (downDomain) {
485
+ url = setUrlQuery(url.replace(location.origin, downDomain), {
486
+ token: getCookie('token')
487
+ });
488
+ }
489
+ return url;
490
+ };
491
+ /**
492
+ * 通用下载文件方法,直接走下载域名。
464
493
  *
465
494
  * @param url 文件地址
466
495
  * @param fileName 文件名
467
496
  */
468
497
  export var downloadFile = function downloadFile(url, fileName) {
469
498
  var a = document.createElement('a');
499
+ url = urlDownloadDomain(url);
470
500
  a.href = url;
471
- // 如果导出域名有配置,则优先使用导出域名
472
- var baseExportUrl = getCache('exportUrl') || '';
473
- var token = getCookie('token') || '';
474
- if (baseExportUrl && !url.startsWith('http') && token) {
475
- a.href = setUrlQuery(baseExportUrl + url, {
476
- token: token
477
- });
478
- }
479
501
  // a.target = '_blank'; // 新开屏有闪烁
480
502
  if (fileName) {
481
503
  a.setAttribute('download', fileName);
@@ -1,32 +1,28 @@
1
1
  /**
2
- * Add 加法函数,val1参数一,val2参数二
2
+ * Add 加法函数,支持多个参数相加
3
3
  *
4
- * @param val1
5
- * @param val2
6
- * @returns
4
+ * @param values 数值参数,支持任意数量
5
+ * @returns 相加结果
7
6
  */
8
- export declare const add: (val1: number | string, val2: number | string) => number;
7
+ export declare const add: (...values: (number | string)[]) => string | number;
9
8
  /**
10
- * Sub 减法函数,val1参数一,val2参数二
9
+ * Sub 减法函数,支持多个参数相减
11
10
  *
12
- * @param val1
13
- * @param val2
14
- * @returns
11
+ * @param values 数值参数,支持任意数量
12
+ * @returns 相减结果
15
13
  */
16
- export declare const sub: (val1: number | string, val2: number | string) => number;
14
+ export declare const sub: (...values: (number | string)[]) => string | number;
17
15
  /**
18
- * Mul 乘法函数,val1参数一,val2参数二
16
+ * Mul 乘法函数,支持多个参数相乘
19
17
  *
20
- * @param val1
21
- * @param val2
22
- * @returns
18
+ * @param values 数值参数,支持任意数量
19
+ * @returns 相乘结果
23
20
  */
24
- export declare const mul: (val1: number | string, val2: number | string) => number;
21
+ export declare const mul: (...values: (number | string)[]) => string | number;
25
22
  /**
26
- * Div 除法函数,val1参数一,val2参数二
23
+ * Div 除法函数,支持多个参数相除
27
24
  *
28
- * @param val1
29
- * @param val2
30
- * @returns
25
+ * @param values 数值参数,支持任意数量
26
+ * @returns 相除结果
31
27
  */
32
- export declare const div: (val1: number | string, val2: number | string) => number;
28
+ export declare const div: (...values: (number | string)[]) => string | number;
package/lib/utils/clac.js CHANGED
@@ -1,41 +1,71 @@
1
1
  import Big from 'big.js';
2
2
  /**
3
- * Add 加法函数,val1参数一,val2参数二
3
+ * Add 加法函数,支持多个参数相加
4
4
  *
5
- * @param val1
6
- * @param val2
7
- * @returns
5
+ * @param values 数值参数,支持任意数量
6
+ * @returns 相加结果
8
7
  */
9
- export var add = function add(val1, val2) {
10
- return Number(new Big(Number(val1)).plus(Number(val2)).toString());
8
+ export var add = function add() {
9
+ for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {
10
+ values[_key] = arguments[_key];
11
+ }
12
+ if (values.length === 0) return 0;
13
+ if (values.length === 1) return Number(values[0]) || 0;
14
+ return values.reduce(function (acc, cur) {
15
+ return Number(new Big(Number(acc)).plus(Number(cur)));
16
+ }, 0);
11
17
  };
12
18
  /**
13
- * Sub 减法函数,val1参数一,val2参数二
19
+ * Sub 减法函数,支持多个参数相减
14
20
  *
15
- * @param val1
16
- * @param val2
17
- * @returns
21
+ * @param values 数值参数,支持任意数量
22
+ * @returns 相减结果
18
23
  */
19
- export var sub = function sub(val1, val2) {
20
- return Number(new Big(Number(val1)).minus(Number(val2)).toString());
24
+ export var sub = function sub() {
25
+ for (var _len2 = arguments.length, values = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
26
+ values[_key2] = arguments[_key2];
27
+ }
28
+ if (values.length === 0) return 0;
29
+ if (values.length === 1) return Number(values[0]) || 0;
30
+ return values.reduce(function (acc, cur) {
31
+ return Number(new Big(Number(acc)).minus(Number(cur)));
32
+ });
21
33
  };
22
34
  /**
23
- * Mul 乘法函数,val1参数一,val2参数二
35
+ * Mul 乘法函数,支持多个参数相乘
24
36
  *
25
- * @param val1
26
- * @param val2
27
- * @returns
37
+ * @param values 数值参数,支持任意数量
38
+ * @returns 相乘结果
28
39
  */
29
- export var mul = function mul(val1, val2) {
30
- return Number(new Big(Number(val1)).times(Number(val2)).toString());
40
+ export var mul = function mul() {
41
+ for (var _len3 = arguments.length, values = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
42
+ values[_key3] = arguments[_key3];
43
+ }
44
+ if (values.length === 0) return 0;
45
+ if (values.length === 1) return Number(values[0]) || 0;
46
+ return values.reduce(function (acc, cur) {
47
+ return Number(new Big(Number(acc)).times(Number(cur)));
48
+ }, 1); // 乘法从1开始
31
49
  };
32
50
  /**
33
- * Div 除法函数,val1参数一,val2参数二
51
+ * Div 除法函数,支持多个参数相除
34
52
  *
35
- * @param val1
36
- * @param val2
37
- * @returns
53
+ * @param values 数值参数,支持任意数量
54
+ * @returns 相除结果
38
55
  */
39
- export var div = function div(val1, val2) {
40
- return Number(new Big(Number(val1)).div(Number(val2)).toString());
56
+ export var div = function div() {
57
+ for (var _len4 = arguments.length, values = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
58
+ values[_key4] = arguments[_key4];
59
+ }
60
+ if (values.length === 0) return 0;
61
+ if (values.length === 1) return Number(values[0]) || 0;
62
+ // 检查除数是否为零
63
+ for (var i = 1; i < values.length; i++) {
64
+ if (Number(values[i]) === 0) {
65
+ throw new Error('除数不能为零');
66
+ }
67
+ }
68
+ return values.reduce(function (acc, cur) {
69
+ return Number(new Big(Number(acc)).div(Number(cur)));
70
+ });
41
71
  };
@@ -28,10 +28,10 @@ export declare const setUrlQuery: (url: string, keyvals?: Record<string, any>) =
28
28
  *
29
29
  * @param url 原url,以 / 打头
30
30
  * @param gatewayKey 设置gateway关键字 默认为 'gateway'
31
- * @param defGateway 默认网关 ''
31
+ * @param defaultGateway 默认网关 ''
32
32
  * @returns
33
33
  */
34
- export declare const toGatewayUrl: (url: string, gatewayKey?: string, defGateway?: string) => string;
34
+ export declare const toGatewayUrl: (url: string, gatewayKey?: string, defaultGateway?: string) => string;
35
35
  /**
36
36
  * 设置文档title
37
37
  *
@@ -215,7 +215,14 @@ export declare const handleTheme: () => void;
215
215
  */
216
216
  export declare const sleep: (secord: number) => Promise<unknown>;
217
217
  /**
218
- * 通用下载文件方法
218
+ * 将url转换为下载地址,优先走下载域名,如果下载域名没有配置,则走原url
219
+ *
220
+ * @param url
221
+ * @returns
222
+ */
223
+ export declare const urlDownloadDomain: (url: string) => string;
224
+ /**
225
+ * 通用下载文件方法,直接走下载域名。
219
226
  *
220
227
  * @param url 文件地址
221
228
  * @param fileName 文件名
@@ -82,22 +82,26 @@ export var setUrlQuery = function setUrlQuery(url) {
82
82
  *
83
83
  * @param url 原url,以 / 打头
84
84
  * @param gatewayKey 设置gateway关键字 默认为 'gateway'
85
- * @param defGateway 默认网关 ''
85
+ * @param defaultGateway 默认网关 ''
86
86
  * @returns
87
87
  */
88
88
  export var toGatewayUrl = function toGatewayUrl(url) {
89
89
  var gatewayKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'gateway';
90
- var defGateway = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
90
+ var defaultGateway = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
91
+ url = url || '';
91
92
  // 如果url带有名称,不需要设置网关
92
93
  if (url.startsWith('http://') || url.startsWith('https://') || url.startsWith('//')) return url;
94
+ if (url.startsWith('/lesoon/') || url.startsWith('/petrel/')) {
95
+ return location.origin + url;
96
+ }
93
97
  // 读取项目的默认网关
94
- if (!defGateway) {
98
+ if (!defaultGateway) {
95
99
  var _top;
96
100
  // @ts-ignore
97
- defGateway = window.defaultGateway || ((_top = top) === null || _top === void 0 ? void 0 : _top.window.lsMainGateway) || '';
101
+ defaultGateway = window.defaultGateway || ((_top = top) === null || _top === void 0 ? void 0 : _top.window.lsMainGateway) || '';
98
102
  }
99
103
  // 取网关的顺序, 1.取url里的传参,2.取资源里的网关, 3. 取项目里设置的默认网关
100
- var gateway = getUrlQuery(gatewayKey) || getResourceProps(gatewayKey) || defGateway;
104
+ var gateway = getUrlQuery(gatewayKey) || getResourceProps(gatewayKey) || defaultGateway;
101
105
  // 如果没有找到网关,直接从项目配置中取网关
102
106
  if (!gateway) {
103
107
  var projects = JSON.parse(sessionStorage.getItem('lsProjects') || '[]');
@@ -113,8 +117,7 @@ export var toGatewayUrl = function toGatewayUrl(url) {
113
117
  }
114
118
  // 网关加上域名,避免多次设置
115
119
  if (gateway && !gateway.startsWith('http')) {
116
- var h = location.origin ? location.origin : "".concat(location.protocol, "//").concat(location.hostname).concat(location.port ? ':' + location.port : '');
117
- gateway = h + gateway;
120
+ gateway = location.origin + gateway;
118
121
  }
119
122
  return gateway + url;
120
123
  };
@@ -460,22 +463,41 @@ export var sleep = function sleep(secord) {
460
463
  });
461
464
  };
462
465
  /**
463
- * 通用下载文件方法
466
+ * 将url转换为下载地址,优先走下载域名,如果下载域名没有配置,则走原url
467
+ *
468
+ * @param url
469
+ * @returns
470
+ */
471
+ export var urlDownloadDomain = function urlDownloadDomain(url) {
472
+ var _downDomain;
473
+ if (!url) return url;
474
+ //获取下载域名
475
+ var downDomain = getCache('exportUrl');
476
+ if (!downDomain && location.origin.endsWith('.cloud')) {
477
+ downDomain = 'https://download.lesoon.cloud';
478
+ } else if ((_downDomain = downDomain) === null || _downDomain === void 0 ? void 0 : _downDomain.startsWith('//')) {
479
+ downDomain = location.protocol + downDomain;
480
+ }
481
+ // 处理网关
482
+ url = toGatewayUrl(url);
483
+ // 替换域名
484
+ if (downDomain) {
485
+ url = setUrlQuery(url.replace(location.origin, downDomain), {
486
+ token: getCookie('token')
487
+ });
488
+ }
489
+ return url;
490
+ };
491
+ /**
492
+ * 通用下载文件方法,直接走下载域名。
464
493
  *
465
494
  * @param url 文件地址
466
495
  * @param fileName 文件名
467
496
  */
468
497
  export var downloadFile = function downloadFile(url, fileName) {
469
498
  var a = document.createElement('a');
499
+ url = urlDownloadDomain(url);
470
500
  a.href = url;
471
- // 如果导出域名有配置,则优先使用导出域名
472
- var baseExportUrl = getCache('exportUrl') || '';
473
- var token = getCookie('token') || '';
474
- if (baseExportUrl && !url.startsWith('http') && token) {
475
- a.href = setUrlQuery(baseExportUrl + url, {
476
- token: token
477
- });
478
- }
479
501
  // a.target = '_blank'; // 新开屏有闪烁
480
502
  if (fileName) {
481
503
  a.setAttribute('download', fileName);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ls-pro-common",
3
- "version": "3.1.25",
3
+ "version": "3.1.28",
4
4
  "description": "ls-pro-common",
5
5
  "license": "MIT",
6
6
  "sideEffects": [