ls-pro-common 3.1.25 → 3.1.26

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.
@@ -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
@@ -460,22 +460,41 @@ export var sleep = function sleep(secord) {
460
460
  });
461
461
  };
462
462
  /**
463
- * 通用下载文件方法
463
+ * 将url转换为下载地址,优先走下载域名,如果下载域名没有配置,则走原url
464
+ *
465
+ * @param url
466
+ * @returns
467
+ */
468
+ export var urlDownloadDomain = function urlDownloadDomain(url) {
469
+ var _downDomain;
470
+ if (!url) return url;
471
+ //获取下载域名
472
+ var downDomain = getCache('exportUrl');
473
+ if (!downDomain && location.origin.endsWith('.cloud')) {
474
+ downDomain = 'https://download.lesoon.cloud';
475
+ } else if ((_downDomain = downDomain) === null || _downDomain === void 0 ? void 0 : _downDomain.startsWith('//')) {
476
+ downDomain = location.protocol + downDomain;
477
+ }
478
+ // 处理网关
479
+ url = toGatewayUrl(url);
480
+ // 替换域名
481
+ if (downDomain) {
482
+ url = setUrlQuery(url.replace(location.origin, downDomain), {
483
+ token: getCookie('token')
484
+ });
485
+ }
486
+ return url;
487
+ };
488
+ /**
489
+ * 通用下载文件方法,直接走下载域名。
464
490
  *
465
491
  * @param url 文件地址
466
492
  * @param fileName 文件名
467
493
  */
468
494
  export var downloadFile = function downloadFile(url, fileName) {
469
495
  var a = document.createElement('a');
496
+ url = urlDownloadDomain(url);
470
497
  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
498
  // a.target = '_blank'; // 新开屏有闪烁
480
499
  if (fileName) {
481
500
  a.setAttribute('download', fileName);
@@ -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 文件名
@@ -460,22 +460,41 @@ export var sleep = function sleep(secord) {
460
460
  });
461
461
  };
462
462
  /**
463
- * 通用下载文件方法
463
+ * 将url转换为下载地址,优先走下载域名,如果下载域名没有配置,则走原url
464
+ *
465
+ * @param url
466
+ * @returns
467
+ */
468
+ export var urlDownloadDomain = function urlDownloadDomain(url) {
469
+ var _downDomain;
470
+ if (!url) return url;
471
+ //获取下载域名
472
+ var downDomain = getCache('exportUrl');
473
+ if (!downDomain && location.origin.endsWith('.cloud')) {
474
+ downDomain = 'https://download.lesoon.cloud';
475
+ } else if ((_downDomain = downDomain) === null || _downDomain === void 0 ? void 0 : _downDomain.startsWith('//')) {
476
+ downDomain = location.protocol + downDomain;
477
+ }
478
+ // 处理网关
479
+ url = toGatewayUrl(url);
480
+ // 替换域名
481
+ if (downDomain) {
482
+ url = setUrlQuery(url.replace(location.origin, downDomain), {
483
+ token: getCookie('token')
484
+ });
485
+ }
486
+ return url;
487
+ };
488
+ /**
489
+ * 通用下载文件方法,直接走下载域名。
464
490
  *
465
491
  * @param url 文件地址
466
492
  * @param fileName 文件名
467
493
  */
468
494
  export var downloadFile = function downloadFile(url, fileName) {
469
495
  var a = document.createElement('a');
496
+ url = urlDownloadDomain(url);
470
497
  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
498
  // a.target = '_blank'; // 新开屏有闪烁
480
499
  if (fileName) {
481
500
  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.26",
4
4
  "description": "ls-pro-common",
5
5
  "license": "MIT",
6
6
  "sideEffects": [