giime 0.6.35 → 0.6.37

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 (84) hide show
  1. package/dist/index.css +138 -138
  2. package/es/components/src/base/datePicker/DatePicker.vue.d.ts +3 -3
  3. package/es/components/src/base/datePicker/datePicker.d.ts +1 -1
  4. package/es/components/src/base/datePicker/index.d.ts +7 -7
  5. package/es/components/src/business/uploadPro/UploadPro.vue.mjs +1 -1
  6. package/es/components/src/business/uploadPro/UploadPro.vue2.mjs +38 -6
  7. package/es/components/src/business/uploadPro/UploadPro.vue2.mjs.map +1 -1
  8. package/es/components/src/business/uploadPro/uploadPro.mjs +1 -1
  9. package/es/components/src/business/uploadPro/uploadPro.mjs.map +1 -1
  10. package/es/components/src/composite/previewFile/PreviewFile.vue2.mjs +3 -2
  11. package/es/components/src/composite/previewFile/PreviewFile.vue2.mjs.map +1 -1
  12. package/es/components/src/composite/searchForm/searchFormItems/cascader/SearchFormCascader.vue2.mjs +1 -1
  13. package/es/components/src/composite/searchForm/searchFormItems/cascader/SearchFormCascader.vue2.mjs.map +1 -1
  14. package/es/components/src/composite/searchForm/searchFormItems/datePicker/SearchFormDatePicker.vue.d.ts +2 -5
  15. package/es/components/src/composite/searchForm/searchFormItems/datePicker/SearchFormDatePicker.vue2.mjs +6 -2
  16. package/es/components/src/composite/searchForm/searchFormItems/datePicker/SearchFormDatePicker.vue2.mjs.map +1 -1
  17. package/es/components/src/composite/searchForm/searchFormItems/datePicker/index.d.ts +2 -5
  18. package/es/components/src/composite/searchForm/searchFormItems/datePicker/searchFormDatePicker.d.ts +1 -2
  19. package/es/components/src/composite/searchForm/searchFormItems/datePicker/searchFormDatePicker.mjs +2 -2
  20. package/es/components/src/composite/searchForm/searchFormItems/datePicker/searchFormDatePicker.mjs.map +1 -1
  21. package/es/giime/index.mjs +2 -1
  22. package/es/giime/index.mjs.map +1 -1
  23. package/es/giime/version.d.ts +1 -1
  24. package/es/giime/version.mjs +1 -1
  25. package/es/giime/version.mjs.map +1 -1
  26. package/es/hooks/base/useDownload/index.mjs +27 -12
  27. package/es/hooks/base/useDownload/index.mjs.map +1 -1
  28. package/es/hooks/base/useUploadFile/index.d.ts +8 -1
  29. package/es/hooks/base/useUploadFile/index.mjs +36 -5
  30. package/es/hooks/base/useUploadFile/index.mjs.map +1 -1
  31. package/es/index.css +138 -138
  32. package/es/utils/index.mjs +2 -1
  33. package/es/utils/index.mjs.map +1 -1
  34. package/es/utils/src/date/dateShortcuts.d.ts +2 -2
  35. package/es/utils/src/date/dateShortcuts.mjs +87 -82
  36. package/es/utils/src/date/dateShortcuts.mjs.map +1 -1
  37. package/es/utils/src/file.d.ts +1 -6
  38. package/es/utils/src/file.mjs +2 -9
  39. package/es/utils/src/file.mjs.map +1 -1
  40. package/es/utils/src/http/interceptors.d.ts +1 -1
  41. package/es/utils/src/http/interceptors.mjs +4 -1
  42. package/es/utils/src/http/interceptors.mjs.map +1 -1
  43. package/lib/components/src/base/datePicker/DatePicker.vue.d.ts +3 -3
  44. package/lib/components/src/base/datePicker/datePicker.d.ts +1 -1
  45. package/lib/components/src/base/datePicker/index.d.ts +7 -7
  46. package/lib/components/src/business/uploadPro/UploadPro.vue.js +1 -1
  47. package/lib/components/src/business/uploadPro/UploadPro.vue2.js +38 -6
  48. package/lib/components/src/business/uploadPro/UploadPro.vue2.js.map +1 -1
  49. package/lib/components/src/business/uploadPro/uploadPro.js +1 -1
  50. package/lib/components/src/business/uploadPro/uploadPro.js.map +1 -1
  51. package/lib/components/src/composite/previewFile/PreviewFile.vue2.js +6 -5
  52. package/lib/components/src/composite/previewFile/PreviewFile.vue2.js.map +1 -1
  53. package/lib/components/src/composite/searchForm/searchFormItems/cascader/SearchFormCascader.vue2.js +1 -1
  54. package/lib/components/src/composite/searchForm/searchFormItems/cascader/SearchFormCascader.vue2.js.map +1 -1
  55. package/lib/components/src/composite/searchForm/searchFormItems/datePicker/SearchFormDatePicker.vue.d.ts +2 -5
  56. package/lib/components/src/composite/searchForm/searchFormItems/datePicker/SearchFormDatePicker.vue2.js +6 -2
  57. package/lib/components/src/composite/searchForm/searchFormItems/datePicker/SearchFormDatePicker.vue2.js.map +1 -1
  58. package/lib/components/src/composite/searchForm/searchFormItems/datePicker/index.d.ts +2 -5
  59. package/lib/components/src/composite/searchForm/searchFormItems/datePicker/searchFormDatePicker.d.ts +1 -2
  60. package/lib/components/src/composite/searchForm/searchFormItems/datePicker/searchFormDatePicker.js +2 -2
  61. package/lib/components/src/composite/searchForm/searchFormItems/datePicker/searchFormDatePicker.js.map +1 -1
  62. package/lib/giime/index.js +5 -1
  63. package/lib/giime/index.js.map +1 -1
  64. package/lib/giime/version.d.ts +1 -1
  65. package/lib/giime/version.js +1 -1
  66. package/lib/giime/version.js.map +1 -1
  67. package/lib/hooks/base/useDownload/index.js +27 -12
  68. package/lib/hooks/base/useDownload/index.js.map +1 -1
  69. package/lib/hooks/base/useUploadFile/index.d.ts +8 -1
  70. package/lib/hooks/base/useUploadFile/index.js +36 -5
  71. package/lib/hooks/base/useUploadFile/index.js.map +1 -1
  72. package/lib/index.css +138 -138
  73. package/lib/utils/index.js +5 -1
  74. package/lib/utils/index.js.map +1 -1
  75. package/lib/utils/src/date/dateShortcuts.d.ts +2 -2
  76. package/lib/utils/src/date/dateShortcuts.js +87 -82
  77. package/lib/utils/src/date/dateShortcuts.js.map +1 -1
  78. package/lib/utils/src/file.d.ts +1 -6
  79. package/lib/utils/src/file.js +5 -9
  80. package/lib/utils/src/file.js.map +1 -1
  81. package/lib/utils/src/http/interceptors.d.ts +1 -1
  82. package/lib/utils/src/http/interceptors.js +4 -1
  83. package/lib/utils/src/http/interceptors.js.map +1 -1
  84. package/package.json +1 -1
