giime 0.6.3 → 0.6.4

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 (90) hide show
  1. package/dist/index.css +57 -56
  2. package/es/api/materialApi/cross/getAdFileExist.d.ts +1 -0
  3. package/es/api/materialApi/cross/getAdFileExist.mjs.map +1 -1
  4. package/es/components/src/base/chart/Chart.vue.d.ts +2 -2
  5. package/es/components/src/base/chart/index.d.ts +2 -2
  6. package/es/components/src/base/empty/Empty.vue.d.ts +1 -1
  7. package/es/components/src/base/empty/index.d.ts +3 -3
  8. package/es/components/src/business/uploadMaterial/UploadMaterial.vue.d.ts +4 -4
  9. package/es/components/src/business/uploadMaterial/index.d.ts +4 -4
  10. package/es/components/src/business/uploadMaterial/uploadMaterial.d.ts +2 -5
  11. package/es/components/src/business/uploadMaterial/uploadMaterial.mjs.map +1 -1
  12. package/es/components/src/composite/fileComponent/FileComponent.vue.d.ts +1 -1
  13. package/es/components/src/composite/fileComponent/index.d.ts +1 -1
  14. package/es/components/src/composite/importDialog/ImportDialog.vue.d.ts +9 -2
  15. package/es/components/src/composite/importDialog/ImportDialog.vue2.mjs +5 -4
  16. package/es/components/src/composite/importDialog/ImportDialog.vue2.mjs.map +1 -1
  17. package/es/components/src/composite/importDialog/index.d.ts +193 -49
  18. package/es/components/src/composite/previewFile/PreviewFile.vue.d.ts +1 -1
  19. package/es/components/src/composite/previewFile/index.d.ts +1 -1
  20. package/es/components/src/composite/uploadFile/UploadFile.vue.d.ts +5 -5
  21. package/es/components/src/composite/uploadFile/UploadFile.vue.mjs +1 -1
  22. package/es/components/src/composite/uploadFile/UploadFile.vue2.mjs +156 -145
  23. package/es/components/src/composite/uploadFile/UploadFile.vue2.mjs.map +1 -1
  24. package/es/components/src/composite/uploadFile/index.d.ts +12 -12
  25. package/es/giime/index.mjs +2 -1
  26. package/es/giime/index.mjs.map +1 -1
  27. package/es/giime/version.d.ts +1 -1
  28. package/es/giime/version.mjs +1 -1
  29. package/es/giime/version.mjs.map +1 -1
  30. package/es/hooks/base/usePasteFile/index.d.ts +89 -0
  31. package/es/hooks/base/usePasteFile/index.mjs +109 -0
  32. package/es/hooks/base/usePasteFile/index.mjs.map +1 -0
  33. package/es/index.css +57 -56
  34. package/es/utils/index.d.ts +1 -0
  35. package/es/utils/index.mjs +2 -1
  36. package/es/utils/index.mjs.map +1 -1
  37. package/es/utils/src/alioss/aliossPutHook.d.ts +116 -41
  38. package/es/utils/src/alioss/aliossPutHook.mjs +165 -97
  39. package/es/utils/src/alioss/aliossPutHook.mjs.map +1 -1
  40. package/es/utils/src/file.d.ts +7 -0
  41. package/es/utils/src/file.mjs +39 -1
  42. package/es/utils/src/file.mjs.map +1 -1
  43. package/es/utils/src/pasteFile/index.d.ts +33 -0
  44. package/es/utils/src/pasteFile/index.mjs +142 -0
  45. package/es/utils/src/pasteFile/index.mjs.map +1 -0
  46. package/lib/api/materialApi/cross/getAdFileExist.d.ts +1 -0
  47. package/lib/api/materialApi/cross/getAdFileExist.js.map +1 -1
  48. package/lib/components/src/base/chart/Chart.vue.d.ts +2 -2
  49. package/lib/components/src/base/chart/index.d.ts +2 -2
  50. package/lib/components/src/base/empty/Empty.vue.d.ts +1 -1
  51. package/lib/components/src/base/empty/index.d.ts +3 -3
  52. package/lib/components/src/business/uploadMaterial/UploadMaterial.vue.d.ts +4 -4
  53. package/lib/components/src/business/uploadMaterial/index.d.ts +4 -4
  54. package/lib/components/src/business/uploadMaterial/uploadMaterial.d.ts +2 -5
  55. package/lib/components/src/business/uploadMaterial/uploadMaterial.js.map +1 -1
  56. package/lib/components/src/composite/fileComponent/FileComponent.vue.d.ts +1 -1
  57. package/lib/components/src/composite/fileComponent/index.d.ts +1 -1
  58. package/lib/components/src/composite/importDialog/ImportDialog.vue.d.ts +9 -2
  59. package/lib/components/src/composite/importDialog/ImportDialog.vue2.js +4 -3
  60. package/lib/components/src/composite/importDialog/ImportDialog.vue2.js.map +1 -1
  61. package/lib/components/src/composite/importDialog/index.d.ts +193 -49
  62. package/lib/components/src/composite/previewFile/PreviewFile.vue.d.ts +1 -1
  63. package/lib/components/src/composite/previewFile/index.d.ts +1 -1
  64. package/lib/components/src/composite/uploadFile/UploadFile.vue.d.ts +5 -5
  65. package/lib/components/src/composite/uploadFile/UploadFile.vue.js +1 -1
  66. package/lib/components/src/composite/uploadFile/UploadFile.vue2.js +160 -149
  67. package/lib/components/src/composite/uploadFile/UploadFile.vue2.js.map +1 -1
  68. package/lib/components/src/composite/uploadFile/index.d.ts +12 -12
  69. package/lib/giime/index.js +334 -328
  70. package/lib/giime/index.js.map +1 -1
  71. package/lib/giime/version.d.ts +1 -1
  72. package/lib/giime/version.js +1 -1
  73. package/lib/giime/version.js.map +1 -1
  74. package/lib/hooks/base/usePasteFile/index.d.ts +89 -0
  75. package/lib/hooks/base/usePasteFile/index.js +111 -0
  76. package/lib/hooks/base/usePasteFile/index.js.map +1 -0
  77. package/lib/index.css +57 -56
  78. package/lib/utils/index.d.ts +1 -0
  79. package/lib/utils/index.js +6 -0
  80. package/lib/utils/index.js.map +1 -1
  81. package/lib/utils/src/alioss/aliossPutHook.d.ts +116 -41
  82. package/lib/utils/src/alioss/aliossPutHook.js +165 -97
  83. package/lib/utils/src/alioss/aliossPutHook.js.map +1 -1
  84. package/lib/utils/src/file.d.ts +7 -0
  85. package/lib/utils/src/file.js +40 -0
  86. package/lib/utils/src/file.js.map +1 -1
  87. package/lib/utils/src/pasteFile/index.d.ts +33 -0
  88. package/lib/utils/src/pasteFile/index.js +146 -0
  89. package/lib/utils/src/pasteFile/index.js.map +1 -0
  90. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../packages/giime/index.ts"],"sourcesContent":["import installer from './defaults';\r\nimport './tailwind.css';\r\nexport * from '@giime/utils';\r\nexport * from '@giime/components';\r\nexport * from '@giime/hooks';\r\n// export * from '@giime/api'; // 用户通过giime/es/api 导入类型\r\nexport const install = installer.install;\r\nexport const version = installer.version;\r\nexport default installer;\r\n"],"names":["installer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMO,MAAM,UAAUA,gBAAU,CAAA,QAAA;AAC1B,MAAM,UAAUA,gBAAU,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../packages/giime/index.ts"],"sourcesContent":["import installer from './defaults';\r\nimport './tailwind.css';\r\nexport * from '@giime/utils';\r\nexport * from '@giime/components';\r\nexport * from '@giime/hooks';\r\n// export * from '@giime/api'; // 用户通过giime/es/api 导入类型\r\nexport const install = installer.install;\r\nexport const version = installer.version;\r\nexport default installer;\r\n"],"names":["installer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMO,MAAM,UAAUA,gBAAU,CAAA,QAAA;AAC1B,MAAM,UAAUA,gBAAU,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- export declare const version = "0.6.3";
