giime 0.5.3 → 0.5.5

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 (203) hide show
  1. package/dist/index.css +70 -55
  2. package/es/api/materialApi/cross/postSaveFileResources.d.ts +2 -2
  3. package/es/api/materialApi/cross/postSaveFileResources.mjs +1 -0
  4. package/es/api/materialApi/cross/postSaveFileResources.mjs.map +1 -1
  5. package/es/components/index.mjs +4 -0
  6. package/es/components/index.mjs.map +1 -1
  7. package/es/components/src/base/affix/index.mjs.map +1 -1
  8. package/es/components/src/business/loginDialog/LoginDialog.vue2.mjs.map +1 -1
  9. package/es/components/src/business/loginDialog/loginDialog.mjs.map +1 -1
  10. package/es/components/src/business/uploadMaterial/UploadMaterial.vue.d.ts +259 -90
  11. package/es/components/src/business/uploadMaterial/UploadMaterial.vue.mjs +2 -5
  12. package/es/components/src/business/uploadMaterial/UploadMaterial.vue.mjs.map +1 -1
  13. package/es/components/src/business/uploadMaterial/UploadMaterial.vue2.mjs +25 -162
  14. package/es/components/src/business/uploadMaterial/UploadMaterial.vue2.mjs.map +1 -1
  15. package/es/components/src/business/uploadMaterial/index.d.ts +181 -12
  16. package/es/components/src/business/uploadMaterial/index.mjs +3 -2
  17. package/es/components/src/business/uploadMaterial/index.mjs.map +1 -1
  18. package/es/components/src/business/uploadMaterial/uploadMaterial.d.ts +84 -6
  19. package/es/components/src/business/uploadMaterial/uploadMaterial.mjs +9 -23
  20. package/es/components/src/business/uploadMaterial/uploadMaterial.mjs.map +1 -1
  21. package/es/components/src/composite/fileComponent/FileComponent.vue.d.ts +69 -0
  22. package/es/components/src/composite/fileComponent/FileComponent.vue.mjs +6 -0
  23. package/es/components/src/composite/fileComponent/FileComponent.vue.mjs.map +1 -0
  24. package/es/components/src/composite/fileComponent/FileComponent.vue2.mjs +83 -0
  25. package/es/components/src/composite/fileComponent/FileComponent.vue2.mjs.map +1 -0
  26. package/es/components/src/composite/fileComponent/assets/image/excel.svg.mjs +4 -0
  27. package/es/components/src/composite/fileComponent/assets/image/excel.svg.mjs.map +1 -0
  28. package/es/components/src/composite/fileComponent/assets/image/pdf.svg.mjs +4 -0
  29. package/es/components/src/composite/fileComponent/assets/image/pdf.svg.mjs.map +1 -0
  30. package/es/components/src/composite/fileComponent/assets/image/ppt.svg.mjs +4 -0
  31. package/es/components/src/composite/fileComponent/assets/image/ppt.svg.mjs.map +1 -0
  32. package/es/components/src/composite/fileComponent/assets/image/psd.svg.mjs +4 -0
  33. package/es/components/src/composite/fileComponent/assets/image/psd.svg.mjs.map +1 -0
  34. package/es/components/src/composite/fileComponent/assets/image/text.svg.mjs +4 -0
  35. package/es/components/src/composite/fileComponent/assets/image/text.svg.mjs.map +1 -0
  36. package/es/components/src/composite/fileComponent/assets/image/unknown.svg.mjs +4 -0
  37. package/es/components/src/composite/fileComponent/assets/image/unknown.svg.mjs.map +1 -0
  38. package/es/components/src/composite/fileComponent/assets/image/word.svg.mjs +4 -0
  39. package/es/components/src/composite/fileComponent/assets/image/word.svg.mjs.map +1 -0
  40. package/es/components/src/composite/fileComponent/assets/image/zip.svg.mjs +4 -0
  41. package/es/components/src/composite/fileComponent/assets/image/zip.svg.mjs.map +1 -0
  42. package/es/components/src/composite/fileComponent/fileComponent.d.ts +41 -0
  43. package/es/components/src/composite/fileComponent/fileComponent.mjs +40 -0
  44. package/es/components/src/composite/fileComponent/fileComponent.mjs.map +1 -0
  45. package/es/components/src/composite/fileComponent/index.d.ts +71 -0
  46. package/es/components/src/composite/fileComponent/index.mjs +10 -0
  47. package/es/components/src/composite/fileComponent/index.mjs.map +1 -0
  48. package/es/components/src/composite/index.d.ts +2 -0
  49. package/es/components/src/composite/index.mjs +4 -0
  50. package/es/components/src/composite/index.mjs.map +1 -1
  51. package/es/components/src/composite/previewFile/PreviewFile.vue.d.ts +97 -0
  52. package/es/components/src/composite/previewFile/PreviewFile.vue.mjs +6 -0
  53. package/es/components/src/composite/previewFile/PreviewFile.vue.mjs.map +1 -0
  54. package/es/components/src/composite/previewFile/PreviewFile.vue2.mjs +120 -0
  55. package/es/components/src/composite/previewFile/PreviewFile.vue2.mjs.map +1 -0
  56. package/es/components/src/composite/previewFile/index.d.ts +99 -0
  57. package/es/components/src/composite/previewFile/index.mjs +10 -0
  58. package/es/components/src/composite/previewFile/index.mjs.map +1 -0
  59. package/es/components/src/composite/previewFile/previewFile.d.ts +42 -0
  60. package/es/components/src/composite/previewFile/previewFile.mjs +19 -0
  61. package/es/components/src/composite/previewFile/previewFile.mjs.map +1 -0
  62. package/es/components/src/composite/uploadFile/UploadFile.vue.d.ts +973 -0
  63. package/es/components/src/composite/uploadFile/UploadFile.vue.mjs +9 -0
  64. package/es/components/src/composite/uploadFile/UploadFile.vue.mjs.map +1 -0
  65. package/es/components/src/composite/uploadFile/UploadFile.vue2.mjs +239 -0
  66. package/es/components/src/composite/uploadFile/UploadFile.vue2.mjs.map +1 -0
  67. package/es/components/src/{business/uploadMaterial/UploadMaterial.vue3.mjs → composite/uploadFile/UploadFile.vue3.mjs} +1 -1
  68. package/es/components/src/composite/uploadFile/UploadFile.vue3.mjs.map +1 -0
  69. package/es/components/src/{business/uploadMaterial/UploadMaterial.vue4.mjs → composite/uploadFile/UploadFile.vue4.mjs} +1 -1
  70. package/es/components/src/composite/uploadFile/UploadFile.vue4.mjs.map +1 -0
  71. package/es/components/src/composite/uploadFile/index.d.ts +2486 -0
  72. package/es/components/src/composite/uploadFile/index.mjs +9 -0
  73. package/es/components/src/composite/uploadFile/index.mjs.map +1 -0
  74. package/es/components/src/composite/uploadFile/uploadFile.d.ts +227 -0
  75. package/es/components/src/composite/uploadFile/uploadFile.mjs +92 -0
  76. package/es/components/src/composite/uploadFile/uploadFile.mjs.map +1 -0
  77. package/es/constants/key.mjs.map +1 -1
  78. package/es/giime/index.mjs +5 -1
  79. package/es/giime/index.mjs.map +1 -1
  80. package/es/giime/version.d.ts +1 -1
  81. package/es/giime/version.mjs +1 -1
  82. package/es/giime/version.mjs.map +1 -1
  83. package/es/index.css +70 -55
  84. package/es/utils/index.mjs +1 -1
  85. package/es/utils/src/alioss/aliossPutHook.d.ts +79 -0
  86. package/es/utils/src/alioss/aliossPutHook.mjs +177 -0
  87. package/es/utils/src/alioss/aliossPutHook.mjs.map +1 -0
  88. package/es/utils/src/alioss/aliossToken.d.ts +17 -0
  89. package/es/utils/src/alioss/aliossToken.mjs +51 -0
  90. package/es/utils/src/alioss/aliossToken.mjs.map +1 -0
  91. package/es/utils/src/http/createAxios.mjs.map +1 -1
  92. package/es/utils/src/http/errorMessage.mjs.map +1 -1
  93. package/es/utils/src/is.d.ts +44 -2
  94. package/es/utils/src/is.mjs +29 -1
  95. package/es/utils/src/is.mjs.map +1 -1
  96. package/es/utils/src/tree.mjs.map +1 -1
  97. package/lib/api/materialApi/cross/postSaveFileResources.d.ts +2 -2
  98. package/lib/api/materialApi/cross/postSaveFileResources.js +1 -0
  99. package/lib/api/materialApi/cross/postSaveFileResources.js.map +1 -1
  100. package/lib/components/index.js +22 -14
  101. package/lib/components/index.js.map +1 -1
  102. package/lib/components/src/base/affix/index.js.map +1 -1
  103. package/lib/components/src/business/loginDialog/LoginDialog.vue2.js.map +1 -1
  104. package/lib/components/src/business/loginDialog/loginDialog.js.map +1 -1
  105. package/lib/components/src/business/uploadMaterial/UploadMaterial.vue.d.ts +259 -90
  106. package/lib/components/src/business/uploadMaterial/UploadMaterial.vue.js +2 -5
  107. package/lib/components/src/business/uploadMaterial/UploadMaterial.vue.js.map +1 -1
  108. package/lib/components/src/business/uploadMaterial/UploadMaterial.vue2.js +24 -161
  109. package/lib/components/src/business/uploadMaterial/UploadMaterial.vue2.js.map +1 -1
  110. package/lib/components/src/business/uploadMaterial/index.d.ts +181 -12
  111. package/lib/components/src/business/uploadMaterial/index.js +3 -2
  112. package/lib/components/src/business/uploadMaterial/index.js.map +1 -1
  113. package/lib/components/src/business/uploadMaterial/uploadMaterial.d.ts +84 -6
  114. package/lib/components/src/business/uploadMaterial/uploadMaterial.js +9 -23
  115. package/lib/components/src/business/uploadMaterial/uploadMaterial.js.map +1 -1
  116. package/lib/components/src/composite/fileComponent/FileComponent.vue.d.ts +69 -0
  117. package/lib/components/src/composite/fileComponent/FileComponent.vue.js +10 -0
  118. package/lib/components/src/composite/fileComponent/FileComponent.vue.js.map +1 -0
  119. package/lib/components/src/composite/fileComponent/FileComponent.vue2.js +87 -0
  120. package/lib/components/src/composite/fileComponent/FileComponent.vue2.js.map +1 -0
  121. package/lib/components/src/composite/fileComponent/assets/image/excel.svg.js +8 -0
  122. package/lib/components/src/composite/fileComponent/assets/image/excel.svg.js.map +1 -0
  123. package/lib/components/src/composite/fileComponent/assets/image/pdf.svg.js +8 -0
  124. package/lib/components/src/composite/fileComponent/assets/image/pdf.svg.js.map +1 -0
  125. package/lib/components/src/composite/fileComponent/assets/image/ppt.svg.js +8 -0
  126. package/lib/components/src/composite/fileComponent/assets/image/ppt.svg.js.map +1 -0
  127. package/lib/components/src/composite/fileComponent/assets/image/psd.svg.js +8 -0
  128. package/lib/components/src/composite/fileComponent/assets/image/psd.svg.js.map +1 -0
  129. package/lib/components/src/composite/fileComponent/assets/image/text.svg.js +8 -0
  130. package/lib/components/src/composite/fileComponent/assets/image/text.svg.js.map +1 -0
  131. package/lib/components/src/composite/fileComponent/assets/image/unknown.svg.js +8 -0
  132. package/lib/components/src/composite/fileComponent/assets/image/unknown.svg.js.map +1 -0
  133. package/lib/components/src/composite/fileComponent/assets/image/word.svg.js +8 -0
  134. package/lib/components/src/composite/fileComponent/assets/image/word.svg.js.map +1 -0
  135. package/lib/components/src/composite/fileComponent/assets/image/zip.svg.js +8 -0
  136. package/lib/components/src/composite/fileComponent/assets/image/zip.svg.js.map +1 -0
  137. package/lib/components/src/composite/fileComponent/fileComponent.d.ts +41 -0
  138. package/lib/components/src/composite/fileComponent/fileComponent.js +42 -0
  139. package/lib/components/src/composite/fileComponent/fileComponent.js.map +1 -0
  140. package/lib/components/src/composite/fileComponent/index.d.ts +71 -0
  141. package/lib/components/src/composite/fileComponent/index.js +16 -0
  142. package/lib/components/src/composite/fileComponent/index.js.map +1 -0
  143. package/lib/components/src/composite/index.d.ts +2 -0
  144. package/lib/components/src/composite/index.js +8 -0
  145. package/lib/components/src/composite/index.js.map +1 -1
  146. package/lib/components/src/composite/previewFile/PreviewFile.vue.d.ts +97 -0
  147. package/lib/components/src/composite/previewFile/PreviewFile.vue.js +10 -0
  148. package/lib/components/src/composite/previewFile/PreviewFile.vue.js.map +1 -0
  149. package/lib/components/src/composite/previewFile/PreviewFile.vue2.js +124 -0
  150. package/lib/components/src/composite/previewFile/PreviewFile.vue2.js.map +1 -0
  151. package/lib/components/src/composite/previewFile/index.d.ts +99 -0
  152. package/lib/components/src/composite/previewFile/index.js +16 -0
  153. package/lib/components/src/composite/previewFile/index.js.map +1 -0
  154. package/lib/components/src/composite/previewFile/previewFile.d.ts +42 -0
  155. package/lib/components/src/composite/previewFile/previewFile.js +21 -0
  156. package/lib/components/src/composite/previewFile/previewFile.js.map +1 -0
  157. package/lib/components/src/composite/uploadFile/UploadFile.vue.d.ts +973 -0
  158. package/lib/components/src/composite/uploadFile/UploadFile.vue.js +13 -0
  159. package/lib/components/src/composite/uploadFile/UploadFile.vue.js.map +1 -0
  160. package/lib/components/src/composite/uploadFile/UploadFile.vue2.js +243 -0
  161. package/lib/components/src/composite/uploadFile/UploadFile.vue2.js.map +1 -0
  162. package/lib/components/src/{business/uploadMaterial/UploadMaterial.vue3.js → composite/uploadFile/UploadFile.vue3.js} +1 -1
  163. package/lib/components/src/composite/uploadFile/UploadFile.vue3.js.map +1 -0
  164. package/lib/components/src/{business/uploadMaterial/UploadMaterial.vue4.js → composite/uploadFile/UploadFile.vue4.js} +1 -1
  165. package/lib/components/src/composite/uploadFile/UploadFile.vue4.js.map +1 -0
  166. package/lib/components/src/composite/uploadFile/index.d.ts +2486 -0
  167. package/lib/components/src/composite/uploadFile/index.js +15 -0
  168. package/lib/components/src/composite/uploadFile/index.js.map +1 -0
  169. package/lib/components/src/composite/uploadFile/uploadFile.d.ts +227 -0
  170. package/lib/components/src/composite/uploadFile/uploadFile.js +94 -0
  171. package/lib/components/src/composite/uploadFile/uploadFile.js.map +1 -0
  172. package/lib/constants/key.js.map +1 -1
  173. package/lib/giime/index.js +75 -60
  174. package/lib/giime/index.js.map +1 -1
  175. package/lib/giime/version.d.ts +1 -1
  176. package/lib/giime/version.js +1 -1
  177. package/lib/giime/version.js.map +1 -1
  178. package/lib/index.css +70 -55
  179. package/lib/utils/index.js +7 -0
  180. package/lib/utils/index.js.map +1 -1
  181. package/lib/utils/src/alioss/aliossPutHook.d.ts +79 -0
  182. package/lib/utils/src/alioss/aliossPutHook.js +181 -0
  183. package/lib/utils/src/alioss/aliossPutHook.js.map +1 -0
  184. package/lib/utils/src/alioss/aliossToken.d.ts +17 -0
  185. package/lib/utils/src/alioss/aliossToken.js +55 -0
  186. package/lib/utils/src/alioss/aliossToken.js.map +1 -0
  187. package/lib/utils/src/http/createAxios.js.map +1 -1
  188. package/lib/utils/src/http/errorMessage.js.map +1 -1
  189. package/lib/utils/src/is.d.ts +44 -2
  190. package/lib/utils/src/is.js +35 -0
  191. package/lib/utils/src/is.js.map +1 -1
  192. package/lib/utils/src/tree.js.map +1 -1
  193. package/package.json +1 -1
  194. package/es/components/src/business/uploadMaterial/UploadMaterial.vue3.mjs.map +0 -1
  195. package/es/components/src/business/uploadMaterial/UploadMaterial.vue4.mjs.map +0 -1
  196. package/es/utils/src/alioss.d.ts +0 -32
  197. package/es/utils/src/alioss.mjs +0 -110
  198. package/es/utils/src/alioss.mjs.map +0 -1
  199. package/lib/components/src/business/uploadMaterial/UploadMaterial.vue3.js.map +0 -1
  200. package/lib/components/src/business/uploadMaterial/UploadMaterial.vue4.js.map +0 -1
  201. package/lib/utils/src/alioss.d.ts +0 -32
  202. package/lib/utils/src/alioss.js +0 -113
  203. package/lib/utils/src/alioss.js.map +0 -1