@@ -3,6 +3,88 @@
3
3
  var dayjs = require('dayjs');
4
4
 
5
5
  const getDateShortcuts = (type) => {
6
+ const daterangeShortcutValue = [
7
+ {
8
+ text: "\u672C\u5468",
9
+ value: () => {
10
+ const start = dayjs().startOf("week").toDate();
11
+ const end = dayjs().endOf("week").toDate();
12
+ return [start, end];
13
+ }
14
+ },
15
+ {
16
+ text: "\u672C\u6708",
17
+ value: () => {
18
+ const start = dayjs().startOf("month").toDate();
19
+ const end = dayjs().endOf("month").toDate();
20
+ return [start, end];
21
+ }
22
+ },
23
+ {
24
+ text: "\u4E0A\u6708",
25
+ value: () => {
26
+ const now = dayjs();
27
+ const startOfThisMonth = now.startOf("month");
28
+ const endOfLastMonth = startOfThisMonth.subtract(1, "day");
29
+ const startOfLastMonth = endOfLastMonth.startOf("month");
30
+ return [startOfLastMonth.toDate(), endOfLastMonth.toDate()];
31
+ }
32
+ },
33
+ {
34
+ text: "\u8FD13\u5929",
35
+ value: () => {
36
+ const end = /* @__PURE__ */ new Date();
37
+ const start = /* @__PURE__ */ new Date();
38
+ start.setTime(start.getTime() - 3600 * 1e3 * 24 * 2);
39
+ return [start, end];
40
+ }
41
+ },
42
+ {
43
+ text: "\u8FD17\u5929",
44
+ value: () => {
45
+ const end = /* @__PURE__ */ new Date();
46
+ const start = /* @__PURE__ */ new Date();
47
+ start.setTime(start.getTime() - 3600 * 1e3 * 24 * 6);
48
+ return [start, end];
49
+ }
50
+ },
51
+ {
52
+ text: "\u8FD115\u5929",
53
+ value: () => {
54
+ const end = /* @__PURE__ */ new Date();
55
+ const start = /* @__PURE__ */ new Date();
56
+ start.setTime(start.getTime() - 3600 * 1e3 * 24 * 14);
57
+ return [start, end];
58
+ }
59
+ },
60
+ {
61
+ text: "\u8FD130\u5929",
62
+ value: () => {
63
+ const end = /* @__PURE__ */ new Date();
64
+ const start = /* @__PURE__ */ new Date();
65
+ start.setTime(start.getTime() - 3600 * 1e3 * 24 * 29);
66
+ return [start, end];
67
+ }
68
+ },
69
+ {
70
+ text: "\u8FD160\u5929",
71
+ value: () => {
72
+ const end = /* @__PURE__ */ new Date();
73
+ const start = /* @__PURE__ */ new Date();
74
+ start.setTime(start.getTime() - 3600 * 1e3 * 24 * 59);
75
+ return [start, end];
76
+ }
77
+ },
78
+ {
79
+ text: "\u8FD190\u5929",
80
+ value: () => {
81
+ const end = /* @__PURE__ */ new Date();
82
+ const start = /* @__PURE__ */ new Date();
83
+ start.setTime(start.getTime() - 3600 * 1e3 * 24 * 89);
84
+ return [start, end];
85
+ }
86
+ }
87
+ ];
6
88
  const shortcuts = [
7
89
  {
8
90
  type: "date",
@@ -31,88 +113,11 @@ const getDateShortcuts = (type) => {
31
113
  },
32
114
  {
33
115
  type: "daterange",
34
- values: [
35
- {
36
- text: "\u672C\u5468",
37
- value: () => {
38
- const start = dayjs().startOf("week").toDate();
39
- const end = dayjs().endOf("week").toDate();
40
- return [start, end];
41
- }
42
- },
43
- {
44
- text: "\u672C\u6708",
45
- value: () => {
46
- const start = dayjs().startOf("month").toDate();
47
- const end = dayjs().endOf("month").toDate();
48
- return [start, end];
49
- }
50
- },
51
- {
52
- text: "\u4E0A\u6708",
53
- value: () => {
54
- const now = dayjs();
55
- const startOfThisMonth = now.startOf("month");
56
- const endOfLastMonth = startOfThisMonth.subtract(1, "day");
57
- const startOfLastMonth = endOfLastMonth.startOf("month");
58
- return [startOfLastMonth.toDate(), endOfLastMonth.toDate()];
59
- }
60
- },
61
- {
62
- text: "\u8FD13\u5929",
63
- value: () => {
64
- const end = /* @__PURE__ */ new Date();
65
- const start = /* @__PURE__ */ new Date();
66
- start.setTime(start.getTime() - 3600 * 1e3 * 24 * 2);
67
- return [start, end];
68
- }
69
- },
70
- {
71
- text: "\u8FD17\u5929",
72
- value: () => {
73
- const end = /* @__PURE__ */ new Date();
74
- const start = /* @__PURE__ */ new Date();
75
- start.setTime(start.getTime() - 3600 * 1e3 * 24 * 6);
76
- return [start, end];
77
- }
78
- },
79
- {
80
- text: "\u8FD115\u5929",
81
- value: () => {
82
- const end = /* @__PURE__ */ new Date();
83
- const start = /* @__PURE__ */ new Date();
84
- start.setTime(start.getTime() - 3600 * 1e3 * 24 * 14);
85
- return [start, end];
86
- }
87
- },
88
- {
89
- text: "\u8FD130\u5929",
90
- value: () => {
91
- const end = /* @__PURE__ */ new Date();
92
- const start = /* @__PURE__ */ new Date();
93
- start.setTime(start.getTime() - 3600 * 1e3 * 24 * 29);
94
- return [start, end];
95
- }
96
- },
97
- {
98
- text: "\u8FD160\u5929",
99
- value: () => {
100
- const end = /* @__PURE__ */ new Date();
101
- const start = /* @__PURE__ */ new Date();
102
- start.setTime(start.getTime() - 3600 * 1e3 * 24 * 59);
103
- return [start, end];
104
- }
105
- },
106
- {
107
- text: "\u8FD190\u5929",
108
- value: () => {
109
- const end = /* @__PURE__ */ new Date();
110
- const start = /* @__PURE__ */ new Date();
111
- start.setTime(start.getTime() - 3600 * 1e3 * 24 * 89);
112
- return [start, end];
113
- }
114
- }
115
- ]
116
+ values: daterangeShortcutValue
117
+ },
118
+ {
119
+ type: "datetimerange",
120
+ values: daterangeShortcutValue
116
121
  }
117
122
  ];
118
123
  return shortcuts.find((it) => it.type === type)?.values ?? [];
@@ -1 +1 @@
1
- {"version":3,"file":"dateShortcuts.js","sources":["../../../../../../packages/utils/src/date/dateShortcuts.ts"],"sourcesContent":["import dayjs from 'dayjs';\n/**\n * 日期快捷选项\n * @param type\n * @returns\n */\nexport const getDateShortcuts = (type: string) => {\n const shortcuts = [\n {\n type: 'date',\n values: [\n {\n text: '今天',\n value: () => new Date(),\n },\n {\n text: '昨天',\n value: () => {\n const date = new Date();\n date.setTime(date.getTime() - 3600 * 1000 * 24);\n return date;\n },\n },\n {\n text: '一周前',\n value: () => {\n const date = new Date();\n date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);\n return date;\n },\n },\n ],\n },\n {\n type: 'daterange',\n values: [\n {\n text: '本周',\n value: () => {\n const start = dayjs().startOf('week').toDate(); // 本周开始日期\n const end = dayjs().endOf('week').toDate(); // 本周结束日期\n return [start, end];\n },\n },\n {\n text: '本月',\n value: () => {\n const start = dayjs().startOf('month').toDate(); // 本周开始日期\n const end = dayjs().endOf('month').toDate(); // 本周结束日期\n return [start, end];\n },\n },\n {\n text: '上月',\n value: () => {\n // 获取当前日期\n const now = dayjs();\n\n // 获取当前月份的第一天\n const startOfThisMonth = now.startOf('month');\n\n // 获取上个月的最后一天(即这个月的第一天的前一天)\n const endOfLastMonth = startOfThisMonth.subtract(1, 'day');\n\n // 获取上个月的第一天\n const startOfLastMonth = endOfLastMonth.startOf('month');\n return [startOfLastMonth.toDate(), endOfLastMonth.toDate()];\n },\n },\n {\n text: '近3天',\n value: () => {\n const end = new Date();\n const start = new Date();\n start.setTime(start.getTime() - 3600 * 1000 * 24 * 2);\n return [start, end];\n },\n },\n\n {\n text: '近7天',\n value: () => {\n const end = new Date();\n const start = new Date();\n start.setTime(start.getTime() - 3600 * 1000 * 24 * 6);\n return [start, end];\n },\n },\n {\n text: '近15天',\n value: () => {\n const end = new Date();\n const start = new Date();\n start.setTime(start.getTime() - 3600 * 1000 * 24 * 14);\n return [start, end];\n },\n },\n\n {\n text: '近30天',\n value: () => {\n const end = new Date();\n const start = new Date();\n start.setTime(start.getTime() - 3600 * 1000 * 24 * 29);\n return [start, end];\n },\n },\n {\n text: '近60天',\n value: () => {\n const end = new Date();\n const start = new Date();\n start.setTime(start.getTime() - 3600 * 1000 * 24 * 59);\n return [start, end];\n },\n },\n {\n text: '近90天',\n value: () => {\n const end = new Date();\n const start = new Date();\n start.setTime(start.getTime() - 3600 * 1000 * 24 * 89);\n return [start, end];\n },\n },\n ],\n },\n ];\n return shortcuts.find(it => it.type === type)?.values ?? [];\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dateShortcuts.js","sources":["../../../../../../packages/utils/src/date/dateShortcuts.ts"],"sourcesContent":["import dayjs from 'dayjs';\n/**\n * 日期快捷选项\n * @param type\n * @returns\n */\nexport const getDateShortcuts = (type: string) => {\n const daterangeShortcutValue = [\n {\n text: '本周',\n value: () => {\n const start = dayjs().startOf('week').toDate(); // 本周开始日期\n const end = dayjs().endOf('week').toDate(); // 本周结束日期\n return [start, end];\n },\n },\n {\n text: '本月',\n value: () => {\n const start = dayjs().startOf('month').toDate(); // 本周开始日期\n const end = dayjs().endOf('month').toDate(); // 本周结束日期\n return [start, end];\n },\n },\n {\n text: '上月',\n value: () => {\n // 获取当前日期\n const now = dayjs();\n\n // 获取当前月份的第一天\n const startOfThisMonth = now.startOf('month');\n\n // 获取上个月的最后一天(即这个月的第一天的前一天)\n const endOfLastMonth = startOfThisMonth.subtract(1, 'day');\n\n // 获取上个月的第一天\n const startOfLastMonth = endOfLastMonth.startOf('month');\n return [startOfLastMonth.toDate(), endOfLastMonth.toDate()];\n },\n },\n {\n text: '近3天',\n value: () => {\n const end = new Date();\n const start = new Date();\n start.setTime(start.getTime() - 3600 * 1000 * 24 * 2);\n return [start, end];\n },\n },\n\n {\n text: '近7天',\n value: () => {\n const end = new Date();\n const start = new Date();\n start.setTime(start.getTime() - 3600 * 1000 * 24 * 6);\n return [start, end];\n },\n },\n {\n text: '近15天',\n value: () => {\n const end = new Date();\n const start = new Date();\n start.setTime(start.getTime() - 3600 * 1000 * 24 * 14);\n return [start, end];\n },\n },\n\n {\n text: '近30天',\n value: () => {\n const end = new Date();\n const start = new Date();\n start.setTime(start.getTime() - 3600 * 1000 * 24 * 29);\n return [start, end];\n },\n },\n {\n text: '近60天',\n value: () => {\n const end = new Date();\n const start = new Date();\n start.setTime(start.getTime() - 3600 * 1000 * 24 * 59);\n return [start, end];\n },\n },\n {\n text: '近90天',\n value: () => {\n const end = new Date();\n const start = new Date();\n start.setTime(start.getTime() - 3600 * 1000 * 24 * 89);\n return [start, end];\n },\n },\n ];\n const shortcuts = [\n {\n type: 'date',\n values: [\n {\n text: '今天',\n value: () => new Date(),\n },\n {\n text: '昨天',\n value: () => {\n const date = new Date();\n date.setTime(date.getTime() - 3600 * 1000 * 24);\n return date;\n },\n },\n {\n text: '一周前',\n value: () => {\n const date = new Date();\n date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);\n return date;\n },\n },\n ],\n },\n {\n type: 'daterange',\n values: daterangeShortcutValue,\n },\n {\n type: 'datetimerange',\n values: daterangeShortcutValue,\n },\n ];\n return shortcuts.find(it => it.type === type)?.values ?? [];\n};\n"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ export { genFileId } from 'element-plus';
1
2
  export interface FileConversionOptions {
2
3
  mimeType?: string;
3
4
  }
@@ -89,9 +90,3 @@ export declare const getVideoInfo: (url: string) => Promise<{
89
90
  height: number;
90
91
  duration: number;
91
92
  }>;
92
- /**
93
- * 下载文件
94
- * @param url 文件链接
95
- * @param filename 文件名
96
- */
97
- export declare const downloadFile: (url: string, filename?: string) => void;
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var jsMd5 = require('js-md5');
4
+ var elementPlus = require('element-plus');
4
5
 
5
6
  async function urlToBlob(url) {
6
7
  const response = await fetch(url);
@@ -105,20 +106,15 @@ const getVideoInfo = (url) => {
105
106
  video.src = url;
106
107
  });
107
108
  };
108
- const downloadFile = (url, filename = "\u4E0B\u8F7D\u6587\u4EF6") => {
109
- fetch(url).then((response) => response.blob()).then((blob) => {
110
- const a = document.createElement("a");
111
- a.href = URL.createObjectURL(blob);
112
- a.download = filename;
113
- a.click();
114
- });
115
- };
116
109
 
110
+ Object.defineProperty(exports, "genFileId", {
111
+ enumerable: true,
112
+ get: function () { return elementPlus.genFileId; }
113
+ });
117
114
  exports.base64ToBlob = base64ToBlob;
118
115
  exports.base64ToFile = base64ToFile;
119
116
  exports.blobToBase64 = blobToBase64;
120
117
  exports.blobToFile = blobToFile;
121
- exports.downloadFile = downloadFile;
122
118
  exports.fileMd5 = fileMd5;
123
119
  exports.fileToBase64 = fileToBase64;
124
120
  exports.fileToBlob = fileToBlob;
@@ -1 +1 @@
1
- {"version":3,"file":"file.js","sources":["../../../../../packages/utils/src/file.ts"],"sourcesContent":["import { md5 } from 'js-md5';\n\nexport interface FileConversionOptions {\n mimeType?: string;\n}\n/**\n * 将 URL 转换为 Blob\n * @param url\n * @returns\n */\nexport async function urlToBlob(url: string): Promise<Blob> {\n const response = await fetch(url);\n return response.blob();\n}\n\n/**\n * 将 URL 转换为 File\n * @param url\n * @param filename\n * @param options\n * @returns\n */\nexport async function urlToFile(url: string, filename: string, options?: FileConversionOptions): Promise<File> {\n const blob = await urlToBlob(url);\n return new File([blob], filename, { type: options?.mimeType ?? blob.type });\n}\n\n/**\n * 将 Base64 字符串转换为 File\n * @param base64\n * @param filename\n * @param options\n * @returns\n */\nexport function base64ToFile(base64: string, filename: string, options?: FileConversionOptions): File {\n const bolb = base64ToBlob(base64, { mimeType: options?.mimeType });\n return blobToFile(bolb, filename);\n}\n\n/**\n * 将 File 转换为 Base64 字符串\n * @param file\n * @returns\n */\nexport function fileToBase64(file: File): Promise<string> {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => resolve(reader.result as string);\n reader.onerror = reject;\n reader.readAsDataURL(file);\n });\n}\n\n/**\n * 将 Blob 转换为 Base64 字符串\n * @param blob\n * @returns\n */\nexport function blobToBase64(blob: Blob): Promise<string> {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => resolve(reader.result as string);\n reader.onerror = reject;\n reader.readAsDataURL(blob);\n });\n}\n\n/**\n * 将 File 转换为 Blob\n * @param file\n * @param options\n * @returns\n */\nexport function fileToBlob(file: File, options?: FileConversionOptions): Blob {\n return new Blob([file], { type: options?.mimeType ?? file.type });\n}\n\n/**\n * 将 Blob 转换为 File\n * @param blob\n * @param filename\n * @param options\n * @returns\n */\nexport function blobToFile(blob: Blob, filename: string, options?: FileConversionOptions): File {\n return new File([blob], filename, { type: options?.mimeType ?? blob.type });\n}\n\n/**\n * 将 Base64 字符串转换为 Blob\n * @param base64\n * @param options\n * @returns\n */\nexport function base64ToBlob(base64: string, options?: FileConversionOptions): Blob {\n const matches = base64.match(/^data:(.+);base64,(.*)$/);\n\n if (!matches || matches.length !== 3) {\n throw new Error('Invalid Base64 string');\n }\n\n const mimeType = options?.mimeType ?? matches[1];\n const byteString = atob(matches[2]);\n const arrayBuffer = new ArrayBuffer(byteString.length);\n const intArray = new Uint8Array(arrayBuffer);\n\n for (let i = 0; i < byteString.length; i++) {\n intArray[i] = byteString.charCodeAt(i);\n }\n\n return new Blob([intArray], { type: mimeType });\n}\n/**\n * 文件转本地url\n * @param file\n * @returns\n */\nexport function fileToUrl(file: File | Blob) {\n return URL.createObjectURL(file);\n}\n\n// 导出一个函数,用于检查文件类型是否合法\nexport function fileValidType(file: File, validTypes: string) {\n // 获取文件的 MIME 类型\n const fileType = file.type || '';\n // 获取文件的扩展名\n const fileExtension = file.name.slice(Math.max(0, file.name.lastIndexOf('.')));\n // 将合法的文件类型字符串分割成数组\n const acceptTypes = validTypes.split(',').map(type => type.trim());\n // 遍历合法的文件类型数组,检查文件类型是否合法\n return acceptTypes.some(type => {\n // 如果文件类型以 . 开头,则检查文件扩展名\n if (type.startsWith('.')) {\n // 检查文件扩展名是否与合法的文件类型匹配\n return fileExtension.toLowerCase() === type.toLowerCase();\n // 如果文件类型包含 /*,则检查 MIME 类型组,如 image/*\n } else if (type.includes('/*')) {\n // 检查 MIME 类型组,如 image/*\n const [mainType] = type.split('/');\n return fileType.startsWith(`${mainType}/`);\n } else {\n // 检查具体 MIME 类型\n return fileType === type;\n }\n });\n}\n\n/**\n * 计算文件的MD5哈希值\n * @param file 要计算哈希值的文件\n * @returns 文件的MD5哈希值\n */\nexport const fileMd5 = (file: File): Promise<string> => {\n return new Promise<string>((resolve, reject) => {\n const reader = new FileReader();\n\n reader.onload = e => {\n try {\n const binary = (e.target as FileReader).result;\n if (binary) {\n resolve(md5(binary));\n } else {\n reject(new Error('读取文件内容失败'));\n }\n } catch (error) {\n reject(new Error(`计算MD5失败: ${error instanceof Error ? error.message : String(error)}`));\n }\n };\n\n reader.onerror = () => {\n reject(new Error('读取文件失败'));\n };\n\n reader.readAsArrayBuffer(file);\n });\n};\n\n/**\n * 获取图片宽高信息\n * @param url 图片链接\n * @returns 图片宽高信息\n */\nexport const getImageInfo = (url: string): Promise<{ width: number; height: number }> => {\n return new Promise((resolve, reject) => {\n const img = new Image();\n img.onload = () => resolve({ width: img.width, height: img.height });\n img.onerror = reject;\n img.src = url;\n });\n};\n\n/**\n * 获取视频信息\n * @param url 视频链接\n * @returns 视频宽高信息\n */\nexport const getVideoInfo = (url: string): Promise<{ width: number; height: number; duration: number }> => {\n return new Promise((resolve, reject) => {\n const video = document.createElement('video');\n video.onloadedmetadata = () => resolve({ width: video.videoWidth, height: video.videoHeight, duration: video.duration });\n video.onerror = reject;\n video.src = url;\n });\n};\n\n/**\n * 下载文件\n * @param url 文件链接\n * @param filename 文件名\n */\nexport const downloadFile = (url: string, filename: string = '下载文件') => {\n fetch(url)\n .then(response => response.blob())\n .then(blob => {\n const a = document.createElement('a');\n a.href = URL.createObjectURL(blob);\n a.download = filename;\n a.click();\n });\n};\n"],"names":["md5"],"mappings":"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"}
1
+ {"version":3,"file":"file.js","sources":["../../../../../packages/utils/src/file.ts"],"sourcesContent":["import { md5 } from 'js-md5';\n\nexport { genFileId } from 'element-plus';\n\nexport interface FileConversionOptions {\n mimeType?: string;\n}\n/**\n * 将 URL 转换为 Blob\n * @param url\n * @returns\n */\nexport async function urlToBlob(url: string): Promise<Blob> {\n const response = await fetch(url);\n return response.blob();\n}\n\n/**\n * 将 URL 转换为 File\n * @param url\n * @param filename\n * @param options\n * @returns\n */\nexport async function urlToFile(url: string, filename: string, options?: FileConversionOptions): Promise<File> {\n const blob = await urlToBlob(url);\n return new File([blob], filename, { type: options?.mimeType ?? blob.type });\n}\n\n/**\n * 将 Base64 字符串转换为 File\n * @param base64\n * @param filename\n * @param options\n * @returns\n */\nexport function base64ToFile(base64: string, filename: string, options?: FileConversionOptions): File {\n const bolb = base64ToBlob(base64, { mimeType: options?.mimeType });\n return blobToFile(bolb, filename);\n}\n\n/**\n * 将 File 转换为 Base64 字符串\n * @param file\n * @returns\n */\nexport function fileToBase64(file: File): Promise<string> {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => resolve(reader.result as string);\n reader.onerror = reject;\n reader.readAsDataURL(file);\n });\n}\n\n/**\n * 将 Blob 转换为 Base64 字符串\n * @param blob\n * @returns\n */\nexport function blobToBase64(blob: Blob): Promise<string> {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => resolve(reader.result as string);\n reader.onerror = reject;\n reader.readAsDataURL(blob);\n });\n}\n\n/**\n * 将 File 转换为 Blob\n * @param file\n * @param options\n * @returns\n */\nexport function fileToBlob(file: File, options?: FileConversionOptions): Blob {\n return new Blob([file], { type: options?.mimeType ?? file.type });\n}\n\n/**\n * 将 Blob 转换为 File\n * @param blob\n * @param filename\n * @param options\n * @returns\n */\nexport function blobToFile(blob: Blob, filename: string, options?: FileConversionOptions): File {\n return new File([blob], filename, { type: options?.mimeType ?? blob.type });\n}\n\n/**\n * 将 Base64 字符串转换为 Blob\n * @param base64\n * @param options\n * @returns\n */\nexport function base64ToBlob(base64: string, options?: FileConversionOptions): Blob {\n const matches = base64.match(/^data:(.+);base64,(.*)$/);\n\n if (!matches || matches.length !== 3) {\n throw new Error('Invalid Base64 string');\n }\n\n const mimeType = options?.mimeType ?? matches[1];\n const byteString = atob(matches[2]);\n const arrayBuffer = new ArrayBuffer(byteString.length);\n const intArray = new Uint8Array(arrayBuffer);\n\n for (let i = 0; i < byteString.length; i++) {\n intArray[i] = byteString.charCodeAt(i);\n }\n\n return new Blob([intArray], { type: mimeType });\n}\n/**\n * 文件转本地url\n * @param file\n * @returns\n */\nexport function fileToUrl(file: File | Blob) {\n return URL.createObjectURL(file);\n}\n\n// 导出一个函数,用于检查文件类型是否合法\nexport function fileValidType(file: File, validTypes: string) {\n // 获取文件的 MIME 类型\n const fileType = file.type || '';\n // 获取文件的扩展名\n const fileExtension = file.name.slice(Math.max(0, file.name.lastIndexOf('.')));\n // 将合法的文件类型字符串分割成数组\n const acceptTypes = validTypes.split(',').map(type => type.trim());\n // 遍历合法的文件类型数组,检查文件类型是否合法\n return acceptTypes.some(type => {\n // 如果文件类型以 . 开头,则检查文件扩展名\n if (type.startsWith('.')) {\n // 检查文件扩展名是否与合法的文件类型匹配\n return fileExtension.toLowerCase() === type.toLowerCase();\n // 如果文件类型包含 /*,则检查 MIME 类型组,如 image/*\n } else if (type.includes('/*')) {\n // 检查 MIME 类型组,如 image/*\n const [mainType] = type.split('/');\n return fileType.startsWith(`${mainType}/`);\n } else {\n // 检查具体 MIME 类型\n return fileType === type;\n }\n });\n}\n\n/**\n * 计算文件的MD5哈希值\n * @param file 要计算哈希值的文件\n * @returns 文件的MD5哈希值\n */\nexport const fileMd5 = (file: File): Promise<string> => {\n return new Promise<string>((resolve, reject) => {\n const reader = new FileReader();\n\n reader.onload = e => {\n try {\n const binary = (e.target as FileReader).result;\n if (binary) {\n resolve(md5(binary));\n } else {\n reject(new Error('读取文件内容失败'));\n }\n } catch (error) {\n reject(new Error(`计算MD5失败: ${error instanceof Error ? error.message : String(error)}`));\n }\n };\n\n reader.onerror = () => {\n reject(new Error('读取文件失败'));\n };\n\n reader.readAsArrayBuffer(file);\n });\n};\n\n/**\n * 获取图片宽高信息\n * @param url 图片链接\n * @returns 图片宽高信息\n */\nexport const getImageInfo = (url: string): Promise<{ width: number; height: number }> => {\n return new Promise((resolve, reject) => {\n const img = new Image();\n img.onload = () => resolve({ width: img.width, height: img.height });\n img.onerror = reject;\n img.src = url;\n });\n};\n\n/**\n * 获取视频信息\n * @param url 视频链接\n * @returns 视频宽高信息\n */\nexport const getVideoInfo = (url: string): Promise<{ width: number; height: number; duration: number }> => {\n return new Promise((resolve, reject) => {\n const video = document.createElement('video');\n video.onloadedmetadata = () => resolve({ width: video.videoWidth, height: video.videoHeight, duration: video.duration });\n video.onerror = reject;\n video.src = url;\n });\n};\n"],"names":["md5"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import type { AxiosInstance, InternalAxiosRequestConfig } from 'axios';
2
- export declare const res401Interceptors: (service: AxiosInstance, config: InternalAxiosRequestConfig) => Promise<import("axios").AxiosResponse<any, any>>;
2
+ export declare const res401Interceptors: (service?: AxiosInstance, config?: InternalAxiosRequestConfig) => Promise<import("axios").AxiosResponse<any, any>>;
3
3
  export declare const req401Interceptors: () => boolean;
@@ -23,7 +23,10 @@ const res401Interceptors = async (service, config) => {
23
23
  if (!res) {
24
24
  return Promise.reject({ code: 400, data: null, message: "\u767B\u5F55\u5F39\u7A97\u5DF2\u5173\u95ED" });
25
25
  }
26
- return service(config);
26
+ if (service && config) {
27
+ return service(config);
28
+ }
29
+ return Promise.reject("\u672C\u6B21\u8BF7\u6C42\u7ED3\u675F");
27
30
  };
28
31
  const req401Interceptors = () => {
29
32
  const logingStore = index.useLoginStore();
@@ -1 +1 @@
1
- {"version":3,"file":"interceptors.js","sources":["../../../../../../packages/utils/src/http/interceptors.ts"],"sourcesContent":["import Cookie from 'js-cookie';\nimport { ElMessage } from 'element-plus';\nimport { useLoginStore } from '@giime/hooks/store/useLogin';\nimport type { AxiosInstance, InternalAxiosRequestConfig } from 'axios';\n\n// 响应拦截器中 401时 展示登录弹窗\nexport const res401Interceptors = async (service: AxiosInstance, config: InternalAxiosRequestConfig) => {\n const logingStore = useLoginStore();\n Cookie.remove('token', { domain: '.giikin.com' });\n Cookie.remove('token', { domain: '.giikin.cn' });\n Cookie.remove('token');\n logingStore.userToken = undefined;\n logingStore.userId = undefined;\n // Vue.prototype.$hideLoading();\n logingStore.showLogin = true;\n ElMessage({\n message: '请在弹框中重新登录',\n type: 'error',\n duration: 5 * 1000,\n grouping: true,\n showClose: true,\n });\n // 登录成功后重新发起请求\n // 等待登录 或 等待关闭登录弹窗\n const res = await Promise.race([logingStore.onLoginResultPromise(), logingStore.onCloseLoginResultPromise()]);\n if (!res) {\n return Promise.reject({ code: 400, data: null, message: '登录弹窗已关闭' });\n }\n // 重新发送请求\n return service(config);\n // return Promise.resolve({ code: 400, data: null, message: '请重新登录' });\n // return Promise.reject('请重新登录');\n};\n// 请求拦截器中,没有token时 展示登录弹窗\nexport const req401Interceptors = () => {\n const logingStore = useLoginStore();\n // Vue.prototype.$hideLoading();\n ElMessage({\n message: '请在弹框中重新登录',\n type: 'error',\n duration: 5 * 1000,\n grouping: true,\n showClose: true,\n });\n return (logingStore.showLogin = true);\n};\n"],"names":["useLoginStore","Cookie","ElMessage"],"mappings":";;;;;;AAMa,MAAA,kBAAA,GAAqB,OAAO,OAAA,EAAwB,MAAuC,KAAA;AACtG,EAAA,MAAM,cAAcA,mBAAc,EAAA,CAAA;AAClC,EAAAC,OAAA,CAAO,MAAO,CAAA,OAAA,EAAS,EAAE,MAAA,EAAQ,eAAe,CAAA,CAAA;AAChD,EAAAA,OAAA,CAAO,MAAO,CAAA,OAAA,EAAS,EAAE,MAAA,EAAQ,cAAc,CAAA,CAAA;AAC/C,EAAAA,OAAA,CAAO,OAAO,OAAO,CAAA,CAAA;AACrB,EAAA,WAAA,CAAY,SAAY,GAAA,KAAA,CAAA,CAAA;AACxB,EAAA,WAAA,CAAY,MAAS,GAAA,KAAA,CAAA,CAAA;AAErB,EAAA,WAAA,CAAY,SAAY,GAAA,IAAA,CAAA;AACxB,EAAUC,qBAAA,CAAA;AAAA,IACR,OAAS,EAAA,wDAAA;AAAA,IACT,IAAM,EAAA,OAAA;AAAA,IACN,UAAU,CAAI,GAAA,GAAA;AAAA,IACd,QAAU,EAAA,IAAA;AAAA,IACV,SAAW,EAAA,IAAA;AAAA,GACZ,CAAA,CAAA;AAGD,EAAM,MAAA,GAAA,GAAM,MAAM,OAAA,CAAQ,IAAK,CAAA,CAAC,WAAY,CAAA,oBAAA,EAAwB,EAAA,WAAA,CAAY,yBAA0B,EAAC,CAAC,CAAA,CAAA;AAC5G,EAAA,IAAI,CAAC,GAAK,EAAA;AACR,IAAO,OAAA,OAAA,CAAQ,OAAO,EAAE,IAAA,EAAM,KAAK,IAAM,EAAA,IAAA,EAAM,OAAS,EAAA,4CAAA,EAAW,CAAA,CAAA;AAAA,GACrE;AAEA,EAAA,OAAO,QAAQ,MAAM,CAAA,CAAA;AAGvB,EAAA;AAEO,MAAM,qBAAqB,MAAM;AACtC,EAAA,MAAM,cAAcF,mBAAc,EAAA,CAAA;AAElC,EAAUE,qBAAA,CAAA;AAAA,IACR,OAAS,EAAA,wDAAA;AAAA,IACT,IAAM,EAAA,OAAA;AAAA,IACN,UAAU,CAAI,GAAA,GAAA;AAAA,IACd,QAAU,EAAA,IAAA;AAAA,IACV,SAAW,EAAA,IAAA;AAAA,GACZ,CAAA,CAAA;AACD,EAAA,OAAQ,YAAY,SAAY,GAAA,IAAA,CAAA;AAClC;;;;;"}
1
+ {"version":3,"file":"interceptors.js","sources":["../../../../../../packages/utils/src/http/interceptors.ts"],"sourcesContent":["import Cookie from 'js-cookie';\nimport { ElMessage } from 'element-plus';\nimport { useLoginStore } from '@giime/hooks/store/useLogin';\nimport type { AxiosInstance, InternalAxiosRequestConfig } from 'axios';\n\n// 响应拦截器中 401时 展示登录弹窗\nexport const res401Interceptors = async (service?: AxiosInstance, config?: InternalAxiosRequestConfig) => {\n const logingStore = useLoginStore();\n Cookie.remove('token', { domain: '.giikin.com' });\n Cookie.remove('token', { domain: '.giikin.cn' });\n Cookie.remove('token');\n logingStore.userToken = undefined;\n logingStore.userId = undefined;\n // Vue.prototype.$hideLoading();\n logingStore.showLogin = true;\n ElMessage({\n message: '请在弹框中重新登录',\n type: 'error',\n duration: 5 * 1000,\n grouping: true,\n showClose: true,\n });\n // 登录成功后重新发起请求\n // 等待登录 或 等待关闭登录弹窗\n const res = await Promise.race([logingStore.onLoginResultPromise(), logingStore.onCloseLoginResultPromise()]);\n if (!res) {\n return Promise.reject({ code: 400, data: null, message: '登录弹窗已关闭' });\n }\n // 重新发送请求\n if (service && config) {\n return service(config);\n }\n return Promise.reject('本次请求结束');\n // return Promise.reject('请重新登录');\n};\n// 请求拦截器中,没有token时 展示登录弹窗\nexport const req401Interceptors = () => {\n const logingStore = useLoginStore();\n // Vue.prototype.$hideLoading();\n ElMessage({\n message: '请在弹框中重新登录',\n type: 'error',\n duration: 5 * 1000,\n grouping: true,\n showClose: true,\n });\n return (logingStore.showLogin = true);\n};\n"],"names":["useLoginStore","Cookie","ElMessage"],"mappings":";;;;;;AAMa,MAAA,kBAAA,GAAqB,OAAO,OAAA,EAAyB,MAAwC,KAAA;AACxG,EAAA,MAAM,cAAcA,mBAAc,EAAA,CAAA;AAClC,EAAAC,OAAA,CAAO,MAAO,CAAA,OAAA,EAAS,EAAE,MAAA,EAAQ,eAAe,CAAA,CAAA;AAChD,EAAAA,OAAA,CAAO,MAAO,CAAA,OAAA,EAAS,EAAE,MAAA,EAAQ,cAAc,CAAA,CAAA;AAC/C,EAAAA,OAAA,CAAO,OAAO,OAAO,CAAA,CAAA;AACrB,EAAA,WAAA,CAAY,SAAY,GAAA,KAAA,CAAA,CAAA;AACxB,EAAA,WAAA,CAAY,MAAS,GAAA,KAAA,CAAA,CAAA;AAErB,EAAA,WAAA,CAAY,SAAY,GAAA,IAAA,CAAA;AACxB,EAAUC,qBAAA,CAAA;AAAA,IACR,OAAS,EAAA,wDAAA;AAAA,IACT,IAAM,EAAA,OAAA;AAAA,IACN,UAAU,CAAI,GAAA,GAAA;AAAA,IACd,QAAU,EAAA,IAAA;AAAA,IACV,SAAW,EAAA,IAAA;AAAA,GACZ,CAAA,CAAA;AAGD,EAAM,MAAA,GAAA,GAAM,MAAM,OAAA,CAAQ,IAAK,CAAA,CAAC,WAAY,CAAA,oBAAA,EAAwB,EAAA,WAAA,CAAY,yBAA0B,EAAC,CAAC,CAAA,CAAA;AAC5G,EAAA,IAAI,CAAC,GAAK,EAAA;AACR,IAAO,OAAA,OAAA,CAAQ,OAAO,EAAE,IAAA,EAAM,KAAK,IAAM,EAAA,IAAA,EAAM,OAAS,EAAA,4CAAA,EAAW,CAAA,CAAA;AAAA,GACrE;AAEA,EAAA,IAAI,WAAW,MAAQ,EAAA;AACrB,IAAA,OAAO,QAAQ,MAAM,CAAA,CAAA;AAAA,GACvB;AACA,EAAO,OAAA,OAAA,CAAQ,OAAO,sCAAQ,CAAA,CAAA;AAEhC,EAAA;AAEO,MAAM,qBAAqB,MAAM;AACtC,EAAA,MAAM,cAAcF,mBAAc,EAAA,CAAA;AAElC,EAAUE,qBAAA,CAAA;AAAA,IACR,OAAS,EAAA,wDAAA;AAAA,IACT,IAAM,EAAA,OAAA;AAAA,IACN,UAAU,CAAI,GAAA,GAAA;AAAA,IACd,QAAU,EAAA,IAAA;AAAA,IACV,SAAW,EAAA,IAAA;AAAA,GACZ,CAAA,CAAA;AACD,EAAA,OAAQ,YAAY,SAAY,GAAA,IAAA,CAAA;AAClC;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "giime",
3
- "version": "0.6.35",
3
+ "version": "0.6.37",
4
4
  "description": "A Component Library for Vue 3",
5
5
  "keywords": [
6
6
  "giime",