1
+ export declare const version = "0.6.4";
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const version = "0.6.2";
3
+ const version = "0.6.4";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.6.2';\n"],"names":[],"mappings":";;AAAO,MAAM,OAAU,GAAA;;;;"}
1
+ {"version":3,"file":"version.js","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.6.4';\n"],"names":[],"mappings":";;AAAO,MAAM,OAAU,GAAA;;;;"}
@@ -0,0 +1,89 @@
1
+ import { type MaybeRefOrGetter } from '@vueuse/core';
2
+ import type { Ref } from 'vue';
3
+ /**
4
+ * 成功回调函数类型
5
+ */
6
+ type SuccessCallback = (files: File[]) => void;
7
+ /**
8
+ * 错误回调函数类型
9
+ */
10
+ type ErrorCallback = (error: Error) => void;
11
+ /**
12
+ * 粘贴文件选项
13
+ */
14
+ export interface UsePasteFileOptions {
15
+ /**
16
+ * 允许的文件类型,例如 'image/png,image/jpeg'
17
+ */
18
+ accept?: string;
19
+ /**
20
+ * 是否禁用粘贴文件功能
21
+ */
22
+ disabled?: Ref<boolean> | boolean;
23
+ /**
24
+ * 是否自动阻止默认行为
25
+ * @default true
26
+ */
27
+ preventDefault?: boolean;
28
+ }
29
+ /**
30
+ * 粘贴文件hooks返回值类型
31
+ */
32
+ interface UsePasteFileReturn {
33
+ /**
34
+ * 添加成功回调函数
35
+ * @param callback 当成功粘贴文件时调用的回调函数
36
+ * @returns 移除该回调的函数
37
+ */
38
+ onSuccess: (callback: SuccessCallback) => () => void;
39
+ /**
40
+ * 添加错误回调函数
41
+ * @param callback 当粘贴文件出错时调用的回调函数
42
+ * @returns 移除该回调的函数
43
+ */
44
+ onError: (callback: ErrorCallback) => () => void;
45
+ /**
46
+ * 清理函数,移除事件监听器和所有回调
47
+ */
48
+ cleanup: () => void;
49
+ /**
50
+ * 是否正在处理粘贴事件
51
+ */
52
+ isProcessing: Ref<boolean>;
53
+ }
54
+ /**
55
+ * 粘贴文件hooks
56
+ * @param target 监听的DOM元素或事件目标
57
+ * @param options 配置选项
58
+ * @returns 包含onSuccess、onError、cleanup方法和isProcessing状态的对象
59
+ *
60
+ * @example
61
+ * ```ts
62
+ * const { onSuccess, onError, cleanup, isProcessing } = usePasteFile(
63
+ * document,
64
+ * {
65
+ * accept: 'image/png,image/jpeg',
66
+ * disabled: ref(false),
67
+ * preventDefault: true
68
+ * }
69
+ * );
70
+ *
71
+ * // 添加成功回调
72
+ * const removeSuccessListener = onSuccess((files) => {
73
+ * console.log('粘贴的文件:', files);
74
+ * });
75
+ *
76
+ * // 添加错误回调
77
+ * onError((error) => {
78
+ * console.error('粘贴处理错误:', error);
79
+ * });
80
+ *
81
+ * // 移除特定的成功回调
82
+ * removeSuccessListener();
83
+ *
84
+ * // 清理所有事件监听器和回调
85
+ * // cleanup();
86
+ * ```
87
+ */
88
+ export declare const usePasteFile: (target: MaybeRefOrGetter<EventTarget | null | undefined>, options?: UsePasteFileOptions) => UsePasteFileReturn;
89
+ export {};
@@ -0,0 +1,111 @@
1
+ 'use strict';
2
+
3
+ var vue = require('vue');
4
+ var core = require('@vueuse/core');
5
+ var file = require('../../../utils/src/file.js');
6
+ require('../../../utils/index.js');
7
+ var index = require('../../../utils/src/pasteFile/index.js');
8
+
9
+ class PasteFileError extends Error {
10
+ constructor(message) {
11
+ super(message);
12
+ this.name = "PasteFileError";
13
+ }
14
+ }
15
+ const usePasteFile = (target, options = {}) => {
16
+ const { accept, disabled = false, preventDefault = true } = options;
17
+ const successCallbacks = /* @__PURE__ */ new Set();
18
+ const errorCallbacks = /* @__PURE__ */ new Set();
19
+ const isProcessing = vue.ref(false);
20
+ let isCleanedUp = false;
21
+ const getDisabled = () => {
22
+ if (isCleanedUp)
23
+ return true;
24
+ return typeof disabled === "boolean" ? disabled : disabled.value;
25
+ };
26
+ const onPaste = async (e) => {
27
+ if (getDisabled())
28
+ return;
29
+ if (preventDefault) {
30
+ e.preventDefault();
31
+ }
32
+ isProcessing.value = true;
33
+ try {
34
+ const clipboardEvent = e;
35
+ const files = await index.handlePasteEvent(clipboardEvent);
36
+ if (files.length === 0)
37
+ return;
38
+ const filteredFiles = accept && accept !== "*" ? files.filter((file$1) => file.fileValidType(file$1, accept)) : files;
39
+ if (filteredFiles.length === 0)
40
+ return;
41
+ if (successCallbacks.size > 0) {
42
+ successCallbacks.forEach((callback) => {
43
+ try {
44
+ callback(filteredFiles);
45
+ } catch (callbackError) {
46
+ console.error("\u6267\u884C\u6210\u529F\u56DE\u8C03\u65F6\u51FA\u9519:", callbackError);
47
+ }
48
+ });
49
+ }
50
+ } catch (error) {
51
+ handlePasteError(error);
52
+ } finally {
53
+ isProcessing.value = false;
54
+ }
55
+ };
56
+ const handlePasteError = (error) => {
57
+ const pasteError = error instanceof Error ? error : new PasteFileError(`\u7C98\u8D34\u6587\u4EF6\u5904\u7406\u5931\u8D25: ${String(error)}`);
58
+ if (errorCallbacks.size > 0) {
59
+ errorCallbacks.forEach((callback) => {
60
+ try {
61
+ callback(pasteError);
62
+ } catch (callbackError) {
63
+ console.error("\u6267\u884C\u9519\u8BEF\u56DE\u8C03\u65F6\u51FA\u9519:", callbackError);
64
+ }
65
+ });
66
+ } else {
67
+ console.error("\u7C98\u8D34\u6587\u4EF6\u5904\u7406\u5931\u8D25:", pasteError);
68
+ }
69
+ };
70
+ core.useEventListener(target, "paste", onPaste);
71
+ const cleanupAll = () => {
72
+ if (isCleanedUp)
73
+ return;
74
+ successCallbacks.clear();
75
+ errorCallbacks.clear();
76
+ isCleanedUp = true;
77
+ };
78
+ return {
79
+ // 添加成功回调,并返回移除该回调的函数
80
+ onSuccess: (callback) => {
81
+ if (isCleanedUp) {
82
+ console.warn("usePasteFile\u5DF2\u6E05\u7406\uFF0C\u65E0\u6CD5\u6DFB\u52A0\u56DE\u8C03");
83
+ return () => {
84
+ };
85
+ }
86
+ successCallbacks.add(callback);
87
+ return () => {
88
+ successCallbacks.delete(callback);
89
+ };
90
+ },
91
+ // 添加错误回调,并返回移除该回调的函数
92
+ onError: (callback) => {
93
+ if (isCleanedUp) {
94
+ console.warn("usePasteFile\u5DF2\u6E05\u7406\uFF0C\u65E0\u6CD5\u6DFB\u52A0\u56DE\u8C03");
95
+ return () => {
96
+ };
97
+ }
98
+ errorCallbacks.add(callback);
99
+ return () => {
100
+ errorCallbacks.delete(callback);
101
+ };
102
+ },
103
+ // 清理函数
104
+ cleanup: cleanupAll,
105
+ // 是否正在处理粘贴事件
106
+ isProcessing
107
+ };
108
+ };
109
+
110
+ exports.usePasteFile = usePasteFile;
111
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../packages/hooks/base/usePasteFile/index.ts"],"sourcesContent":["import { ref } from 'vue';\r\nimport { type MaybeRefOrGetter, useEventListener } from '@vueuse/core';\r\nimport { fileValidType } from '@giime/utils/src/file';\r\nimport { handlePasteEvent } from '@giime/utils';\r\nimport type { Ref } from 'vue';\r\n\r\n/**\r\n * 成功回调函数类型\r\n */\r\ntype SuccessCallback = (files: File[]) => void;\r\n\r\n/**\r\n * 错误回调函数类型\r\n */\r\ntype ErrorCallback = (error: Error) => void;\r\n\r\n/**\r\n * 粘贴文件选项\r\n */\r\nexport interface UsePasteFileOptions {\r\n /**\r\n * 允许的文件类型,例如 'image/png,image/jpeg'\r\n */\r\n accept?: string;\r\n\r\n /**\r\n * 是否禁用粘贴文件功能\r\n */\r\n disabled?: Ref<boolean> | boolean;\r\n\r\n /**\r\n * 是否自动阻止默认行为\r\n * @default true\r\n */\r\n preventDefault?: boolean;\r\n}\r\n\r\n/**\r\n * 粘贴文件错误类型\r\n */\r\nclass PasteFileError extends Error {\r\n constructor(message: string) {\r\n super(message);\r\n this.name = 'PasteFileError';\r\n }\r\n}\r\n\r\n/**\r\n * 粘贴文件hooks返回值类型\r\n */\r\ninterface UsePasteFileReturn {\r\n /**\r\n * 添加成功回调函数\r\n * @param callback 当成功粘贴文件时调用的回调函数\r\n * @returns 移除该回调的函数\r\n */\r\n onSuccess: (callback: SuccessCallback) => () => void;\r\n\r\n /**\r\n * 添加错误回调函数\r\n * @param callback 当粘贴文件出错时调用的回调函数\r\n * @returns 移除该回调的函数\r\n */\r\n onError: (callback: ErrorCallback) => () => void;\r\n\r\n /**\r\n * 清理函数,移除事件监听器和所有回调\r\n */\r\n cleanup: () => void;\r\n\r\n /**\r\n * 是否正在处理粘贴事件\r\n */\r\n isProcessing: Ref<boolean>;\r\n}\r\n\r\n/**\r\n * 粘贴文件hooks\r\n * @param target 监听的DOM元素或事件目标\r\n * @param options 配置选项\r\n * @returns 包含onSuccess、onError、cleanup方法和isProcessing状态的对象\r\n *\r\n * @example\r\n * ```ts\r\n * const { onSuccess, onError, cleanup, isProcessing } = usePasteFile(\r\n * document,\r\n * {\r\n * accept: 'image/png,image/jpeg',\r\n * disabled: ref(false),\r\n * preventDefault: true\r\n * }\r\n * );\r\n *\r\n * // 添加成功回调\r\n * const removeSuccessListener = onSuccess((files) => {\r\n * console.log('粘贴的文件:', files);\r\n * });\r\n *\r\n * // 添加错误回调\r\n * onError((error) => {\r\n * console.error('粘贴处理错误:', error);\r\n * });\r\n *\r\n * // 移除特定的成功回调\r\n * removeSuccessListener();\r\n *\r\n * // 清理所有事件监听器和回调\r\n * // cleanup();\r\n * ```\r\n */\r\nexport const usePasteFile = (target: MaybeRefOrGetter<EventTarget | null | undefined>, options: UsePasteFileOptions = {}): UsePasteFileReturn => {\r\n const { accept, disabled = false, preventDefault = true } = options;\r\n\r\n // 使用Set存储回调函数,避免重复添加\r\n const successCallbacks = new Set<SuccessCallback>();\r\n const errorCallbacks = new Set<ErrorCallback>();\r\n\r\n // 是否正在处理粘贴事件\r\n const isProcessing = ref(false);\r\n\r\n // 是否已经清理\r\n let isCleanedUp = false;\r\n\r\n // 获取禁用状态\r\n const getDisabled = (): boolean => {\r\n if (isCleanedUp) return true;\r\n return typeof disabled === 'boolean' ? disabled : disabled.value;\r\n };\r\n\r\n /**\r\n * 处理粘贴事件\r\n */\r\n const onPaste = async (e: Event) => {\r\n // 如果已禁用,则不处理\r\n if (getDisabled()) return;\r\n\r\n // 阻止默认行为(如果配置为阻止)\r\n if (preventDefault) {\r\n e.preventDefault();\r\n }\r\n\r\n // 设置处理状态\r\n isProcessing.value = true;\r\n\r\n try {\r\n // 类型断言为ClipboardEvent\r\n const clipboardEvent = e as ClipboardEvent;\r\n\r\n // 获取粘贴的文件\r\n const files = await handlePasteEvent(clipboardEvent);\r\n\r\n // 如果没有文件被粘贴,直接返回\r\n if (files.length === 0) return;\r\n\r\n // 如果指定了文件类型,进行过滤\r\n const filteredFiles = accept && accept !== '*' ? files.filter(file => fileValidType(file, accept)) : files;\r\n\r\n // 如果过滤后没有文件,则不触发回调\r\n if (filteredFiles.length === 0) return;\r\n\r\n // 如果有成功回调,则调用所有成功回调\r\n if (successCallbacks.size > 0) {\r\n successCallbacks.forEach(callback => {\r\n try {\r\n callback(filteredFiles);\r\n } catch (callbackError) {\r\n console.error('执行成功回调时出错:', callbackError);\r\n }\r\n });\r\n }\r\n } catch (error) {\r\n // 处理错误\r\n handlePasteError(error);\r\n } finally {\r\n // 重置处理状态\r\n isProcessing.value = false;\r\n }\r\n };\r\n\r\n /**\r\n * 处理粘贴错误\r\n */\r\n const handlePasteError = (error: unknown) => {\r\n // 确保错误是Error类型\r\n const pasteError = error instanceof Error ? error : new PasteFileError(`粘贴文件处理失败: ${String(error)}`);\r\n\r\n // 如果有错误回调,则调用所有错误回调\r\n if (errorCallbacks.size > 0) {\r\n errorCallbacks.forEach(callback => {\r\n try {\r\n callback(pasteError);\r\n } catch (callbackError) {\r\n console.error('执行错误回调时出错:', callbackError);\r\n }\r\n });\r\n } else {\r\n // 如果没有错误回调,则输出到控制台\r\n console.error('粘贴文件处理失败:', pasteError);\r\n }\r\n };\r\n\r\n // 使用useEventListener监听粘贴事件\r\n useEventListener(target, 'paste', onPaste);\r\n\r\n // 清理函数\r\n const cleanupAll = () => {\r\n if (isCleanedUp) return;\r\n\r\n // 清空回调函数\r\n successCallbacks.clear();\r\n errorCallbacks.clear();\r\n\r\n // 标记为已清理\r\n isCleanedUp = true;\r\n };\r\n\r\n return {\r\n // 添加成功回调,并返回移除该回调的函数\r\n onSuccess: (callback: SuccessCallback) => {\r\n if (isCleanedUp) {\r\n console.warn('usePasteFile已清理,无法添加回调');\r\n return () => {};\r\n }\r\n\r\n successCallbacks.add(callback);\r\n\r\n // 返回移除该回调的函数\r\n return () => {\r\n successCallbacks.delete(callback);\r\n };\r\n },\r\n\r\n // 添加错误回调,并返回移除该回调的函数\r\n onError: (callback: ErrorCallback) => {\r\n if (isCleanedUp) {\r\n console.warn('usePasteFile已清理,无法添加回调');\r\n return () => {};\r\n }\r\n\r\n errorCallbacks.add(callback);\r\n\r\n // 返回移除该回调的函数\r\n return () => {\r\n errorCallbacks.delete(callback);\r\n };\r\n },\r\n\r\n // 清理函数\r\n cleanup: cleanupAll,\r\n\r\n // 是否正在处理粘贴事件\r\n isProcessing,\r\n };\r\n};\r\n"],"names":["ref","handlePasteEvent","file","fileValidType","useEventListener"],"mappings":"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"}
package/lib/index.css CHANGED
@@ -801,60 +801,6 @@ video {
801
801
  .gm-group:hover .group-hover\:gm-block {
802
802
  display: block;
803
803
  }
804
-
805
- .gm-range-number .el-form-item[data-v-11c39847] {
806
- margin: 0;
807
- }
808
-
809
- .gm-number-interval-single[data-v-47a13fd0] {
810
- border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
811
- box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
812
- background-color: var(--el-input-bg-color, var(--el-fill-color-blank));
813
- }
814
- .gm-number-interval-single[data-v-47a13fd0] [data-v-47a13fd0] .el-input__wrapper {
815
- box-shadow: none;
816
- background: none;
817
- }
818
-
819
- .gm-number-interval-close[data-v-47a13fd0] {
820
- display: none;
821
- color: var(--el-input-icon-color, var(--el-text-color-placeholder));
822
- }
823
-
824
- .gm-number-interval-single[data-v-47a13fd0]:hover .gm-number-interval-close[data-v-47a13fd0] {
825
- display: flex;
826
- }
827
- .circular[data-v-b391445c] {
828
- animation: loading-rotate-b391445c 2s linear infinite;
829
- }
830
-
831
- .path[data-v-b391445c] {
832
- animation: loading-dash-b391445c 1.5s ease-in-out infinite;
833
- stroke-dasharray: 90, 150;
834
- stroke-dashoffset: 0;
835
- stroke: var(--el-color-primary);
836
- stroke-linecap: round;
837
- }
838
-
839
- @keyframes loading-rotate-b391445c {
840
- to {
841
- transform: rotate(360deg);
842
- }
843
- }
844
- @keyframes loading-dash-b391445c {
845
- 0% {
846
- stroke-dasharray: 1, 200;
847
- stroke-dashoffset: 0;
848
- }
849
- 50% {
850
- stroke-dasharray: 90, 150;
851
- stroke-dashoffset: -40px;
852
- }
853
- 100% {
854
- stroke-dasharray: 90, 150;
855
- stroke-dashoffset: -120px;
856
- }
857
- }
858
804
  .gm-flex-center[data-v-2a79bac9] {
859
805
  align-items: center;
860
806
  }
@@ -862,11 +808,11 @@ video {
862
808
  .gm-flex-justify-between[data-v-2a79bac9] {
863
809
  justify-content: space-between;
864
810
  }
865
- .gm-upload-preview-dialog[data-v-142ef678] [data-v-142ef678] .el-dialog__body {
811
+ .gm-upload-preview-dialog[data-v-3bf7f50d] [data-v-3bf7f50d] .el-dialog__body {
866
812
  padding: 0;
867
813
  }
868
814
 
869
- .gm-upload-file-picture-card[data-v-142ef678] [data-v-142ef678] .el-upload-list__item, .gm-upload-file-picture-card[data-v-142ef678] [data-v-142ef678] .el-upload--picture-card {
815
+ .gm-upload-file-picture-card[data-v-3bf7f50d] [data-v-3bf7f50d] .el-upload-list__item, .gm-upload-file-picture-card[data-v-3bf7f50d] [data-v-3bf7f50d] .el-upload--picture-card {
870
816
  width: 120px;
871
817
  height: 120px;
872
818
  display: flex;
@@ -899,6 +845,42 @@ video {
899
845
  .gm-upload-file-disabled .el-upload-list__item-status-label {
900
846
  display: none;
901
847
  }
848
+ .circular[data-v-b391445c] {
849
+ animation: loading-rotate-b391445c 2s linear infinite;
850
+ }
851
+
852
+ .path[data-v-b391445c] {
853
+ animation: loading-dash-b391445c 1.5s ease-in-out infinite;
854
+ stroke-dasharray: 90, 150;
855
+ stroke-dashoffset: 0;
856
+ stroke: var(--el-color-primary);
857
+ stroke-linecap: round;
858
+ }
859
+
860
+ @keyframes loading-rotate-b391445c {
861
+ to {
862
+ transform: rotate(360deg);
863
+ }
864
+ }
865
+ @keyframes loading-dash-b391445c {
866
+ 0% {
867
+ stroke-dasharray: 1, 200;
868
+ stroke-dashoffset: 0;
869
+ }
870
+ 50% {
871
+ stroke-dasharray: 90, 150;
872
+ stroke-dashoffset: -40px;
873
+ }
874
+ 100% {
875
+ stroke-dasharray: 90, 150;
876
+ stroke-dashoffset: -120px;
877
+ }
878
+ }
879
+
880
+ .gm-range-number .el-form-item[data-v-11c39847] {
881
+ margin: 0;
882
+ }
883
+
902
884
  [data-v-7b6755e2] .gmSearchForm .el-form-item {
903
885
  margin-right: 0;
904
886
  margin-bottom: 4px;
@@ -934,3 +916,22 @@ video {
934
916
  .pagination-container.hidden[data-v-19230954] {
935
917
  display: none;
936
918
  }
919
+
920
+ .gm-number-interval-single[data-v-47a13fd0] {
921
+ border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
922
+ box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
923
+ background-color: var(--el-input-bg-color, var(--el-fill-color-blank));
924
+ }
925
+ .gm-number-interval-single[data-v-47a13fd0] [data-v-47a13fd0] .el-input__wrapper {
926
+ box-shadow: none;
927
+ background: none;
928
+ }
929
+
930
+ .gm-number-interval-close[data-v-47a13fd0] {
931
+ display: none;
932
+ color: var(--el-input-icon-color, var(--el-text-color-placeholder));
933
+ }
934
+
935
+ .gm-number-interval-single[data-v-47a13fd0]:hover .gm-number-interval-close[data-v-47a13fd0] {
936
+ display: flex;
937
+ }
@@ -10,3 +10,4 @@ export * from './src/general';
10
10
  export * from './src/crypto';
11
11
  export * from './src/number';
12
12
  export * from './src/tree/index';
13
+ export * from './src/pasteFile';
@@ -12,6 +12,7 @@ var general = require('./src/general.js');
12
12
  require('./src/crypto/index.js');
13
13
  var number = require('./src/number.js');
14
14
  require('./src/tree/index.js');
15
+ var index = require('./src/pasteFile/index.js');
15
16
  var install = require('./src/vue/install.js');
16
17
  var resolver = require('./src/vue/resolver.js');
17
18
  var event = require('./src/elementPlus/event.js');
@@ -64,9 +65,11 @@ exports.base64ToBlob = file.base64ToBlob;
64
65
  exports.base64ToFile = file.base64ToFile;
65
66
  exports.blobToBase64 = file.blobToBase64;
66
67
  exports.blobToFile = file.blobToFile;
68
+ exports.fileMd5 = file.fileMd5;
67
69
  exports.fileToBase64 = file.fileToBase64;
68
70
  exports.fileToBlob = file.fileToBlob;
69
71
  exports.fileToUrl = file.fileToUrl;
72
+ exports.fileValidType = file.fileValidType;
70
73
  exports.urlToBlob = file.urlToBlob;
71
74
  exports.urlToFile = file.urlToFile;
72
75
  exports.compareVersions = general.compareVersions;
@@ -74,6 +77,9 @@ exports.isVersionGreaterOrEqual = general.isVersionGreaterOrEqual;
74
77
  exports.omitOnEvents = general.omitOnEvents;
75
78
  exports.remove = general.remove;
76
79
  exports.formatNumberWithCommas = number.formatNumberWithCommas;
80
+ exports.PasteFileError = index.PasteFileError;
81
+ exports.generateFileName = index.generateFileName;
82
+ exports.handlePasteEvent = index.handlePasteEvent;
77
83
  exports.withInstall = install.withInstall;
78
84
  exports.withInstallDirective = install.withInstallDirective;
79
85
  exports.withInstallFunction = install.withInstallFunction;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,36 +1,59 @@
1
1
  /// <reference types="@vueuse/shared" />
2
- import { type PostSaveFileResourcesData } from '../../../api/materialApi';
3
- export type PostSaveFileResponse = PostSaveFileResourcesData;
2
+ /**
3
+ * 阿里云OSS上传错误类型
4
+ */
5
+ export declare class AliOssError extends Error {
6
+ code: string;
7
+ originalError?: unknown;
8
+ constructor(message: string, code: string, originalError?: unknown);
9
+ }
10
+ /**
11
+ * 上传到阿里云OSS的文件类型
12
+ */
4
13
  export type UploadAliOssFile = File & {
5
14
  uid: number;
6
15
  };
7
- /** 上传文件到阿里云 */
8
- export type AliOssParams = {
16
+ /**
17
+ * 上传进度回调函数类型
18
+ */
19
+ export type ProgressCallback = (progress: {
20
+ percent: number;
21
+ loaded: number;
22
+ total: number;
23
+ }) => void;
24
+ /**
25
+ * 上传文件到阿里云参数类型
26
+ */
27
+ export interface AliOssParams {
9
28
  /** 资源文件 */
10
29
  file: UploadAliOssFile;
11
- /** 文件名 */
30
+ /** 文件名(可选,默认使用原始文件名) */
12
31
  fileName?: string;
13
- /** 文件存储路径 */
32
+ /** 文件存储路径(可选,默认为'material') */
14
33
  folder?: string;
15
- /** 文件存储位置 */
34
+ /** 文件存储位置(可选,默认为'default') */
16
35
  seat?: string;
17
- /** 并行上传数量 */
36
+ /** 并行上传数量(可选,根据文件大小自动计算) */
18
37
  parallel?: number;
19
- /** 并行分片大小 */
38
+ /** 并行分片大小(可选,根据文件大小自动计算) */
20
39
  partSize?: number;
21
- /** 阿里上传配置 */
22
- options?: {
23
- [key: string]: any;
24
- };
25
- /** 阿里服务器 Bucket 名称 */
40
+ /** 阿里上传配置(可选) */
41
+ options?: Record<string, any>;
42
+ /** 阿里服务器 Bucket 名称(可选,默认为'giikin-material') */
26
43
  bucket?: string;
27
- /** cdn */
44
+ /** CDN域名(可选,默认为'https://sucai.giikin.cn/') */
28
45
  cdn?: string;
29
- /** 文件是否保存入库 */
46
+ /** 文件是否保存入库(可选,默认为false) */
30
47
  saveStore?: boolean;
31
- };
32
- /** 返回数据 */
33
- export type AliOssResponse = {
48
+ /** 上传进度回调(可选) */
49
+ onProgress?: ProgressCallback;
50
+ /** 取消上传的信号(可选) */
51
+ abortSignal?: AbortSignal;
52
+ }
53
+ /**
54
+ * 阿里云OSS上传响应类型
55
+ */
56
+ export interface AliOssResponse {
34
57
  /** 文件地址 */
35
58
  url: string;
36
59
  /** 文件名 */
@@ -41,39 +64,91 @@ export type AliOssResponse = {
41
64
  lastModified: number;
42
65
  /** 文件md5 */
43
66
  md5: string;
44
- /** 文件大小 */
67
+ /** 文件大小(字节) */
45
68
  size: number;
46
- /** 文件后缀 */
69
+ /** 文件后缀(不含点) */
47
70
  type: string;
48
71
  /** 文件库是否存在 */
49
72
  isExist: boolean;
50
- };
51
- export declare const ts_md5_file: (file: File) => Promise<string>;
52
- /** 文件分片 */
73
+ /** 文件库中文件ID */
74
+ existId?: number;
75
+ }
76
+ /**
77
+ * 文件检查参数类型
78
+ */
79
+ interface FileExistParams {
80
+ md5Code: string;
81
+ ext: string;
82
+ name: string;
83
+ size: number;
84
+ uid: number;
85
+ lastModified: number;
86
+ }
87
+ /**
88
+ * 根据文件大小计算并行上传参数
89
+ * @param size 文件大小(MB)
90
+ * @returns 并行上传参数配置
91
+ */
53
92
  export declare const getParallelPartSize: (size: number) => {
54
93
  parallel: number;
55
94
  partSize: number;
56
95
  };
57
- /** 上传 Hook */
96
+ /**
97
+ * 阿里云OSS上传Hook
98
+ */
58
99
  export declare const useAliossHookStore: import("pinia").StoreDefinition<"aliossHook", import("pinia")._UnwrapAll<Pick<{
59
100
  aliossResult: import("@vueuse/shared").EventHookOn<AliOssResponse>;
60
- aliossError: import("@vueuse/shared").EventHookOn<any>;
61
- saveFileResult: import("@vueuse/shared").EventHookOn<PostSaveFileResourcesData>;
62
- saveFileError: import("@vueuse/shared").EventHookOn<any>;
63
- uploadFile: ({ file, fileName, folder, seat, parallel, partSize, options, bucket, cdn, saveStore }: AliOssParams) => Promise<unknown>;
64
- postSaveFile: ({ url, md5_code, file_size }: PostSaveFileResourcesData) => Promise<unknown>;
101
+ aliossError: import("@vueuse/shared").EventHookOn<Error | AliOssError>;
102
+ aliossProgress: import("@vueuse/shared").EventHookOn<{
103
+ file: UploadAliOssFile;
104
+ progress: {
105
+ percent: number;
106
+ loaded: number;
107
+ total: number;
108
+ };
109
+ }>;
110
+ saveFileResult: import("@vueuse/shared").EventHookOn<AliOssResponse>;
111
+ saveFileError: import("@vueuse/shared").EventHookOn<Error>;
112
+ uploadFile: (params: AliOssParams) => Promise<AliOssResponse>;
113
+ saveFileToStore: (params: AliOssResponse) => Promise<AliOssResponse>;
114
+ cancelUpload: (uid: number) => boolean;
115
+ cancelAllUploads: () => void;
116
+ checkFileExists: (params: FileExistParams) => Promise<AliOssResponse | false>;
65
117
  }, never>>, Pick<{
66
118
  aliossResult: import("@vueuse/shared").EventHookOn<AliOssResponse>;
67
- aliossError: import("@vueuse/shared").EventHookOn<any>;
68
- saveFileResult: import("@vueuse/shared").EventHookOn<PostSaveFileResourcesData>;
69
- saveFileError: import("@vueuse/shared").EventHookOn<any>;
70
- uploadFile: ({ file, fileName, folder, seat, parallel, partSize, options, bucket, cdn, saveStore }: AliOssParams) => Promise<unknown>;
71
- postSaveFile: ({ url, md5_code, file_size }: PostSaveFileResourcesData) => Promise<unknown>;
119
+ aliossError: import("@vueuse/shared").EventHookOn<Error | AliOssError>;
120
+ aliossProgress: import("@vueuse/shared").EventHookOn<{
121
+ file: UploadAliOssFile;
122
+ progress: {
123
+ percent: number;
124
+ loaded: number;
125
+ total: number;
126
+ };
127
+ }>;
128
+ saveFileResult: import("@vueuse/shared").EventHookOn<AliOssResponse>;
129
+ saveFileError: import("@vueuse/shared").EventHookOn<Error>;
130
+ uploadFile: (params: AliOssParams) => Promise<AliOssResponse>;
131
+ saveFileToStore: (params: AliOssResponse) => Promise<AliOssResponse>;
132
+ cancelUpload: (uid: number) => boolean;
133
+ cancelAllUploads: () => void;
134
+ checkFileExists: (params: FileExistParams) => Promise<AliOssResponse | false>;
72
135
  }, never>, Pick<{
73
136
  aliossResult: import("@vueuse/shared").EventHookOn<AliOssResponse>;
74
- aliossError: import("@vueuse/shared").EventHookOn<any>;
75
- saveFileResult: import("@vueuse/shared").EventHookOn<PostSaveFileResourcesData>;
76
- saveFileError: import("@vueuse/shared").EventHookOn<any>;
77
- uploadFile: ({ file, fileName, folder, seat, parallel, partSize, options, bucket, cdn, saveStore }: AliOssParams) => Promise<unknown>;
78
- postSaveFile: ({ url, md5_code, file_size }: PostSaveFileResourcesData) => Promise<unknown>;
79
- }, "aliossResult" | "aliossError" | "saveFileResult" | "saveFileError" | "uploadFile" | "postSaveFile">>;
137
+ aliossError: import("@vueuse/shared").EventHookOn<Error | AliOssError>;
138
+ aliossProgress: import("@vueuse/shared").EventHookOn<{
139
+ file: UploadAliOssFile;
140
+ progress: {
141
+ percent: number;
142
+ loaded: number;
143
+ total: number;
144
+ };
145
+ }>;
146
+ saveFileResult: import("@vueuse/shared").EventHookOn<AliOssResponse>;
147
+ saveFileError: import("@vueuse/shared").EventHookOn<Error>;
148
+ uploadFile: (params: AliOssParams) => Promise<AliOssResponse>;
149
+ saveFileToStore: (params: AliOssResponse) => Promise<AliOssResponse>;
150
+ cancelUpload: (uid: number) => boolean;
151
+ cancelAllUploads: () => void;
152
+ checkFileExists: (params: FileExistParams) => Promise<AliOssResponse | false>;
153
+ }, "aliossResult" | "aliossError" | "aliossProgress" | "saveFileResult" | "saveFileError" | "uploadFile" | "saveFileToStore" | "cancelUpload" | "cancelAllUploads" | "checkFileExists">>;
154
+ export {};