@@ -0,0 +1,79 @@
1
+ /// <reference types="@vueuse/shared" />
2
+ import { type PostSaveFileResourcesData } from '../../../api/materialApi';
3
+ export type PostSaveFileResponse = PostSaveFileResourcesData;
4
+ export type UploadAliOssFile = File & {
5
+ uid: number;
6
+ };
7
+ /** 上传文件到阿里云 */
8
+ export type AliOssParams = {
9
+ /** 资源文件 */
10
+ file: UploadAliOssFile;
11
+ /** 文件名 */
12
+ fileName?: string;
13
+ /** 文件存储路径 */
14
+ folder?: string;
15
+ /** 文件存储位置 */
16
+ seat?: string;
17
+ /** 并行上传数量 */
18
+ parallel?: number;
19
+ /** 并行分片大小 */
20
+ partSize?: number;
21
+ /** 阿里上传配置 */
22
+ options?: {
23
+ [key: string]: any;
24
+ };
25
+ /** 阿里服务器 Bucket 名称 */
26
+ bucket?: string;
27
+ /** cdn */
28
+ cdn?: string;
29
+ /** 文件是否保存入库 */
30
+ saveStore?: boolean;
31
+ };
32
+ /** 返回数据 */
33
+ export type AliOssResponse = {
34
+ /** 文件地址 */
35
+ url: string;
36
+ /** 文件名 */
37
+ name: string;
38
+ /** 文件唯一标识 */
39
+ uid: number;
40
+ /** 文件最后修改时间 */
41
+ lastModified: number;
42
+ /** 文件md5 */
43
+ md5: string;
44
+ /** 文件大小 */
45
+ size: number;
46
+ /** 文件后缀 */
47
+ type: string;
48
+ /** 文件库是否存在 */
49
+ isExist: boolean;
50
+ };
51
+ export declare const ts_md5_file: (file: File) => Promise<string>;
52
+ /** 文件分片 */
53
+ export declare const getParallelPartSize: (size: number) => {
54
+ parallel: number;
55
+ partSize: number;
56
+ };
57
+ /** 上传 Hook */
58
+ export declare const useAliossHookStore: import("pinia").StoreDefinition<"aliossHook", import("pinia")._UnwrapAll<Pick<{
59
+ 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>;
65
+ }, never>>, Pick<{
66
+ 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>;
72
+ }, never>, Pick<{
73
+ 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">>;
@@ -0,0 +1,177 @@
1
+ import { defineStore } from 'pinia';
2
+ import { createEventHook } from '@vueuse/core';
3
+ import { md5 } from 'js-md5';
4
+ import AliOss from 'ali-oss';
5
+ import '../../../api/materialApi/index.mjs';
6
+ import useAliossTokenStore from './aliossToken.mjs';
7
+ import { getAdFileExist } from '../../../api/materialApi/cross/getAdFileExist.mjs';
8
+ import { postSaveFileResources } from '../../../api/materialApi/cross/postSaveFileResources.mjs';
9
+
10
+ const ts_md5_file = (file) => {
11
+ return new Promise((resolve) => {
12
+ const reader = new FileReader();
13
+ reader.onload = async function(e) {
14
+ const binary = e.target.result;
15
+ resolve(md5(binary));
16
+ };
17
+ reader.readAsArrayBuffer(file);
18
+ });
19
+ };
20
+ const getParallelPartSize = (size) => {
21
+ const thresholds = [
22
+ {
23
+ max: 5,
24
+ parallel: 1,
25
+ multiplier: 5
26
+ },
27
+ {
28
+ max: 10,
29
+ parallel: 2,
30
+ multiplier: 4
31
+ },
32
+ {
33
+ max: 30,
34
+ parallel: 4,
35
+ multiplier: 5
36
+ },
37
+ {
38
+ max: 50,
39
+ parallel: 6,
40
+ multiplier: 6
41
+ },
42
+ {
43
+ max: Number.POSITIVE_INFINITY,
44
+ parallel: 8,
45
+ multiplier: 8
46
+ }
47
+ ];
48
+ const { parallel, multiplier } = thresholds.find(({ max }) => size <= max) || thresholds[thresholds.length - 1];
49
+ return {
50
+ parallel,
51
+ partSize: multiplier * 1024 * 1024
52
+ };
53
+ };
54
+ const useAliossHookStore = defineStore("aliossHook", () => {
55
+ const aliossResult = createEventHook();
56
+ const aliossError = createEventHook();
57
+ const saveFileResult = createEventHook();
58
+ const saveFileError = createEventHook();
59
+ const getFileExist = async ({
60
+ md5Code,
61
+ ext,
62
+ name,
63
+ size,
64
+ uid,
65
+ lastModified
66
+ }) => {
67
+ return new Promise(async (resolve) => {
68
+ const { data } = await getAdFileExist({ md5Code, ext });
69
+ if (data.code !== 0 || data.data.count === 0) {
70
+ return resolve(false);
71
+ }
72
+ const result = {
73
+ name,
74
+ uid,
75
+ lastModified,
76
+ size,
77
+ url: data.data.url,
78
+ md5: md5Code,
79
+ type: ext,
80
+ isExist: true
81
+ };
82
+ resolve(result);
83
+ aliossResult.trigger(result);
84
+ });
85
+ };
86
+ const uploadFile = async ({ file, fileName, folder, seat, parallel, partSize, options, bucket, cdn, saveStore }) => {
87
+ let { name, uid, lastModified, size } = file;
88
+ const ext = name.match(/\.(\w+)$/)?.[0] || "";
89
+ name = (fileName || name).slice(0, name.lastIndexOf("."));
90
+ const md5Code = await ts_md5_file(file);
91
+ const FileName = name + ext;
92
+ const type = ext.replaceAll(".", "");
93
+ try {
94
+ let result = await getFileExist({ md5Code, ext: type, name: FileName, size, uid, lastModified });
95
+ if (result)
96
+ return result;
97
+ const timestr = Date.now();
98
+ const path = `${folder ?? "material"}/${seat ?? "default"}/file-${timestr}-${md5Code}${ext}`;
99
+ const P = getParallelPartSize(size);
100
+ options = {
101
+ ...P,
102
+ ...{ parallel, partSize },
103
+ ContentDisposition: `attachment;filename=${encodeURIComponent(name)}${ext};filename*=${encodeURIComponent(name)}${ext}`,
104
+ ...options
105
+ };
106
+ const { AccessKeyId, AccessKeySecret, SecurityToken } = await useAliossTokenStore().getAliossTokenAsync();
107
+ const client = new AliOss({
108
+ // yourRegion填写Bucket所在地域。以华东1(杭州)为例,Region填写为oss-cn-hangzhou。
109
+ region: "oss-cn-shenzhen",
110
+ // 从STS服务获取的临时访问密钥(AccessKey ID、AccessKey Secret、StsToken)。
111
+ accessKeyId: AccessKeyId,
112
+ accessKeySecret: AccessKeySecret,
113
+ stsToken: SecurityToken,
114
+ // 刷新临时访问凭证的时间间隔,单位为毫秒。
115
+ refreshSTSTokenInterval: 3e5,
116
+ // 填写Bucket名称。
117
+ bucket: bucket ?? "giikin-material"
118
+ });
119
+ const upload = options.parallel === 1 ? "put" : "multipartUpload";
120
+ const { res } = await client[upload](path, file, options);
121
+ if (res.status !== 200) {
122
+ aliossError.trigger(res);
123
+ return res;
124
+ }
125
+ cdn = cdn ?? "https://sucai.giikin.cn/";
126
+ const resultUrl = cdn + path;
127
+ result = {
128
+ url: resultUrl,
129
+ name: name + ext,
130
+ md5: md5Code,
131
+ type: ext.replaceAll(".", ""),
132
+ uid,
133
+ lastModified,
134
+ size,
135
+ isExist: false
136
+ };
137
+ if (saveStore) {
138
+ postSaveFile({ url: resultUrl, md5_code: md5Code, file_size: size });
139
+ }
140
+ aliossResult.trigger(result);
141
+ return result;
142
+ } catch (error) {
143
+ aliossError.trigger(error);
144
+ return error;
145
+ }
146
+ };
147
+ const postSaveFile = async ({ url, md5_code, file_size }) => {
148
+ try {
149
+ const { data } = await postSaveFileResources({ fileData: { url, md5_code, file_size } });
150
+ if (data?.code !== 0) {
151
+ saveFileError.trigger(data);
152
+ return data;
153
+ }
154
+ const result = {
155
+ url,
156
+ md5_code,
157
+ file_size
158
+ };
159
+ saveFileResult.trigger(result);
160
+ return result;
161
+ } catch (error) {
162
+ saveFileError.trigger(error);
163
+ return error;
164
+ }
165
+ };
166
+ return {
167
+ aliossResult: aliossResult.on,
168
+ aliossError: aliossError.on,
169
+ saveFileResult: saveFileResult.on,
170
+ saveFileError: saveFileError.on,
171
+ uploadFile,
172
+ postSaveFile
173
+ };
174
+ });
175
+
176
+ export { getParallelPartSize, ts_md5_file, useAliossHookStore };
177
+ //# sourceMappingURL=aliossPutHook.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aliossPutHook.mjs","sources":["../../../../../../packages/utils/src/alioss/aliossPutHook.ts"],"sourcesContent":["import { defineStore } from 'pinia';\r\nimport { createEventHook } from '@vueuse/core';\r\nimport { md5 } from 'js-md5';\r\nimport AliOss from 'ali-oss';\r\nimport { type PostSaveFileResourcesData, getAdFileExist, postSaveFileResources } from '@giime/api/materialApi';\r\nimport useAliossTokenStore from './aliossToken';\r\n\r\nexport type PostSaveFileResponse = PostSaveFileResourcesData;\r\nexport type UploadAliOssFile = File & { uid: number };\r\n\r\n/** 上传文件到阿里云 */\r\nexport type AliOssParams = {\r\n /** 资源文件 */\r\n file: UploadAliOssFile;\r\n /** 文件名 */\r\n fileName?: string;\r\n /** 文件存储路径 */\r\n folder?: string;\r\n /** 文件存储位置 */\r\n seat?: string;\r\n /** 并行上传数量 */\r\n parallel?: number;\r\n /** 并行分片大小 */\r\n partSize?: number;\r\n /** 阿里上传配置 */\r\n options?: { [key: string]: any };\r\n /** 阿里服务器 Bucket 名称 */\r\n bucket?: string;\r\n /** cdn */\r\n cdn?: string;\r\n /** 文件是否保存入库 */\r\n saveStore?: boolean;\r\n};\r\n\r\n/** 返回数据 */\r\nexport type AliOssResponse = {\r\n /** 文件地址 */\r\n url: string;\r\n /** 文件名 */\r\n name: string;\r\n /** 文件唯一标识 */\r\n uid: number;\r\n /** 文件最后修改时间 */\r\n lastModified: number;\r\n /** 文件md5 */\r\n md5: string;\r\n /** 文件大小 */\r\n size: number;\r\n /** 文件后缀 */\r\n type: string;\r\n /** 文件库是否存在 */\r\n isExist: boolean;\r\n};\r\n\r\nexport const ts_md5_file = (file: File) => {\r\n return new Promise<string>(resolve => {\r\n const reader = new FileReader();\r\n reader.onload = async function (e) {\r\n const binary = (e.target as any).result;\r\n resolve(md5(binary));\r\n };\r\n reader.readAsArrayBuffer(file);\r\n });\r\n};\r\n\r\n/** 文件分片 */\r\nexport const getParallelPartSize = (size: number) => {\r\n const thresholds = [\r\n {\r\n max: 5,\r\n parallel: 1,\r\n multiplier: 5,\r\n },\r\n {\r\n max: 10,\r\n parallel: 2,\r\n multiplier: 4,\r\n },\r\n {\r\n max: 30,\r\n parallel: 4,\r\n multiplier: 5,\r\n },\r\n {\r\n max: 50,\r\n parallel: 6,\r\n multiplier: 6,\r\n },\r\n {\r\n max: Number.POSITIVE_INFINITY,\r\n parallel: 8,\r\n multiplier: 8,\r\n },\r\n ];\r\n const { parallel, multiplier } = thresholds.find(({ max }) => size <= max) || thresholds[thresholds.length - 1];\r\n\r\n return {\r\n parallel,\r\n partSize: multiplier * 1024 * 1024,\r\n };\r\n};\r\n\r\n/** 上传 Hook */\r\nexport const useAliossHookStore = defineStore('aliossHook', () => {\r\n const aliossResult = createEventHook<AliOssResponse>();\r\n const aliossError = createEventHook<any>();\r\n const saveFileResult = createEventHook<PostSaveFileResponse>();\r\n const saveFileError = createEventHook<any>();\r\n\r\n /** 检测广告素材是否已存在 */\r\n const getFileExist = async ({\r\n md5Code,\r\n ext,\r\n name,\r\n size,\r\n uid,\r\n lastModified,\r\n }: {\r\n md5Code: string;\r\n ext: string;\r\n name: string;\r\n size: number;\r\n uid: number;\r\n lastModified: number;\r\n }) => {\r\n // eslint-disable-next-line no-async-promise-executor\r\n return new Promise<AliOssResponse | false>(async resolve => {\r\n const { data } = await getAdFileExist({ md5Code, ext });\r\n if (data.code !== 0 || data.data.count === 0) {\r\n return resolve(false);\r\n }\r\n const result = {\r\n name,\r\n uid,\r\n lastModified,\r\n size,\r\n url: data.data.url,\r\n md5: md5Code,\r\n type: ext,\r\n isExist: true,\r\n };\r\n resolve(result);\r\n aliossResult.trigger(result);\r\n });\r\n };\r\n\r\n /** 上传文件 */\r\n const uploadFile = async ({ file, fileName, folder, seat, parallel, partSize, options, bucket, cdn, saveStore }: AliOssParams) => {\r\n let { name, uid, lastModified, size } = file;\r\n const ext = name.match(/\\.(\\w+)$/)?.[0] || '';\r\n name = (fileName || name).slice(0, name.lastIndexOf('.'));\r\n const md5Code = await ts_md5_file(file);\r\n const FileName = name + ext;\r\n const type = ext.replaceAll('.', '');\r\n\r\n try {\r\n let result = await getFileExist({ md5Code, ext: type, name: FileName, size, uid, lastModified });\r\n if (result) return result;\r\n\r\n // 文件存储路径\r\n const timestr = Date.now();\r\n const path = `${folder ?? 'material'}/${seat ?? 'default'}/file-${timestr}-${md5Code}${ext}`;\r\n\r\n const P = getParallelPartSize(size);\r\n options = {\r\n ...P,\r\n ...{ parallel, partSize },\r\n ContentDisposition: `attachment;filename=${encodeURIComponent(name)}${ext};filename*=${encodeURIComponent(name)}${ext}`,\r\n ...options,\r\n };\r\n\r\n // 阿里云临时上传权限\r\n const { AccessKeyId, AccessKeySecret, SecurityToken } = await useAliossTokenStore().getAliossTokenAsync();\r\n\r\n const client = new AliOss({\r\n // yourRegion填写Bucket所在地域。以华东1(杭州)为例,Region填写为oss-cn-hangzhou。\r\n region: 'oss-cn-shenzhen',\r\n // 从STS服务获取的临时访问密钥(AccessKey ID、AccessKey Secret、StsToken)。\r\n accessKeyId: AccessKeyId,\r\n accessKeySecret: AccessKeySecret,\r\n stsToken: SecurityToken,\r\n // 刷新临时访问凭证的时间间隔,单位为毫秒。\r\n refreshSTSTokenInterval: 300000,\r\n // 填写Bucket名称。\r\n bucket: bucket ?? 'giikin-material',\r\n });\r\n\r\n const upload = options.parallel === 1 ? 'put' : 'multipartUpload';\r\n const { res } = await client[upload](path, file, options);\r\n if (res.status !== 200) {\r\n aliossError.trigger(res);\r\n return res;\r\n }\r\n cdn = cdn ?? 'https://sucai.giikin.cn/';\r\n const resultUrl = cdn + path;\r\n result = {\r\n url: resultUrl,\r\n name: name + ext,\r\n md5: md5Code,\r\n type: ext.replaceAll('.', ''),\r\n uid,\r\n lastModified,\r\n size,\r\n isExist: false,\r\n };\r\n if (saveStore) {\r\n postSaveFile({ url: resultUrl, md5_code: md5Code, file_size: size });\r\n }\r\n aliossResult.trigger(result);\r\n return result;\r\n } catch (error) {\r\n aliossError.trigger(error);\r\n return error;\r\n }\r\n };\r\n\r\n /** 文件入库 */\r\n const postSaveFile = async ({ url, md5_code, file_size }: PostSaveFileResourcesData) => {\r\n try {\r\n const { data } = await postSaveFileResources({ fileData: { url, md5_code, file_size } });\r\n if (data?.code !== 0) {\r\n saveFileError.trigger(data);\r\n return data;\r\n }\r\n const result = {\r\n url,\r\n md5_code,\r\n file_size,\r\n };\r\n saveFileResult.trigger(result);\r\n return result;\r\n } catch (error) {\r\n saveFileError.trigger(error);\r\n return error;\r\n }\r\n };\r\n return {\r\n aliossResult: aliossResult.on,\r\n aliossError: aliossError.on,\r\n saveFileResult: saveFileResult.on,\r\n saveFileError: saveFileError.on,\r\n uploadFile,\r\n postSaveFile,\r\n };\r\n});\r\n"],"names":[],"mappings":";;;;;;;;;AAsDa,MAAA,WAAA,GAAc,CAAC,IAAe,KAAA;AACzC,EAAO,OAAA,IAAI,QAAgB,CAAW,OAAA,KAAA;AACpC,IAAM,MAAA,MAAA,GAAS,IAAI,UAAW,EAAA,CAAA;AAC9B,IAAO,MAAA,CAAA,MAAA,GAAS,eAAgB,CAAG,EAAA;AACjC,MAAM,MAAA,MAAA,GAAU,EAAE,MAAe,CAAA,MAAA,CAAA;AACjC,MAAQ,OAAA,CAAA,GAAA,CAAI,MAAM,CAAC,CAAA,CAAA;AAAA,KACrB,CAAA;AACA,IAAA,MAAA,CAAO,kBAAkB,IAAI,CAAA,CAAA;AAAA,GAC9B,CAAA,CAAA;AACH,EAAA;AAGa,MAAA,mBAAA,GAAsB,CAAC,IAAiB,KAAA;AACnD,EAAA,MAAM,UAAa,GAAA;AAAA,IACjB;AAAA,MACE,GAAK,EAAA,CAAA;AAAA,MACL,QAAU,EAAA,CAAA;AAAA,MACV,UAAY,EAAA,CAAA;AAAA,KACd;AAAA,IACA;AAAA,MACE,GAAK,EAAA,EAAA;AAAA,MACL,QAAU,EAAA,CAAA;AAAA,MACV,UAAY,EAAA,CAAA;AAAA,KACd;AAAA,IACA;AAAA,MACE,GAAK,EAAA,EAAA;AAAA,MACL,QAAU,EAAA,CAAA;AAAA,MACV,UAAY,EAAA,CAAA;AAAA,KACd;AAAA,IACA;AAAA,MACE,GAAK,EAAA,EAAA;AAAA,MACL,QAAU,EAAA,CAAA;AAAA,MACV,UAAY,EAAA,CAAA;AAAA,KACd;AAAA,IACA;AAAA,MACE,KAAK,MAAO,CAAA,iBAAA;AAAA,MACZ,QAAU,EAAA,CAAA;AAAA,MACV,UAAY,EAAA,CAAA;AAAA,KACd;AAAA,GACF,CAAA;AACA,EAAA,MAAM,EAAE,QAAU,EAAA,UAAA,EAAe,GAAA,UAAA,CAAW,KAAK,CAAC,EAAE,GAAI,EAAA,KAAM,QAAQ,GAAG,CAAA,IAAK,UAAW,CAAA,UAAA,CAAW,SAAS,CAAC,CAAA,CAAA;AAE9G,EAAO,OAAA;AAAA,IACL,QAAA;AAAA,IACA,QAAA,EAAU,aAAa,IAAO,GAAA,IAAA;AAAA,GAChC,CAAA;AACF,EAAA;AAGa,MAAA,kBAAA,GAAqB,WAAY,CAAA,YAAA,EAAc,MAAM;AAChE,EAAA,MAAM,eAAe,eAAgC,EAAA,CAAA;AACrD,EAAA,MAAM,cAAc,eAAqB,EAAA,CAAA;AACzC,EAAA,MAAM,iBAAiB,eAAsC,EAAA,CAAA;AAC7D,EAAA,MAAM,gBAAgB,eAAqB,EAAA,CAAA;AAG3C,EAAA,MAAM,eAAe,OAAO;AAAA,IAC1B,OAAA;AAAA,IACA,GAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,GAAA;AAAA,IACA,YAAA;AAAA,GAQI,KAAA;AAEJ,IAAO,OAAA,IAAI,OAAgC,CAAA,OAAM,OAAW,KAAA;AAC1D,MAAM,MAAA,EAAE,MAAS,GAAA,MAAM,eAAe,EAAE,OAAA,EAAS,KAAK,CAAA,CAAA;AACtD,MAAA,IAAI,KAAK,IAAS,KAAA,CAAA,IAAK,IAAK,CAAA,IAAA,CAAK,UAAU,CAAG,EAAA;AAC5C,QAAA,OAAO,QAAQ,KAAK,CAAA,CAAA;AAAA,OACtB;AACA,MAAA,MAAM,MAAS,GAAA;AAAA,QACb,IAAA;AAAA,QACA,GAAA;AAAA,QACA,YAAA;AAAA,QACA,IAAA;AAAA,QACA,GAAA,EAAK,KAAK,IAAK,CAAA,GAAA;AAAA,QACf,GAAK,EAAA,OAAA;AAAA,QACL,IAAM,EAAA,GAAA;AAAA,QACN,OAAS,EAAA,IAAA;AAAA,OACX,CAAA;AACA,MAAA,OAAA,CAAQ,MAAM,CAAA,CAAA;AACd,MAAA,YAAA,CAAa,QAAQ,MAAM,CAAA,CAAA;AAAA,KAC5B,CAAA,CAAA;AAAA,GACH,CAAA;AAGA,EAAA,MAAM,UAAa,GAAA,OAAO,EAAE,IAAA,EAAM,QAAU,EAAA,MAAA,EAAQ,IAAM,EAAA,QAAA,EAAU,QAAU,EAAA,OAAA,EAAS,MAAQ,EAAA,GAAA,EAAK,WAA8B,KAAA;AAChI,IAAA,IAAI,EAAE,IAAA,EAAM,GAAK,EAAA,YAAA,EAAc,MAAS,GAAA,IAAA,CAAA;AACxC,IAAA,MAAM,MAAM,IAAK,CAAA,KAAA,CAAM,UAAU,CAAA,GAAI,CAAC,CAAK,IAAA,EAAA,CAAA;AAC3C,IAAA,IAAA,GAAA,CAAQ,YAAY,IAAM,EAAA,KAAA,CAAM,GAAG,IAAK,CAAA,WAAA,CAAY,GAAG,CAAC,CAAA,CAAA;AACxD,IAAM,MAAA,OAAA,GAAU,MAAM,WAAA,CAAY,IAAI,CAAA,CAAA;AACtC,IAAA,MAAM,WAAW,IAAO,GAAA,GAAA,CAAA;AACxB,IAAA,MAAM,IAAO,GAAA,GAAA,CAAI,UAAW,CAAA,GAAA,EAAK,EAAE,CAAA,CAAA;AAEnC,IAAI,IAAA;AACF,MAAA,IAAI,MAAS,GAAA,MAAM,YAAa,CAAA,EAAE,OAAS,EAAA,GAAA,EAAK,IAAM,EAAA,IAAA,EAAM,QAAU,EAAA,IAAA,EAAM,GAAK,EAAA,YAAA,EAAc,CAAA,CAAA;AAC/F,MAAI,IAAA,MAAA;AAAQ,QAAO,OAAA,MAAA,CAAA;AAGnB,MAAM,MAAA,OAAA,GAAU,KAAK,GAAI,EAAA,CAAA;AACzB,MAAA,MAAM,IAAO,GAAA,CAAA,EAAG,MAAU,IAAA,UAAU,CAAI,CAAA,EAAA,IAAA,IAAQ,SAAS,CAAA,MAAA,EAAS,OAAO,CAAA,CAAA,EAAI,OAAO,CAAA,EAAG,GAAG,CAAA,CAAA,CAAA;AAE1F,MAAM,MAAA,CAAA,GAAI,oBAAoB,IAAI,CAAA,CAAA;AAClC,MAAU,OAAA,GAAA;AAAA,QACR,GAAG,CAAA;AAAA,QACH,GAAG,EAAE,QAAA,EAAU,QAAS,EAAA;AAAA,QACxB,kBAAoB,EAAA,CAAA,oBAAA,EAAuB,kBAAmB,CAAA,IAAI,CAAC,CAAA,EAAG,GAAG,CAAA,WAAA,EAAc,kBAAmB,CAAA,IAAI,CAAC,CAAA,EAAG,GAAG,CAAA,CAAA;AAAA,QACrH,GAAG,OAAA;AAAA,OACL,CAAA;AAGA,MAAM,MAAA,EAAE,aAAa,eAAiB,EAAA,aAAA,KAAkB,MAAM,mBAAA,GAAsB,mBAAoB,EAAA,CAAA;AAExG,MAAM,MAAA,MAAA,GAAS,IAAI,MAAO,CAAA;AAAA;AAAA,QAExB,MAAQ,EAAA,iBAAA;AAAA;AAAA,QAER,WAAa,EAAA,WAAA;AAAA,QACb,eAAiB,EAAA,eAAA;AAAA,QACjB,QAAU,EAAA,aAAA;AAAA;AAAA,QAEV,uBAAyB,EAAA,GAAA;AAAA;AAAA,QAEzB,QAAQ,MAAU,IAAA,iBAAA;AAAA,OACnB,CAAA,CAAA;AAED,MAAA,MAAM,MAAS,GAAA,OAAA,CAAQ,QAAa,KAAA,CAAA,GAAI,KAAQ,GAAA,iBAAA,CAAA;AAChD,MAAM,MAAA,EAAE,KAAQ,GAAA,MAAM,OAAO,MAAM,CAAA,CAAE,IAAM,EAAA,IAAA,EAAM,OAAO,CAAA,CAAA;AACxD,MAAI,IAAA,GAAA,CAAI,WAAW,GAAK,EAAA;AACtB,QAAA,WAAA,CAAY,QAAQ,GAAG,CAAA,CAAA;AACvB,QAAO,OAAA,GAAA,CAAA;AAAA,OACT;AACA,MAAA,GAAA,GAAM,GAAO,IAAA,0BAAA,CAAA;AACb,MAAA,MAAM,YAAY,GAAM,GAAA,IAAA,CAAA;AACxB,MAAS,MAAA,GAAA;AAAA,QACP,GAAK,EAAA,SAAA;AAAA,QACL,MAAM,IAAO,GAAA,GAAA;AAAA,QACb,GAAK,EAAA,OAAA;AAAA,QACL,IAAM,EAAA,GAAA,CAAI,UAAW,CAAA,GAAA,EAAK,EAAE,CAAA;AAAA,QAC5B,GAAA;AAAA,QACA,YAAA;AAAA,QACA,IAAA;AAAA,QACA,OAAS,EAAA,KAAA;AAAA,OACX,CAAA;AACA,MAAA,IAAI,SAAW,EAAA;AACb,QAAA,YAAA,CAAa,EAAE,GAAK,EAAA,SAAA,EAAW,UAAU,OAAS,EAAA,SAAA,EAAW,MAAM,CAAA,CAAA;AAAA,OACrE;AACA,MAAA,YAAA,CAAa,QAAQ,MAAM,CAAA,CAAA;AAC3B,MAAO,OAAA,MAAA,CAAA;AAAA,aACA,KAAO,EAAA;AACd,MAAA,WAAA,CAAY,QAAQ,KAAK,CAAA,CAAA;AACzB,MAAO,OAAA,KAAA,CAAA;AAAA,KACT;AAAA,GACF,CAAA;AAGA,EAAA,MAAM,eAAe,OAAO,EAAE,GAAK,EAAA,QAAA,EAAU,WAA2C,KAAA;AACtF,IAAI,IAAA;AACF,MAAA,MAAM,EAAE,IAAA,EAAS,GAAA,MAAM,qBAAsB,CAAA,EAAE,QAAU,EAAA,EAAE,GAAK,EAAA,QAAA,EAAU,SAAU,EAAA,EAAG,CAAA,CAAA;AACvF,MAAI,IAAA,IAAA,EAAM,SAAS,CAAG,EAAA;AACpB,QAAA,aAAA,CAAc,QAAQ,IAAI,CAAA,CAAA;AAC1B,QAAO,OAAA,IAAA,CAAA;AAAA,OACT;AACA,MAAA,MAAM,MAAS,GAAA;AAAA,QACb,GAAA;AAAA,QACA,QAAA;AAAA,QACA,SAAA;AAAA,OACF,CAAA;AACA,MAAA,cAAA,CAAe,QAAQ,MAAM,CAAA,CAAA;AAC7B,MAAO,OAAA,MAAA,CAAA;AAAA,aACA,KAAO,EAAA;AACd,MAAA,aAAA,CAAc,QAAQ,KAAK,CAAA,CAAA;AAC3B,MAAO,OAAA,KAAA,CAAA;AAAA,KACT;AAAA,GACF,CAAA;AACA,EAAO,OAAA;AAAA,IACL,cAAc,YAAa,CAAA,EAAA;AAAA,IAC3B,aAAa,WAAY,CAAA,EAAA;AAAA,IACzB,gBAAgB,cAAe,CAAA,EAAA;AAAA,IAC/B,eAAe,aAAc,CAAA,EAAA;AAAA,IAC7B,UAAA;AAAA,IACA,YAAA;AAAA,GACF,CAAA;AACF,CAAC;;;;"}
@@ -0,0 +1,17 @@
1
+ import { type GetOssAccessTokenResponseData } from '../../../api/materialApi';
2
+ /**
3
+ * @description 素材上传权限
4
+ * @param {*}
5
+ * @return {*}
6
+ **/
7
+ declare const useAliossTokenStore: import("pinia").StoreDefinition<"aliossToken", import("pinia")._UnwrapAll<Pick<{
8
+ isLoading: import("vue").Ref<boolean>;
9
+ getAliossTokenAsync: () => Promise<GetOssAccessTokenResponseData>;
10
+ }, "isLoading">>, Pick<{
11
+ isLoading: import("vue").Ref<boolean>;
12
+ getAliossTokenAsync: () => Promise<GetOssAccessTokenResponseData>;
13
+ }, never>, Pick<{
14
+ isLoading: import("vue").Ref<boolean>;
15
+ getAliossTokenAsync: () => Promise<GetOssAccessTokenResponseData>;
16
+ }, "getAliossTokenAsync">>;
17
+ export default useAliossTokenStore;
@@ -0,0 +1,51 @@
1
+ import { ref } from 'vue';
2
+ import { defineStore } from 'pinia';
3
+ import '../../../api/materialApi/index.mjs';
4
+ import { createEventHook } from '@vueuse/core';
5
+ import Cookies from 'js-cookie';
6
+ import { getOssAccessToken } from '../../../api/materialApi/cross/getOssAccessToken.mjs';
7
+
8
+ const useAliossTokenStore = defineStore("aliossToken", () => {
9
+ const isLoading = ref(false);
10
+ const aliossTokenResult = createEventHook();
11
+ const setCookie = (data) => {
12
+ if (!data)
13
+ return;
14
+ const { Expiration } = data;
15
+ const time = new Date(new Date(Expiration ?? 0).getTime() - 1e4);
16
+ Cookies.set("aliossStsToken", JSON.stringify(data), { expires: time });
17
+ };
18
+ const getAliossToken = async () => {
19
+ const aliossStsToken = Cookies.get("aliossStsToken");
20
+ if (aliossStsToken) {
21
+ return JSON.parse(aliossStsToken);
22
+ }
23
+ isLoading.value = true;
24
+ try {
25
+ const { data } = await getOssAccessToken();
26
+ if (data.code === 0) {
27
+ setCookie(data.data);
28
+ aliossTokenResult.trigger(data.data);
29
+ }
30
+ return data.data;
31
+ } finally {
32
+ isLoading.value = false;
33
+ }
34
+ };
35
+ const getAliossTokenAsync = () => {
36
+ return new Promise((resolve) => {
37
+ if (isLoading.value) {
38
+ aliossTokenResult.on((value) => resolve(value));
39
+ } else {
40
+ resolve(getAliossToken());
41
+ }
42
+ });
43
+ };
44
+ return {
45
+ isLoading,
46
+ getAliossTokenAsync
47
+ };
48
+ });
49
+
50
+ export { useAliossTokenStore as default };
51
+ //# sourceMappingURL=aliossToken.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aliossToken.mjs","sources":["../../../../../../packages/utils/src/alioss/aliossToken.ts"],"sourcesContent":["import { ref } from 'vue';\r\nimport { defineStore } from 'pinia';\r\nimport { type GetOssAccessTokenResponseData, getOssAccessToken } from '@giime/api/materialApi';\r\nimport { createEventHook } from '@vueuse/core';\r\nimport Cookies from 'js-cookie';\r\n\r\n/**\r\n * @description 素材上传权限\r\n * @param {*}\r\n * @return {*}\r\n **/\r\n\r\nconst useAliossTokenStore = defineStore('aliossToken', () => {\r\n const isLoading = ref(false);\r\n const aliossTokenResult = createEventHook<GetOssAccessTokenResponseData>();\r\n\r\n const setCookie = (data: GetOssAccessTokenResponseData) => {\r\n if (!data) return;\r\n const { Expiration } = data;\r\n const time = new Date(new Date(Expiration ?? 0).getTime() - 10000); //-10秒作为缓冲\r\n Cookies.set('aliossStsToken', JSON.stringify(data), { expires: time });\r\n };\r\n\r\n /* 请求临时上传权限 */\r\n const getAliossToken = async () => {\r\n const aliossStsToken = Cookies.get('aliossStsToken');\r\n if (aliossStsToken) {\r\n return JSON.parse(aliossStsToken) as GetOssAccessTokenResponseData;\r\n }\r\n isLoading.value = true;\r\n try {\r\n const { data } = await getOssAccessToken();\r\n if (data.code === 0) {\r\n setCookie(data.data);\r\n aliossTokenResult.trigger(data.data);\r\n }\r\n return data.data;\r\n } finally {\r\n isLoading.value = false;\r\n }\r\n };\r\n\r\n /* 获取 alioss 临时上传 token*/\r\n const getAliossTokenAsync = () => {\r\n /* 若正在请求请求临时token接口 则其他后进来的等待 */\r\n return new Promise<GetOssAccessTokenResponseData>(resolve => {\r\n if (isLoading.value) {\r\n aliossTokenResult.on(value => resolve(value));\r\n } else {\r\n resolve(getAliossToken());\r\n }\r\n });\r\n };\r\n\r\n return {\r\n isLoading,\r\n getAliossTokenAsync,\r\n };\r\n});\r\n\r\nexport default useAliossTokenStore;\r\n"],"names":[],"mappings":";;;;;;;AAYM,MAAA,mBAAA,GAAsB,WAAY,CAAA,aAAA,EAAe,MAAM;AAC3D,EAAM,MAAA,SAAA,GAAY,IAAI,KAAK,CAAA,CAAA;AAC3B,EAAA,MAAM,oBAAoB,eAA+C,EAAA,CAAA;AAEzE,EAAM,MAAA,SAAA,GAAY,CAAC,IAAwC,KAAA;AACzD,IAAA,IAAI,CAAC,IAAA;AAAM,MAAA,OAAA;AACX,IAAM,MAAA,EAAE,YAAe,GAAA,IAAA,CAAA;AACvB,IAAM,MAAA,IAAA,GAAO,IAAI,IAAA,CAAK,IAAI,IAAA,CAAK,cAAc,CAAC,CAAA,CAAE,OAAQ,EAAA,GAAI,GAAK,CAAA,CAAA;AACjE,IAAQ,OAAA,CAAA,GAAA,CAAI,kBAAkB,IAAK,CAAA,SAAA,CAAU,IAAI,CAAG,EAAA,EAAE,OAAS,EAAA,IAAA,EAAM,CAAA,CAAA;AAAA,GACvE,CAAA;AAGA,EAAA,MAAM,iBAAiB,YAAY;AACjC,IAAM,MAAA,cAAA,GAAiB,OAAQ,CAAA,GAAA,CAAI,gBAAgB,CAAA,CAAA;AACnD,IAAA,IAAI,cAAgB,EAAA;AAClB,MAAO,OAAA,IAAA,CAAK,MAAM,cAAc,CAAA,CAAA;AAAA,KAClC;AACA,IAAA,SAAA,CAAU,KAAQ,GAAA,IAAA,CAAA;AAClB,IAAI,IAAA;AACF,MAAA,MAAM,EAAE,IAAA,EAAS,GAAA,MAAM,iBAAkB,EAAA,CAAA;AACzC,MAAI,IAAA,IAAA,CAAK,SAAS,CAAG,EAAA;AACnB,QAAA,SAAA,CAAU,KAAK,IAAI,CAAA,CAAA;AACnB,QAAkB,iBAAA,CAAA,OAAA,CAAQ,KAAK,IAAI,CAAA,CAAA;AAAA,OACrC;AACA,MAAA,OAAO,IAAK,CAAA,IAAA,CAAA;AAAA,KACZ,SAAA;AACA,MAAA,SAAA,CAAU,KAAQ,GAAA,KAAA,CAAA;AAAA,KACpB;AAAA,GACF,CAAA;AAGA,EAAA,MAAM,sBAAsB,MAAM;AAEhC,IAAO,OAAA,IAAI,QAAuC,CAAW,OAAA,KAAA;AAC3D,MAAA,IAAI,UAAU,KAAO,EAAA;AACnB,QAAA,iBAAA,CAAkB,EAAG,CAAA,CAAA,KAAA,KAAS,OAAQ,CAAA,KAAK,CAAC,CAAA,CAAA;AAAA,OACvC,MAAA;AACL,QAAA,OAAA,CAAQ,gBAAgB,CAAA,CAAA;AAAA,OAC1B;AAAA,KACD,CAAA,CAAA;AAAA,GACH,CAAA;AAEA,EAAO,OAAA;AAAA,IACL,SAAA;AAAA,IACA,mBAAA;AAAA,GACF,CAAA;AACF,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"createAxios.mjs","sources":["../../../../../../packages/utils/src/http/createAxios.ts"],"sourcesContent":["import axios from 'axios';\nimport { ElMessage } from 'element-plus';\nimport Cookies from 'js-cookie';\nimport { useLoginStore } from '@giime/hooks/store/useLogin';\nimport { isNumber } from '../is';\nimport { res401Interceptors } from './interceptors';\nimport { responseErrorMessage } from './errorMessage';\nimport type { AxiosError, CreateAxiosDefaults, InternalAxiosRequestConfig } from 'axios';\nexport interface CreateAxiosConfig extends CreateAxiosDefaults {\n baseURL: string;\n /**服务器调用成功的code 一般是 0 或 200 */\n successCode: number;\n}\n\nexport const createAxios = (\n config: CreateAxiosConfig,\n options?: {\n requestInterceptors?: (config: InternalAxiosRequestConfig<any>) => any;\n },\n) => {\n const successCode = config.successCode ?? 0;\n const service = axios.create({\n withCredentials: true, // send cookies when cross-domain requests\n timeout: 120_000,\n headers: {\n 'content-type': 'application/json',\n Accept: '*/*',\n },\n ...config,\n });\n\n // 请求拦截器\n service.interceptors.request.use(\n async config => {\n const logingStore = useLoginStore();\n const _token = Cookies.get('token') ?? logingStore.userToken;\n const _user = Cookies.get('sso_user_id') ?? logingStore.userId;\n if (!config.params) {\n config.params = {};\n }\n config.params._token = _token;\n config.params._user = _user;\n config.headers.Authorization = `Bearer ${_token}`;\n await options?.requestInterceptors?.(config);\n return config;\n },\n error => {\n console.error('请求错误', error); // for debug\n return Promise.reject(error);\n },\n );\n // 添加响应拦截器\n service.interceptors.response.use(\n async response => {\n // 对响应数据做点什么\n const res = response.data;\n const msg = (res?.comment ?? res?.message ?? res?.errMsg ?? res?.msg) || '接口请求错误';\n if (!isNumber(res?.code)) {\n return response;\n }\n // 成功情况\n else if (res.code === successCode || res.errCode === successCode) {\n return response;\n }\n // 401\n else if (res.code === 401) {\n const res = await res401Interceptors(service, response.config);\n return res;\n }\n ElMessage({\n message: msg,\n type: 'error',\n grouping: true,\n duration: 5 * 1000,\n showClose: true,\n });\n return Promise.reject(response);\n // return response;\n },\n async (err: AxiosError) => {\n console.error(err.config);\n if (err?.response?.status === 401 && !err.message.includes('timeout')) {\n const res = await res401Interceptors(service, err.config!);\n return res;\n } else {\n // 对响应错误做点什么\n responseErrorMessage(err);\n return Promise.reject(err);\n }\n },\n );\n\n return {\n service,\n };\n};\n"],"names":["config","res"],"mappings":";;;;;;;;AAca,MAAA,WAAA,GAAc,CACzB,MAAA,EACA,OAGG,KAAA;AACH,EAAM,MAAA,WAAA,GAAc,OAAO,WAAe,IAAA,CAAA,CAAA;AAC1C,EAAM,MAAA,OAAA,GAAU,MAAM,MAAO,CAAA;AAAA,IAC3B,eAAiB,EAAA,IAAA;AAAA;AAAA,IACjB,OAAS,EAAA,IAAA;AAAA,IACT,OAAS,EAAA;AAAA,MACP,cAAgB,EAAA,kBAAA;AAAA,MAChB,MAAQ,EAAA,KAAA;AAAA,KACV;AAAA,IACA,GAAG,MAAA;AAAA,GACJ,CAAA,CAAA;AAGD,EAAA,OAAA,CAAQ,aAAa,OAAQ,CAAA,GAAA;AAAA,IAC3B,OAAMA,OAAU,KAAA;AACd,MAAA,MAAM,cAAc,aAAc,EAAA,CAAA;AAClC,MAAA,MAAM,MAAS,GAAA,OAAA,CAAQ,GAAI,CAAA,OAAO,KAAK,WAAY,CAAA,SAAA,CAAA;AACnD,MAAA,MAAM,KAAQ,GAAA,OAAA,CAAQ,GAAI,CAAA,aAAa,KAAK,WAAY,CAAA,MAAA,CAAA;AACxD,MAAI,IAAA,CAACA,QAAO,MAAQ,EAAA;AAClB,QAAAA,OAAAA,CAAO,SAAS,EAAC,CAAA;AAAA,OACnB;AACA,MAAAA,OAAAA,CAAO,OAAO,MAAS,GAAA,MAAA,CAAA;AACvB,MAAAA,OAAAA,CAAO,OAAO,KAAQ,GAAA,KAAA,CAAA;AACtB,MAAAA,OAAO,CAAA,OAAA,CAAQ,aAAgB,GAAA,CAAA,OAAA,EAAU,MAAM,CAAA,CAAA,CAAA;AAC/C,MAAM,MAAA,OAAA,EAAS,sBAAsBA,OAAM,CAAA,CAAA;AAC3C,MAAOA,OAAAA,OAAAA,CAAAA;AAAA,KACT;AAAA,IACA,CAAS,KAAA,KAAA;AACP,MAAQ,OAAA,CAAA,KAAA,CAAM,4BAAQ,KAAK,CAAA,CAAA;AAC3B,MAAO,OAAA,OAAA,CAAQ,OAAO,KAAK,CAAA,CAAA;AAAA,KAC7B;AAAA,GACF,CAAA;AAEA,EAAA,OAAA,CAAQ,aAAa,QAAS,CAAA,GAAA;AAAA,IAC5B,OAAM,QAAY,KAAA;AAEhB,MAAA,MAAM,MAAM,QAAS,CAAA,IAAA,CAAA;AACrB,MAAM,MAAA,GAAA,GAAA,CAAO,KAAK,OAAW,IAAA,GAAA,EAAK,WAAW,GAAK,EAAA,MAAA,IAAU,KAAK,GAAQ,KAAA,sCAAA,CAAA;AACzE,MAAA,IAAI,CAAC,QAAA,CAAS,GAAK,EAAA,IAAI,CAAG,EAAA;AACxB,QAAO,OAAA,QAAA,CAAA;AAAA,iBAGA,GAAI,CAAA,IAAA,KAAS,WAAe,IAAA,GAAA,CAAI,YAAY,WAAa,EAAA;AAChE,QAAO,OAAA,QAAA,CAAA;AAAA,OACT,MAAA,IAES,GAAI,CAAA,IAAA,KAAS,GAAK,EAAA;AACzB,QAAA,MAAMC,IAAM,GAAA,MAAM,kBAAmB,CAAA,OAAA,EAAS,SAAS,MAAM,CAAA,CAAA;AAC7D,QAAOA,OAAAA,IAAAA,CAAAA;AAAA,OACT;AACA,MAAU,SAAA,CAAA;AAAA,QACR,OAAS,EAAA,GAAA;AAAA,QACT,IAAM,EAAA,OAAA;AAAA,QACN,QAAU,EAAA,IAAA;AAAA,QACV,UAAU,CAAI,GAAA,GAAA;AAAA,QACd,SAAW,EAAA,IAAA;AAAA,OACZ,CAAA,CAAA;AACD,MAAO,OAAA,OAAA,CAAQ,OAAO,QAAQ,CAAA,CAAA;AAAA,KAEhC;AAAA,IACA,OAAO,GAAoB,KAAA;AACzB,MAAQ,OAAA,CAAA,KAAA,CAAM,IAAI,MAAM,CAAA,CAAA;AACxB,MAAI,IAAA,GAAA,EAAK,UAAU,MAAW,KAAA,GAAA,IAAO,CAAC,GAAI,CAAA,OAAA,CAAQ,QAAS,CAAA,SAAS,CAAG,EAAA;AACrE,QAAA,MAAM,GAAM,GAAA,MAAM,kBAAmB,CAAA,OAAA,EAAS,IAAI,MAAO,CAAA,CAAA;AACzD,QAAO,OAAA,GAAA,CAAA;AAAA,OACF,MAAA;AAEL,QAAA,oBAAA,CAAqB,GAAG,CAAA,CAAA;AACxB,QAAO,OAAA,OAAA,CAAQ,OAAO,GAAG,CAAA,CAAA;AAAA,OAC3B;AAAA,KACF;AAAA,GACF,CAAA;AAEA,EAAO,OAAA;AAAA,IACL,OAAA;AAAA,GACF,CAAA;AACF;;;;"}
1
+ {"version":3,"file":"createAxios.mjs","sources":["../../../../../../packages/utils/src/http/createAxios.ts"],"sourcesContent":["import axios from 'axios';\r\nimport { ElMessage } from 'element-plus';\r\nimport Cookies from 'js-cookie';\r\nimport { useLoginStore } from '@giime/hooks/store/useLogin';\r\nimport { isNumber } from '../is';\r\nimport { res401Interceptors } from './interceptors';\r\nimport { responseErrorMessage } from './errorMessage';\r\nimport type { AxiosError, CreateAxiosDefaults, InternalAxiosRequestConfig } from 'axios';\r\nexport interface CreateAxiosConfig extends CreateAxiosDefaults {\r\n baseURL: string;\r\n /**服务器调用成功的code 一般是 0 或 200 */\r\n successCode: number;\r\n}\r\n\r\nexport const createAxios = (\r\n config: CreateAxiosConfig,\r\n options?: {\r\n requestInterceptors?: (config: InternalAxiosRequestConfig<any>) => any;\r\n },\r\n) => {\r\n const successCode = config.successCode ?? 0;\r\n const service = axios.create({\r\n withCredentials: true, // send cookies when cross-domain requests\r\n timeout: 120_000,\r\n headers: {\r\n 'content-type': 'application/json',\r\n Accept: '*/*',\r\n },\r\n ...config,\r\n });\r\n\r\n // 请求拦截器\r\n service.interceptors.request.use(\r\n async config => {\r\n const logingStore = useLoginStore();\r\n const _token = Cookies.get('token') ?? logingStore.userToken;\r\n const _user = Cookies.get('sso_user_id') ?? logingStore.userId;\r\n if (!config.params) {\r\n config.params = {};\r\n }\r\n config.params._token = _token;\r\n config.params._user = _user;\r\n config.headers.Authorization = `Bearer ${_token}`;\r\n await options?.requestInterceptors?.(config);\r\n return config;\r\n },\r\n error => {\r\n console.error('请求错误', error); // for debug\r\n return Promise.reject(error);\r\n },\r\n );\r\n // 添加响应拦截器\r\n service.interceptors.response.use(\r\n async response => {\r\n // 对响应数据做点什么\r\n const res = response.data;\r\n const msg = (res?.comment ?? res?.message ?? res?.errMsg ?? res?.msg) || '接口请求错误';\r\n if (!isNumber(res?.code)) {\r\n return response;\r\n }\r\n // 成功情况\r\n else if (res.code === successCode || res.errCode === successCode) {\r\n return response;\r\n }\r\n // 401\r\n else if (res.code === 401) {\r\n const res = await res401Interceptors(service, response.config);\r\n return res;\r\n }\r\n ElMessage({\r\n message: msg,\r\n type: 'error',\r\n grouping: true,\r\n duration: 5 * 1000,\r\n showClose: true,\r\n });\r\n return Promise.reject(response);\r\n // return response;\r\n },\r\n async (err: AxiosError) => {\r\n console.error(err.config);\r\n if (err?.response?.status === 401 && !err.message.includes('timeout')) {\r\n const res = await res401Interceptors(service, err.config!);\r\n return res;\r\n } else {\r\n // 对响应错误做点什么\r\n responseErrorMessage(err);\r\n return Promise.reject(err);\r\n }\r\n },\r\n );\r\n\r\n return {\r\n service,\r\n };\r\n};\r\n"],"names":["config","res"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"errorMessage.mjs","sources":["../../../../../../packages/utils/src/http/errorMessage.ts"],"sourcesContent":["import { ElMessage, type MessageOptions } from 'element-plus';\nimport type { AxiosError } from 'axios';\n\n/**\n * 统一错误弹窗\n */\nexport const errorMessage = (options: MessageOptions) => {\n return ElMessage({\n type: 'error',\n duration: 5 * 1000,\n showClose: true,\n grouping: true,\n ...options,\n message: options?.message || '未知错误',\n });\n};\n// 抛错时 error\nexport const responseErrorMessage = (error: AxiosError<any, any>, options?: MessageOptions) => {\n if (error.config?.disableMessage) {\n return;\n }\n if (error.code === 'ERR_CANCELED') {\n return Promise.reject(error);\n }\n const serviceMessage =\n (error?.response?.data?.message || error?.response?.data?.comment || error?.response?.data?.msg || error?.response?.data?.errMsg) ?? '';\n switch (error.response?.status) {\n case 400:\n return errorMessage({\n message: `400-客户端错误,请求失败。${serviceMessage}\n 接口地址:${error.config?.url ?? ''}`,\n ...options,\n });\n case 403:\n return errorMessage({\n message: `403-无权访问。${serviceMessage}\n 接口地址:${error.config?.url ?? ''}`,\n ...options,\n });\n case 404:\n return errorMessage({\n message: `404-无效的请求。${serviceMessage}\n 接口地址:${error.config?.url ?? ''}`,\n ...options,\n });\n case 413:\n return errorMessage({\n message: `413-请求内容过大。${serviceMessage}\n 接口地址:${error.config?.url ?? ''}`,\n ...options,\n });\n case 500:\n return errorMessage({\n message: `500-服务器内部错误o(╥﹏╥)o。${serviceMessage}\n 接口地址:${error.config?.url ?? ''}`,\n ...options,\n });\n case 502:\n return errorMessage({\n message: `502-网关错误。${serviceMessage}\n 接口地址:${error.config?.url ?? ''}`,\n ...options,\n });\n case 504:\n return errorMessage({\n message: `504-网关超时。${serviceMessage}\n 接口地址:${error.config?.url ?? ''}`,\n ...options,\n });\n\n default:\n break;\n }\n // console.error('error', error);\n // console.error('error.message', error.message);\n // console.error('error.status', error.status);\n // console.error('error.response', error.response);\n // console.error('error.code', error.code);\n // console.error('error.name', error.name);\n // 对响应错误做点什么\n if (error.message.includes('timeout')) {\n errorMessage({\n duration: 10 * 1000,\n message: `请求超时。${serviceMessage}\n 接口地址:${error.config?.url ?? ''}`,\n ...options,\n });\n } else if (error.message.includes('Network Error')) {\n errorMessage({\n duration: 10 * 1000,\n message: `网络错误。${serviceMessage}\n 接口地址:${error.config?.url ?? ''}`,\n ...options,\n });\n } else {\n errorMessage({\n message: `${error.message}。${serviceMessage}\n 接口地址:${error.config?.url ?? ''}`,\n ...options,\n });\n }\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errorMessage.mjs","sources":["../../../../../../packages/utils/src/http/errorMessage.ts"],"sourcesContent":["import { ElMessage, type MessageOptions } from 'element-plus';\r\nimport type { AxiosError } from 'axios';\r\n\r\n/**\r\n * 统一错误弹窗\r\n */\r\nexport const errorMessage = (options: MessageOptions) => {\r\n return ElMessage({\r\n type: 'error',\r\n duration: 5 * 1000,\r\n showClose: true,\r\n grouping: true,\r\n ...options,\r\n message: options?.message || '未知错误',\r\n });\r\n};\r\n// 抛错时 error\r\nexport const responseErrorMessage = (error: AxiosError<any, any>, options?: MessageOptions) => {\r\n if (error.config?.disableMessage) {\r\n return;\r\n }\r\n if (error.code === 'ERR_CANCELED') {\r\n return Promise.reject(error);\r\n }\r\n const serviceMessage =\r\n (error?.response?.data?.message || error?.response?.data?.comment || error?.response?.data?.msg || error?.response?.data?.errMsg) ?? '';\r\n switch (error.response?.status) {\r\n case 400:\r\n return errorMessage({\r\n message: `400-客户端错误,请求失败。${serviceMessage}\r\n 接口地址:${error.config?.url ?? ''}`,\r\n ...options,\r\n });\r\n case 403:\r\n return errorMessage({\r\n message: `403-无权访问。${serviceMessage}\r\n 接口地址:${error.config?.url ?? ''}`,\r\n ...options,\r\n });\r\n case 404:\r\n return errorMessage({\r\n message: `404-无效的请求。${serviceMessage}\r\n 接口地址:${error.config?.url ?? ''}`,\r\n ...options,\r\n });\r\n case 413:\r\n return errorMessage({\r\n message: `413-请求内容过大。${serviceMessage}\r\n 接口地址:${error.config?.url ?? ''}`,\r\n ...options,\r\n });\r\n case 500:\r\n return errorMessage({\r\n message: `500-服务器内部错误o(╥﹏╥)o。${serviceMessage}\r\n 接口地址:${error.config?.url ?? ''}`,\r\n ...options,\r\n });\r\n case 502:\r\n return errorMessage({\r\n message: `502-网关错误。${serviceMessage}\r\n 接口地址:${error.config?.url ?? ''}`,\r\n ...options,\r\n });\r\n case 504:\r\n return errorMessage({\r\n message: `504-网关超时。${serviceMessage}\r\n 接口地址:${error.config?.url ?? ''}`,\r\n ...options,\r\n });\r\n\r\n default:\r\n break;\r\n }\r\n // console.error('error', error);\r\n // console.error('error.message', error.message);\r\n // console.error('error.status', error.status);\r\n // console.error('error.response', error.response);\r\n // console.error('error.code', error.code);\r\n // console.error('error.name', error.name);\r\n // 对响应错误做点什么\r\n if (error.message.includes('timeout')) {\r\n errorMessage({\r\n duration: 10 * 1000,\r\n message: `请求超时。${serviceMessage}\r\n 接口地址:${error.config?.url ?? ''}`,\r\n ...options,\r\n });\r\n } else if (error.message.includes('Network Error')) {\r\n errorMessage({\r\n duration: 10 * 1000,\r\n message: `网络错误。${serviceMessage}\r\n 接口地址:${error.config?.url ?? ''}`,\r\n ...options,\r\n });\r\n } else {\r\n errorMessage({\r\n message: `${error.message}。${serviceMessage}\r\n 接口地址:${error.config?.url ?? ''}`,\r\n ...options,\r\n });\r\n }\r\n};\r\n"],"names":[],"mappings":"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"}
@@ -40,14 +40,56 @@ export declare function isError(value: any): value is Error;
40
40
  export declare function isPlainObject(value: any): value is object;
41
41
  export declare const isHttps: () => boolean;
42
42
  /**
43
- * @description 描述:判断是否是视频
43
+ * @description 描述:判断是否为视频
44
44
  * @param {string} url 文件链接 或 文件名
45
45
  * @return {*}
46
46
  **/
47
47
  export declare const isVideoUrl: (url: string) => boolean;
48
48
  /**
49
- * @description 描述:判断是否是图片
49
+ * @description 描述:判断是否为图片
50
50
  * @param {string} url 文件链接 或 文件名
51
51
  * @return {*}
52
52
  **/
53
53
  export declare const isImageUrl: (url: string) => boolean;
54
+ /**
55
+ * @description 描述:判断是否为PDF
56
+ * @param {string} url 文件链接 或 文件名
57
+ * @return {*}
58
+ **/
59
+ export declare const isPDF: (url: string) => boolean;
60
+ /**
61
+ * @description 描述:是否为Word
62
+ * @param {string} url 文件链接 或 文件名
63
+ * @return {*}
64
+ **/
65
+ export declare const isWord: (url: string) => boolean;
66
+ /**
67
+ * @description 描述:是否为Excel
68
+ * @param {string} url 文件链接 或 文件名
69
+ * @return {*}
70
+ **/
71
+ export declare const isExcel: (url: string) => boolean;
72
+ /**
73
+ * @description 描述:是否为PPT
74
+ * @param {string} url 文件链接 或 文件名
75
+ * @return {*}
76
+ **/
77
+ export declare const isPPT: (url: string) => boolean;
78
+ /**
79
+ * @description 描述:是否为text
80
+ * @param {string} url 文件链接 或 文件名
81
+ * @return {*}
82
+ **/
83
+ export declare const isText: (url: string) => boolean;
84
+ /**
85
+ * @description 描述:是否为PSD
86
+ * @param {string} url 文件链接 或 文件名
87
+ * @return {*}
88
+ **/
89
+ export declare const isPSD: (url: string) => boolean;
90
+ /**
91
+ * @description 描述:是否为压缩包
92
+ * @param {string} url 文件链接 或 文件名
93
+ * @return {*}
94
+ **/
95
+ export declare const isZip: (url: string) => boolean;
@@ -83,6 +83,34 @@ const isImageUrl = (url) => {
83
83
  const imageReg = /\.(jpg|jpeg|png|gif|webp|svg|bmp)$/i;
84
84
  return imageReg.test(url);
85
85
  };
86
+ const isPDF = (url) => {
87
+ const pdfReg = /\.(pdf)$/i;
88
+ return pdfReg.test(url);
89
+ };
90
+ const isWord = (url) => {
91
+ const docReg = /\.(doc|docx)$/i;
92
+ return docReg.test(url);
93
+ };
94
+ const isExcel = (url) => {
95
+ const excelReg = /\.(xls|xlsx)$/i;
96
+ return excelReg.test(url);
97
+ };
98
+ const isPPT = (url) => {
99
+ const pptReg = /\.(ppt|pptx)$/i;
100
+ return pptReg.test(url);
101
+ };
102
+ const isText = (url) => {
103
+ const textReg = /\.(txt)$/i;
104
+ return textReg.test(url);
105
+ };
106
+ const isPSD = (url) => {
107
+ const psdReg = /\.(psd)$/i;
108
+ return psdReg.test(url);
109
+ };
110
+ const isZip = (url) => {
111
+ const zipReg = /\.(zip|rar|7z)$/i;
112
+ return zipReg.test(url);
113
+ };
86
114
 
87
- export { getTag, isBoolean, isDate, isDecimal, isError, isEven, isHttps, isImageUrl, isInteger, isNegative, isNil, isNull, isNumber, isObjectLike, isOdd, isPlainObject, isPositive, isString, isSymbol, isUndefined, isVideoUrl };
115
+ export { getTag, isBoolean, isDate, isDecimal, isError, isEven, isExcel, isHttps, isImageUrl, isInteger, isNegative, isNil, isNull, isNumber, isObjectLike, isOdd, isPDF, isPPT, isPSD, isPlainObject, isPositive, isString, isSymbol, isText, isUndefined, isVideoUrl, isWord, isZip };
88
116
  //# sourceMappingURL=is.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"is.mjs","sources":["../../../../../packages/utils/src/is.ts"],"sourcesContent":["const toString = Object.prototype.toString;\r\nexport function getTag(value: any): string {\r\n if (value === null) {\r\n return '[object Null]';\r\n } else if (value === undefined) {\r\n return '[object Undefined]';\r\n }\r\n return toString.call(value);\r\n}\r\nexport function isObjectLike(value: any): boolean {\r\n return typeof value === 'object' && value !== null;\r\n}\r\nexport function isBoolean(value: any): value is boolean {\r\n return value === true || value === false || (isObjectLike(value) && getTag(value) === '[object Boolean]');\r\n}\r\n\r\nexport function isString(value: any): value is string {\r\n return typeof value === 'string' || (isObjectLike(value) && getTag(value) === '[object String]');\r\n}\r\n\r\nexport function isNumber(value: any): value is number {\r\n return typeof value === 'number' || (isObjectLike(value) && getTag(value) === '[object Number]');\r\n}\r\nexport function isSymbol(value: any): value is symbol {\r\n return typeof value === 'symbol' || (isObjectLike(value) && getTag(value) === '[object Symbol]');\r\n}\r\nexport function isDate(value: any): value is Date {\r\n return isObjectLike(value) && getTag(value) === '[object Date]';\r\n}\r\n/**\r\n * 整数\r\n */\r\nexport function isInteger(val: any): val is number {\r\n return isNumber(val) && val % 1 === 0;\r\n}\r\n/**\r\n * 小数\r\n */\r\nexport function isDecimal(val: any): val is number {\r\n return isNumber(val) && val % 1 !== 0;\r\n}\r\n/**\r\n * 负数\r\n */\r\nexport function isNegative(val: any): val is number {\r\n return isNumber(val) && val < 0;\r\n}\r\n/**\r\n * 正数\r\n */\r\nexport function isPositive(val: any): val is number {\r\n return isNumber(val) && val > 0;\r\n}\r\n/**\r\n * 奇数\r\n */\r\nexport function isOdd(val: any): val is number {\r\n return isNumber(val) && val % 2 !== 0;\r\n}\r\n/**\r\n * 偶数\r\n */\r\nexport function isEven(val: any): val is number {\r\n return isNumber(val) && val % 2 === 0;\r\n}\r\n\r\nexport function isUndefined(val: any): val is undefined {\r\n return val === undefined;\r\n}\r\nexport function isNull(val: any): val is null {\r\n return val === null;\r\n}\r\nexport function isNil(val: any): val is null | undefined {\r\n return isUndefined(val) || isNull(val);\r\n}\r\n/**\r\n * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`,\r\n * `SyntaxError`, `TypeError`, or `URIError` object.\r\n */\r\nexport function isError(value: any): value is Error {\r\n if (!isObjectLike(value)) {\r\n return false;\r\n }\r\n const tag = getTag(value);\r\n return (\r\n tag === '[object Error]' ||\r\n tag === '[object DOMException]' ||\r\n (typeof value.message === 'string' && typeof value.name === 'string' && !isPlainObject(value))\r\n );\r\n}\r\nexport function isPlainObject(value: any): value is object {\r\n if (!isObjectLike(value) || getTag(value) !== '[object Object]') {\r\n return false;\r\n }\r\n if (Object.getPrototypeOf(value) === null) {\r\n return true;\r\n }\r\n let proto = value;\r\n while (Object.getPrototypeOf(proto) !== null) {\r\n proto = Object.getPrototypeOf(proto);\r\n }\r\n return Object.getPrototypeOf(value) === proto;\r\n}\r\n\r\nexport const isHttps = () => {\r\n return window.location.protocol.startsWith('https');\r\n};\r\n\r\n/**\r\n * @description 描述:判断是否是视频\r\n * @param {string} url 文件链接 或 文件名\r\n * @return {*}\r\n **/\r\nexport const isVideoUrl = (url: string) => {\r\n const videoReg = /\\.(mp4|avi|rmvb|rm|wmv|mpg|mpeg|mov|mkv|flv)$/i;\r\n return videoReg.test(url);\r\n};\r\n\r\n/**\r\n * @description 描述:判断是否是图片\r\n * @param {string} url 文件链接 或 文件名\r\n * @return {*}\r\n **/\r\nexport const isImageUrl = (url: string) => {\r\n const imageReg = /\\.(jpg|jpeg|png|gif|webp|svg|bmp)$/i;\r\n return imageReg.test(url);\r\n};\r\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"is.mjs","sources":["../../../../../packages/utils/src/is.ts"],"sourcesContent":["const toString = Object.prototype.toString;\r\nexport function getTag(value: any): string {\r\n if (value === null) {\r\n return '[object Null]';\r\n } else if (value === undefined) {\r\n return '[object Undefined]';\r\n }\r\n return toString.call(value);\r\n}\r\nexport function isObjectLike(value: any): boolean {\r\n return typeof value === 'object' && value !== null;\r\n}\r\nexport function isBoolean(value: any): value is boolean {\r\n return value === true || value === false || (isObjectLike(value) && getTag(value) === '[object Boolean]');\r\n}\r\n\r\nexport function isString(value: any): value is string {\r\n return typeof value === 'string' || (isObjectLike(value) && getTag(value) === '[object String]');\r\n}\r\n\r\nexport function isNumber(value: any): value is number {\r\n return typeof value === 'number' || (isObjectLike(value) && getTag(value) === '[object Number]');\r\n}\r\nexport function isSymbol(value: any): value is symbol {\r\n return typeof value === 'symbol' || (isObjectLike(value) && getTag(value) === '[object Symbol]');\r\n}\r\nexport function isDate(value: any): value is Date {\r\n return isObjectLike(value) && getTag(value) === '[object Date]';\r\n}\r\n/**\r\n * 整数\r\n */\r\nexport function isInteger(val: any): val is number {\r\n return isNumber(val) && val % 1 === 0;\r\n}\r\n/**\r\n * 小数\r\n */\r\nexport function isDecimal(val: any): val is number {\r\n return isNumber(val) && val % 1 !== 0;\r\n}\r\n/**\r\n * 负数\r\n */\r\nexport function isNegative(val: any): val is number {\r\n return isNumber(val) && val < 0;\r\n}\r\n/**\r\n * 正数\r\n */\r\nexport function isPositive(val: any): val is number {\r\n return isNumber(val) && val > 0;\r\n}\r\n/**\r\n * 奇数\r\n */\r\nexport function isOdd(val: any): val is number {\r\n return isNumber(val) && val % 2 !== 0;\r\n}\r\n/**\r\n * 偶数\r\n */\r\nexport function isEven(val: any): val is number {\r\n return isNumber(val) && val % 2 === 0;\r\n}\r\n\r\nexport function isUndefined(val: any): val is undefined {\r\n return val === undefined;\r\n}\r\nexport function isNull(val: any): val is null {\r\n return val === null;\r\n}\r\nexport function isNil(val: any): val is null | undefined {\r\n return isUndefined(val) || isNull(val);\r\n}\r\n/**\r\n * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`,\r\n * `SyntaxError`, `TypeError`, or `URIError` object.\r\n */\r\nexport function isError(value: any): value is Error {\r\n if (!isObjectLike(value)) {\r\n return false;\r\n }\r\n const tag = getTag(value);\r\n return (\r\n tag === '[object Error]' ||\r\n tag === '[object DOMException]' ||\r\n (typeof value.message === 'string' && typeof value.name === 'string' && !isPlainObject(value))\r\n );\r\n}\r\nexport function isPlainObject(value: any): value is object {\r\n if (!isObjectLike(value) || getTag(value) !== '[object Object]') {\r\n return false;\r\n }\r\n if (Object.getPrototypeOf(value) === null) {\r\n return true;\r\n }\r\n let proto = value;\r\n while (Object.getPrototypeOf(proto) !== null) {\r\n proto = Object.getPrototypeOf(proto);\r\n }\r\n return Object.getPrototypeOf(value) === proto;\r\n}\r\n\r\nexport const isHttps = () => {\r\n return window.location.protocol.startsWith('https');\r\n};\r\n\r\n/**\r\n * @description 描述:判断是否为视频\r\n * @param {string} url 文件链接 或 文件名\r\n * @return {*}\r\n **/\r\nexport const isVideoUrl = (url: string): boolean => {\r\n const videoReg = /\\.(mp4|avi|rmvb|rm|wmv|mpg|mpeg|mov|mkv|flv)$/i;\r\n return videoReg.test(url);\r\n};\r\n\r\n/**\r\n * @description 描述:判断是否为图片\r\n * @param {string} url 文件链接 或 文件名\r\n * @return {*}\r\n **/\r\nexport const isImageUrl = (url: string): boolean => {\r\n const imageReg = /\\.(jpg|jpeg|png|gif|webp|svg|bmp)$/i;\r\n return imageReg.test(url);\r\n};\r\n\r\n/**\r\n * @description 描述:判断是否为PDF\r\n * @param {string} url 文件链接 或 文件名\r\n * @return {*}\r\n **/\r\nexport const isPDF = (url: string): boolean => {\r\n const pdfReg = /\\.(pdf)$/i;\r\n return pdfReg.test(url);\r\n};\r\n\r\n/**\r\n * @description 描述:是否为Word\r\n * @param {string} url 文件链接 或 文件名\r\n * @return {*}\r\n **/\r\nexport const isWord = (url: string): boolean => {\r\n const docReg = /\\.(doc|docx)$/i;\r\n return docReg.test(url);\r\n};\r\n\r\n/**\r\n * @description 描述:是否为Excel\r\n * @param {string} url 文件链接 或 文件名\r\n * @return {*}\r\n **/\r\nexport const isExcel = (url: string): boolean => {\r\n const excelReg = /\\.(xls|xlsx)$/i;\r\n return excelReg.test(url);\r\n};\r\n\r\n/**\r\n * @description 描述:是否为PPT\r\n * @param {string} url 文件链接 或 文件名\r\n * @return {*}\r\n **/\r\nexport const isPPT = (url: string): boolean => {\r\n const pptReg = /\\.(ppt|pptx)$/i;\r\n return pptReg.test(url);\r\n};\r\n\r\n/**\r\n * @description 描述:是否为text\r\n * @param {string} url 文件链接 或 文件名\r\n * @return {*}\r\n **/\r\nexport const isText = (url: string): boolean => {\r\n const textReg = /\\.(txt)$/i;\r\n return textReg.test(url);\r\n};\r\n\r\n/**\r\n * @description 描述:是否为PSD\r\n * @param {string} url 文件链接 或 文件名\r\n * @return {*}\r\n **/\r\nexport const isPSD = (url: string): boolean => {\r\n const psdReg = /\\.(psd)$/i;\r\n return psdReg.test(url);\r\n};\r\n\r\n/**\r\n * @description 描述:是否为压缩包\r\n * @param {string} url 文件链接 或 文件名\r\n * @return {*}\r\n **/\r\nexport const isZip = (url: string): boolean => {\r\n const zipReg = /\\.(zip|rar|7z)$/i;\r\n return zipReg.test(url);\r\n};\r\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tree.mjs","sources":["../../../../../packages/utils/src/tree.ts"],"sourcesContent":["export interface FindChildrenItem extends Record<string, any> {\n label?: any;\n value?: any;\n children?: FindChildrenItem[];\n}\n/**\n * 获取子节点\n */\nexport function findChildrenItem(\n options: FindChildrenItem[],\n targetValue: any,\n option?: { value?: string; children?: string },\n): FindChildrenItem | undefined {\n const valueField = option?.value || 'value';\n const childrenField = option?.children || 'children';\n\n for (const option of options) {\n if (option[valueField] === targetValue) {\n return option;\n }\n if (option[childrenField]) {\n const found = findChildrenItem(option[childrenField], targetValue);\n\n if (found) {\n return found;\n }\n }\n }\n\n return undefined;\n}\n"],"names":["option"],"mappings":"AAQgB,SAAA,gBAAA,CACd,OACA,EAAA,WAAA,EACA,MAC8B,EAAA;AAC9B,EAAM,MAAA,UAAA,GAAa,QAAQ,KAAS,IAAA,OAAA,CAAA;AACpC,EAAM,MAAA,aAAA,GAAgB,QAAQ,QAAY,IAAA,UAAA,CAAA;AAE1C,EAAA,KAAA,MAAWA,WAAU,OAAS,EAAA;AAC5B,IAAIA,IAAAA,OAAAA,CAAO,UAAU,CAAA,KAAM,WAAa,EAAA;AACtC,MAAOA,OAAAA,OAAAA,CAAAA;AAAA,KACT;AACA,IAAIA,IAAAA,OAAAA,CAAO,aAAa,CAAG,EAAA;AACzB,MAAA,MAAM,KAAQ,GAAA,gBAAA,CAAiBA,OAAO,CAAA,aAAa,GAAG,WAAW,CAAA,CAAA;AAEjE,MAAA,IAAI,KAAO,EAAA;AACT,QAAO,OAAA,KAAA,CAAA;AAAA,OACT;AAAA,KACF;AAAA,GACF;AAEA,EAAO,OAAA,KAAA,CAAA,CAAA;AACT;;;;"}
1
+ {"version":3,"file":"tree.mjs","sources":["../../../../../packages/utils/src/tree.ts"],"sourcesContent":["export interface FindChildrenItem extends Record<string, any> {\r\n label?: any;\r\n value?: any;\r\n children?: FindChildrenItem[];\r\n}\r\n/**\r\n * 获取子节点\r\n */\r\nexport function findChildrenItem(\r\n options: FindChildrenItem[],\r\n targetValue: any,\r\n option?: { value?: string; children?: string },\r\n): FindChildrenItem | undefined {\r\n const valueField = option?.value || 'value';\r\n const childrenField = option?.children || 'children';\r\n\r\n for (const option of options) {\r\n if (option[valueField] === targetValue) {\r\n return option;\r\n }\r\n if (option[childrenField]) {\r\n const found = findChildrenItem(option[childrenField], targetValue);\r\n\r\n if (found) {\r\n return found;\r\n }\r\n }\r\n }\r\n\r\n return undefined;\r\n}\r\n"],"names":["option"],"mappings":"AAQgB,SAAA,gBAAA,CACd,OACA,EAAA,WAAA,EACA,MAC8B,EAAA;AAC9B,EAAM,MAAA,UAAA,GAAa,QAAQ,KAAS,IAAA,OAAA,CAAA;AACpC,EAAM,MAAA,aAAA,GAAgB,QAAQ,QAAY,IAAA,UAAA,CAAA;AAE1C,EAAA,KAAA,MAAWA,WAAU,OAAS,EAAA;AAC5B,IAAIA,IAAAA,OAAAA,CAAO,UAAU,CAAA,KAAM,WAAa,EAAA;AACtC,MAAOA,OAAAA,OAAAA,CAAAA;AAAA,KACT;AACA,IAAIA,IAAAA,OAAAA,CAAO,aAAa,CAAG,EAAA;AACzB,MAAA,MAAM,KAAQ,GAAA,gBAAA,CAAiBA,OAAO,CAAA,aAAa,GAAG,WAAW,CAAA,CAAA;AAEjE,MAAA,IAAI,KAAO,EAAA;AACT,QAAO,OAAA,KAAA,CAAA;AAAA,OACT;AAAA,KACF;AAAA,GACF;AAEA,EAAO,OAAA,KAAA,CAAA,CAAA;AACT;;;;"}
@@ -14,7 +14,7 @@ export declare function postSaveFileResources(input?: PostSaveFileResourcesInput
14
14
  data: any;
15
15
  comment: string;
16
16
  }, any>>;
17
- export interface PostSaveFileResourcesFileData {
17
+ export interface PostSaveFileResourcesData {
18
18
  md5_code: string;
19
19
  url: string;
20
20
  file_size?: number;
@@ -23,5 +23,5 @@ export interface PostSaveFileResourcesFileData {
23
23
  play_time?: string;
24
24
  }
25
25
  export interface PostSaveFileResourcesInput {
26
- fileData: PostSaveFileResourcesFileData;
26
+ fileData: PostSaveFileResourcesData;
27
27
  }
@@ -3,6 +3,7 @@
3
3
  var request = require('../request.js');
4
4
 
5
5
  function postSaveFileResources(input, config) {
6
+ console.log(input?.fileData);
6
7
  return request.default.post(`/material/work/saveFileResources`, input, config);
7
8
  }
8
9
 
@@ -1 +1 @@
1
- {"version":3,"file":"postSaveFileResources.js","sources":["../../../../../../packages/api/materialApi/cross/postSaveFileResources.ts"],"sourcesContent":["import { type AxiosRequestConfig } from 'axios';\r\nimport request from '../request';\r\nimport type { DeepRequired } from '../interface';\r\n\r\nexport interface PostSaveFileResourcesResponse {\r\n code: number;\r\n data: any;\r\n comment: string;\r\n}\r\n\r\n/**\r\n * @description 文件资源保存入库\r\n * @param {array} fileData 文件资源\r\n * @return {*}\r\n **/\r\nexport function postSaveFileResources(input?: PostSaveFileResourcesInput, config?: AxiosRequestConfig) {\r\n return request.post<DeepRequired<PostSaveFileResourcesResponse>>(`/material/work/saveFileResources`, input, config);\r\n}\r\n\r\nexport interface PostSaveFileResourcesFileData {\r\n md5_code: string;\r\n url: string;\r\n file_size?: number;\r\n width?: string;\r\n high?: string;\r\n play_time?: string;\r\n}\r\n\r\nexport interface PostSaveFileResourcesInput {\r\n fileData: PostSaveFileResourcesFileData;\r\n}\r\n"],"names":["request"],"mappings":";;;;AAegB,SAAA,qBAAA,CAAsB,OAAoC,MAA6B,EAAA;AACrG,EAAA,OAAOA,eAAQ,CAAA,IAAA,CAAkD,CAAoC,gCAAA,CAAA,EAAA,KAAA,EAAO,MAAM,CAAA,CAAA;AACpH;;;;"}
1
+ {"version":3,"file":"postSaveFileResources.js","sources":["../../../../../../packages/api/materialApi/cross/postSaveFileResources.ts"],"sourcesContent":["import { type AxiosRequestConfig } from 'axios';\r\nimport request from '../request';\r\nimport type { DeepRequired } from '../interface';\r\n\r\nexport interface PostSaveFileResourcesResponse {\r\n code: number;\r\n data: any;\r\n comment: string;\r\n}\r\n\r\n/**\r\n * @description 文件资源保存入库\r\n * @param {array} fileData 文件资源\r\n * @return {*}\r\n **/\r\nexport function postSaveFileResources(input?: PostSaveFileResourcesInput, config?: AxiosRequestConfig) {\r\n console.log(input?.fileData);\r\n return request.post<DeepRequired<PostSaveFileResourcesResponse>>(`/material/work/saveFileResources`, input, config);\r\n}\r\n\r\nexport interface PostSaveFileResourcesData {\r\n md5_code: string;\r\n url: string;\r\n file_size?: number;\r\n width?: string;\r\n high?: string;\r\n play_time?: string;\r\n}\r\n\r\nexport interface PostSaveFileResourcesInput {\r\n fileData: PostSaveFileResourcesData;\r\n}\r\n"],"names":["request"],"mappings":";;;;AAegB,SAAA,qBAAA,CAAsB,OAAoC,MAA6B,EAAA;AACrG,EAAQ,OAAA,CAAA,GAAA,CAAI,OAAO,QAAQ,CAAA,CAAA;AAC3B,EAAA,OAAOA,eAAQ,CAAA,IAAA,CAAkD,CAAoC,gCAAA,CAAA,EAAA,KAAA,EAAO,MAAM,CAAA,CAAA;AACpH;;;;"}