giime 0.4.11 → 0.5.0

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 (64) hide show
  1. package/dist/index.css +47 -46
  2. package/es/components/index.mjs +1 -0
  3. package/es/components/index.mjs.map +1 -1
  4. package/es/components/src/base/affix/index.d.ts +2 -421
  5. package/es/components/src/base/affix/index.mjs.map +1 -1
  6. package/es/components/src/base/input/Input.vue.d.ts +1 -1
  7. package/es/components/src/base/input/index.d.ts +3 -3
  8. package/es/components/src/composite/tablePro/TablePro.vue.d.ts +4 -4
  9. package/es/components/src/composite/tablePro/index.d.ts +12 -12
  10. package/es/components/src/plugins/index.mjs +1 -0
  11. package/es/components/src/plugins/index.mjs.map +1 -1
  12. package/es/components/src/plugins/message/index.d.ts +1 -0
  13. package/es/components/src/plugins/message/index.mjs +1 -0
  14. package/es/components/src/plugins/message/index.mjs.map +1 -1
  15. package/es/components/src/plugins/message/method.d.ts +4 -1
  16. package/es/components/src/plugins/message/method.mjs +4 -4
  17. package/es/components/src/plugins/message/method.mjs.map +1 -1
  18. package/es/giime/index.mjs +1 -0
  19. package/es/giime/index.mjs.map +1 -1
  20. package/es/giime/version.d.ts +1 -1
  21. package/es/giime/version.mjs +1 -1
  22. package/es/giime/version.mjs.map +1 -1
  23. package/es/hooks/store/useAliossStsToken/index.mjs +1 -1
  24. package/es/hooks/store/useAliossStsToken/index.mjs.map +1 -1
  25. package/es/index.css +47 -46
  26. package/es/utils/src/alioss.d.ts +2 -2
  27. package/es/utils/src/alioss.mjs.map +1 -1
  28. package/es/utils/src/http/createAxios.mjs +17 -8
  29. package/es/utils/src/http/createAxios.mjs.map +1 -1
  30. package/es/utils/src/http/errorMessage.d.ts +1 -1
  31. package/es/utils/src/http/errorMessage.mjs +28 -11
  32. package/es/utils/src/http/errorMessage.mjs.map +1 -1
  33. package/lib/components/index.js +5 -2
  34. package/lib/components/index.js.map +1 -1
  35. package/lib/components/src/base/affix/index.d.ts +2 -421
  36. package/lib/components/src/base/affix/index.js.map +1 -1
  37. package/lib/components/src/base/input/Input.vue.d.ts +1 -1
  38. package/lib/components/src/base/input/index.d.ts +3 -3
  39. package/lib/components/src/composite/tablePro/TablePro.vue.d.ts +4 -4
  40. package/lib/components/src/composite/tablePro/index.d.ts +12 -12
  41. package/lib/components/src/plugins/index.js +5 -2
  42. package/lib/components/src/plugins/index.js.map +1 -1
  43. package/lib/components/src/plugins/message/index.d.ts +1 -0
  44. package/lib/components/src/plugins/message/index.js +2 -0
  45. package/lib/components/src/plugins/message/index.js.map +1 -1
  46. package/lib/components/src/plugins/message/method.d.ts +4 -1
  47. package/lib/components/src/plugins/message/method.js +4 -3
  48. package/lib/components/src/plugins/message/method.js.map +1 -1
  49. package/lib/giime/index.js +5 -2
  50. package/lib/giime/index.js.map +1 -1
  51. package/lib/giime/version.d.ts +1 -1
  52. package/lib/giime/version.js +1 -1
  53. package/lib/giime/version.js.map +1 -1
  54. package/lib/hooks/store/useAliossStsToken/index.js +1 -1
  55. package/lib/hooks/store/useAliossStsToken/index.js.map +1 -1
  56. package/lib/index.css +47 -46
  57. package/lib/utils/src/alioss.d.ts +2 -2
  58. package/lib/utils/src/alioss.js.map +1 -1
  59. package/lib/utils/src/http/createAxios.js +17 -8
  60. package/lib/utils/src/http/createAxios.js.map +1 -1
  61. package/lib/utils/src/http/errorMessage.d.ts +1 -1
  62. package/lib/utils/src/http/errorMessage.js +28 -11
  63. package/lib/utils/src/http/errorMessage.js.map +1 -1
  64. package/package.json +1 -1
@@ -171,6 +171,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
171
171
  sortOrders: ("ascending" | "descending" | null)[];
172
172
  isShow: boolean;
173
173
  isSort: boolean;
174
+ filters?: {
175
+ text: string;
176
+ value: string;
177
+ }[] | undefined;
174
178
  label?: string | undefined;
175
179
  filterMethod?: import("element-plus/es/components/table/src/table-column/defaults").FilterMethods<any> | undefined;
176
180
  align?: string | undefined;
@@ -309,10 +313,6 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
309
313
  headerAlign?: string | undefined;
310
314
  selectable?: ((row: any, index: number) => boolean) | undefined;
311
315
  filteredValue?: string[] | undefined;
312
- filters?: {
313
- text: string;
314
- value: string;
315
- }[] | undefined;
316
316
  filterPlacement?: string | undefined;
317
317
  filterClassName?: string | undefined;
318
318
  }[]>;
@@ -191,6 +191,10 @@ export declare const GmTablePro: import("../../../../utils").SFCWithInstall<{
191
191
  sortOrders: ("ascending" | "descending" | null)[];
192
192
  isShow: boolean;
193
193
  isSort: boolean;
194
+ filters?: {
195
+ text: string;
196
+ value: string;
197
+ }[] | undefined;
194
198
  label?: string | undefined;
195
199
  filterMethod?: import("element-plus/es/components/table/src/table-column/defaults.js").FilterMethods<any> | undefined;
196
200
  align?: string | undefined;
@@ -329,10 +333,6 @@ export declare const GmTablePro: import("../../../../utils").SFCWithInstall<{
329
333
  headerAlign?: string | undefined;
330
334
  selectable?: ((row: any, index: number) => boolean) | undefined;
331
335
  filteredValue?: string[] | undefined;
332
- filters?: {
333
- text: string;
334
- value: string;
335
- }[] | undefined;
336
336
  filterPlacement?: string | undefined;
337
337
  filterClassName?: string | undefined;
338
338
  }[]>;
@@ -746,6 +746,10 @@ export declare const GmTablePro: import("../../../../utils").SFCWithInstall<{
746
746
  sortOrders: ("ascending" | "descending" | null)[];
747
747
  isShow: boolean;
748
748
  isSort: boolean;
749
+ filters?: {
750
+ text: string;
751
+ value: string;
752
+ }[] | undefined;
749
753
  label?: string | undefined;
750
754
  filterMethod?: import("element-plus/es/components/table/src/table-column/defaults.js").FilterMethods<any> | undefined;
751
755
  align?: string | undefined;
@@ -884,10 +888,6 @@ export declare const GmTablePro: import("../../../../utils").SFCWithInstall<{
884
888
  headerAlign?: string | undefined;
885
889
  selectable?: ((row: any, index: number) => boolean) | undefined;
886
890
  filteredValue?: string[] | undefined;
887
- filters?: {
888
- text: string;
889
- value: string;
890
- }[] | undefined;
891
891
  filterPlacement?: string | undefined;
892
892
  filterClassName?: string | undefined;
893
893
  }[]>;
@@ -1115,6 +1115,10 @@ export declare const GmTablePro: import("../../../../utils").SFCWithInstall<{
1115
1115
  sortOrders: ("ascending" | "descending" | null)[];
1116
1116
  isShow: boolean;
1117
1117
  isSort: boolean;
1118
+ filters?: {
1119
+ text: string;
1120
+ value: string;
1121
+ }[] | undefined;
1118
1122
  label?: string | undefined;
1119
1123
  filterMethod?: import("element-plus/es/components/table/src/table-column/defaults.js").FilterMethods<any> | undefined;
1120
1124
  align?: string | undefined;
@@ -1253,10 +1257,6 @@ export declare const GmTablePro: import("../../../../utils").SFCWithInstall<{
1253
1257
  headerAlign?: string | undefined;
1254
1258
  selectable?: ((row: any, index: number) => boolean) | undefined;
1255
1259
  filteredValue?: string[] | undefined;
1256
- filters?: {
1257
- text: string;
1258
- value: string;
1259
- }[] | undefined;
1260
1260
  filterPlacement?: string | undefined;
1261
1261
  filterClassName?: string | undefined;
1262
1262
  }[]>;
@@ -4,5 +4,6 @@ export { GmMessageBox } from './messageBox/index.mjs';
4
4
  export { GmNotification } from './notification/index.mjs';
5
5
  export { GmCopy } from './copy/index.mjs';
6
6
  export { GmConfirmBox } from './confirmBox/index.mjs';
7
+ export { messageTypes, normalizeMessageOptions } from './message/method.mjs';
7
8
  export { useClipboard } from './copy/method.mjs';
8
9
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -1,2 +1,3 @@
1
1
  export declare const GmMessage: import("../../../../utils").SFCInstallWithContext<import("element-plus").Message>;
2
+ export * from './method';
2
3
  export default GmMessage;
@@ -1,5 +1,6 @@
1
1
  import { withInstallFunction } from '../../../../utils/src/vue/install.mjs';
2
2
  import message from './method.mjs';
3
+ export { messageTypes, normalizeMessageOptions } from './method.mjs';
3
4
 
4
5
  const GmMessage = withInstallFunction(message, "$message");
5
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../../../packages/components/src/plugins/message/index.ts"],"sourcesContent":["import { withInstallFunction } from '@giime/utils/src/vue/install';\r\nimport Message from './method';\r\nexport const GmMessage = withInstallFunction(Message, '$message');\r\nexport default GmMessage;\r\n"],"names":["Message"],"mappings":";;;AAEa,MAAA,SAAA,GAAY,mBAAoB,CAAAA,OAAA,EAAS,UAAU;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../../../packages/components/src/plugins/message/index.ts"],"sourcesContent":["import { withInstallFunction } from '@giime/utils/src/vue/install';\r\nimport Message from './method';\r\nexport const GmMessage = withInstallFunction(Message, '$message');\r\nexport * from './method';\r\nexport default GmMessage;\r\n"],"names":["Message"],"mappings":";;;;AAEa,MAAA,SAAA,GAAY,mBAAoB,CAAAA,OAAA,EAAS,UAAU;;;;"}
@@ -1,4 +1,7 @@
1
- import type { Message } from 'element-plus';
1
+ import type { Message, MessageParams } from 'element-plus';
2
2
  export declare const messageTypes: readonly ["success", "info", "warning", "error"];
3
+ export declare const normalizeMessageOptions: (params?: MessageParams) => Partial<import("element-plus/es/utils").Mutable<Omit<import("element-plus").MessageProps, "id"> & {
4
+ appendTo?: string | HTMLElement | undefined;
5
+ }>>;
3
6
  declare const _default: Message;
4
7
  export default _default;
@@ -5,12 +5,12 @@ import { ElMessage } from 'element-plus';
5
5
  import { useGlobalConfig } from '../../../../hooks/base/useGlobalConfig/index.mjs';
6
6
 
7
7
  const messageTypes = ["success", "info", "warning", "error"];
8
- const normalizeOptions = (params) => {
8
+ const normalizeMessageOptions = (params) => {
9
9
  const normalized = !params || isString(params) || isVNode(params) || isFunction(params) ? { message: params } : params;
10
10
  return normalized;
11
11
  };
12
12
  const message = (options = {}, context) => {
13
- const normalized = normalizeOptions(options);
13
+ const normalized = normalizeMessageOptions(options);
14
14
  const messageGlobalConfig = useGlobalConfig("message") ?? {};
15
15
  return ElMessage(
16
16
  {
@@ -26,10 +26,10 @@ message.closeAll = ElMessage.closeAll;
26
26
  message._context = ElMessage._context;
27
27
  messageTypes.forEach((type) => {
28
28
  message[type] = (options = {}, appContext) => {
29
- const normalized = normalizeOptions(options);
29
+ const normalized = normalizeMessageOptions(options);
30
30
  return message({ ...normalized, type }, appContext);
31
31
  };
32
32
  });
33
33
 
34
- export { message as default, messageTypes };
34
+ export { message as default, messageTypes, normalizeMessageOptions };
35
35
  //# sourceMappingURL=method.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"method.mjs","sources":["../../../../../../../packages/components/src/plugins/message/method.ts"],"sourcesContent":["import { type AppContext, isVNode } from 'vue';\r\nimport { isFunction } from '@vue/shared';\r\nimport { isString } from '@giime/utils/src/is';\r\nimport { ElMessage } from 'element-plus';\r\nimport { useGlobalConfig } from '@giime/hooks/base/useGlobalConfig';\r\nimport type { Message, MessageFn, MessageOptions, MessageParams, MessageParamsNormalized } from 'element-plus';\r\nexport const messageTypes = ['success', 'info', 'warning', 'error'] as const;\r\n\r\nconst normalizeOptions = (params?: MessageParams) => {\r\n const normalized: MessageOptions = !params || isString(params) || isVNode(params) || isFunction(params) ? { message: params } : params;\r\n return normalized;\r\n};\r\nconst message: MessageFn & Partial<Message> & { _context: AppContext | null } = (options = {}, context) => {\r\n const normalized = normalizeOptions(options);\r\n const messageGlobalConfig = useGlobalConfig('message') ?? {};\r\n return ElMessage(\r\n {\r\n grouping: true,\r\n plain: messageGlobalConfig.value?.plain,\r\n // duration: 5 * 1000,\r\n ...normalized,\r\n },\r\n context,\r\n );\r\n};\r\nmessage.closeAll = ElMessage.closeAll;\r\nmessage._context = ElMessage._context;\r\nmessageTypes.forEach(type => {\r\n message[type] = (options = {}, appContext) => {\r\n const normalized = normalizeOptions(options);\r\n return message({ ...(normalized as MessageParamsNormalized), type }, appContext);\r\n };\r\n});\r\nexport default message as Message;\r\n"],"names":[],"mappings":";;;;;;AAMO,MAAM,YAAe,GAAA,CAAC,SAAW,EAAA,MAAA,EAAQ,WAAW,OAAO,EAAA;AAElE,MAAM,gBAAA,GAAmB,CAAC,MAA2B,KAAA;AACnD,EAAA,MAAM,UAA6B,GAAA,CAAC,MAAU,IAAA,QAAA,CAAS,MAAM,CAAK,IAAA,OAAA,CAAQ,MAAM,CAAA,IAAK,WAAW,MAAM,CAAA,GAAI,EAAE,OAAA,EAAS,QAAW,GAAA,MAAA,CAAA;AAChI,EAAO,OAAA,UAAA,CAAA;AACT,CAAA,CAAA;AACA,MAAM,OAA0E,GAAA,CAAC,OAAU,GAAA,IAAI,OAAY,KAAA;AACzG,EAAM,MAAA,UAAA,GAAa,iBAAiB,OAAO,CAAA,CAAA;AAC3C,EAAA,MAAM,mBAAsB,GAAA,eAAA,CAAgB,SAAS,CAAA,IAAK,EAAC,CAAA;AAC3D,EAAO,OAAA,SAAA;AAAA,IACL;AAAA,MACE,QAAU,EAAA,IAAA;AAAA,MACV,KAAA,EAAO,oBAAoB,KAAO,EAAA,KAAA;AAAA;AAAA,MAElC,GAAG,UAAA;AAAA,KACL;AAAA,IACA,OAAA;AAAA,GACF,CAAA;AACF,EAAA;AACA,OAAA,CAAQ,WAAW,SAAU,CAAA,QAAA,CAAA;AAC7B,OAAA,CAAQ,WAAW,SAAU,CAAA,QAAA,CAAA;AAC7B,YAAA,CAAa,QAAQ,CAAQ,IAAA,KAAA;AAC3B,EAAA,OAAA,CAAQ,IAAI,CAAI,GAAA,CAAC,OAAU,GAAA,IAAI,UAAe,KAAA;AAC5C,IAAM,MAAA,UAAA,GAAa,iBAAiB,OAAO,CAAA,CAAA;AAC3C,IAAA,OAAO,QAAQ,EAAE,GAAI,UAAwC,EAAA,IAAA,IAAQ,UAAU,CAAA,CAAA;AAAA,GACjF,CAAA;AACF,CAAC,CAAA;;;;"}
1
+ {"version":3,"file":"method.mjs","sources":["../../../../../../../packages/components/src/plugins/message/method.ts"],"sourcesContent":["import { type AppContext, isVNode } from 'vue';\r\nimport { isFunction } from '@vue/shared';\r\nimport { isString } from '@giime/utils/src/is';\r\nimport { ElMessage } from 'element-plus';\r\nimport { useGlobalConfig } from '@giime/hooks/base/useGlobalConfig';\r\nimport type { Message, MessageFn, MessageOptions, MessageParams, MessageParamsNormalized } from 'element-plus';\r\nexport const messageTypes = ['success', 'info', 'warning', 'error'] as const;\r\n\r\nexport const normalizeMessageOptions = (params?: MessageParams) => {\r\n const normalized: MessageOptions = !params || isString(params) || isVNode(params) || isFunction(params) ? { message: params } : params;\r\n return normalized;\r\n};\r\nconst message: MessageFn & Partial<Message> & { _context: AppContext | null } = (options = {}, context) => {\r\n const normalized = normalizeMessageOptions(options);\r\n const messageGlobalConfig = useGlobalConfig('message') ?? {};\r\n return ElMessage(\r\n {\r\n grouping: true,\r\n plain: messageGlobalConfig.value?.plain,\r\n // duration: 5 * 1000,\r\n ...normalized,\r\n },\r\n context,\r\n );\r\n};\r\nmessage.closeAll = ElMessage.closeAll;\r\nmessage._context = ElMessage._context;\r\nmessageTypes.forEach(type => {\r\n message[type] = (options = {}, appContext) => {\r\n const normalized = normalizeMessageOptions(options);\r\n return message({ ...(normalized as MessageParamsNormalized), type }, appContext);\r\n };\r\n});\r\nexport default message as Message;\r\n"],"names":[],"mappings":";;;;;;AAMO,MAAM,YAAe,GAAA,CAAC,SAAW,EAAA,MAAA,EAAQ,WAAW,OAAO,EAAA;AAErD,MAAA,uBAAA,GAA0B,CAAC,MAA2B,KAAA;AACjE,EAAA,MAAM,UAA6B,GAAA,CAAC,MAAU,IAAA,QAAA,CAAS,MAAM,CAAK,IAAA,OAAA,CAAQ,MAAM,CAAA,IAAK,WAAW,MAAM,CAAA,GAAI,EAAE,OAAA,EAAS,QAAW,GAAA,MAAA,CAAA;AAChI,EAAO,OAAA,UAAA,CAAA;AACT,EAAA;AACA,MAAM,OAA0E,GAAA,CAAC,OAAU,GAAA,IAAI,OAAY,KAAA;AACzG,EAAM,MAAA,UAAA,GAAa,wBAAwB,OAAO,CAAA,CAAA;AAClD,EAAA,MAAM,mBAAsB,GAAA,eAAA,CAAgB,SAAS,CAAA,IAAK,EAAC,CAAA;AAC3D,EAAO,OAAA,SAAA;AAAA,IACL;AAAA,MACE,QAAU,EAAA,IAAA;AAAA,MACV,KAAA,EAAO,oBAAoB,KAAO,EAAA,KAAA;AAAA;AAAA,MAElC,GAAG,UAAA;AAAA,KACL;AAAA,IACA,OAAA;AAAA,GACF,CAAA;AACF,EAAA;AACA,OAAA,CAAQ,WAAW,SAAU,CAAA,QAAA,CAAA;AAC7B,OAAA,CAAQ,WAAW,SAAU,CAAA,QAAA,CAAA;AAC7B,YAAA,CAAa,QAAQ,CAAQ,IAAA,KAAA;AAC3B,EAAA,OAAA,CAAQ,IAAI,CAAI,GAAA,CAAC,OAAU,GAAA,IAAI,UAAe,KAAA;AAC5C,IAAM,MAAA,UAAA,GAAa,wBAAwB,OAAO,CAAA,CAAA;AAClD,IAAA,OAAO,QAAQ,EAAE,GAAI,UAAwC,EAAA,IAAA,IAAQ,UAAU,CAAA,CAAA;AAAA,GACjF,CAAA;AACF,CAAC,CAAA;;;;"}
@@ -277,6 +277,7 @@ export { selectOptionsEmits, selectOptionsProps } from '../components/src/compos
277
277
  export { GmSelectOptions } from '../components/src/composite/selectOptions/index.mjs';
278
278
  export { importDialogEmits, importDialogProps } from '../components/src/composite/importDialog/importDialog.mjs';
279
279
  export { GmImportDialog } from '../components/src/composite/importDialog/index.mjs';
280
+ export { messageTypes, normalizeMessageOptions } from '../components/src/plugins/message/method.mjs';
280
281
  export { GmMessage } from '../components/src/plugins/message/index.mjs';
281
282
  export { GmLoading } from '../components/src/plugins/loading/index.mjs';
282
283
  export { GmMessageBox } from '../components/src/plugins/messageBox/index.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","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":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMO,MAAM,UAAU,SAAU,CAAA,QAAA;AAC1B,MAAM,UAAU,SAAU,CAAA;;;;"}
1
+ {"version":3,"file":"index.mjs","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":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMO,MAAM,UAAU,SAAU,CAAA,QAAA;AAC1B,MAAM,UAAU,SAAU,CAAA;;;;"}
@@ -1 +1 @@
1
- export declare const version = "0.4.11";
1
+ export declare const version = "0.5.0";
@@ -1,4 +1,4 @@
1
- const version = "0.4.11";
1
+ const version = "0.5.0";
2
2
 
3
3
  export { version };
4
4
  //# sourceMappingURL=version.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.mjs","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.4.11';\n"],"names":[],"mappings":"AAAO,MAAM,OAAU,GAAA;;;;"}
1
+ {"version":3,"file":"version.mjs","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.5.0';\n"],"names":[],"mappings":"AAAO,MAAM,OAAU,GAAA;;;;"}
@@ -33,7 +33,7 @@ const useAliossStsTokenStore = defineStore("gmAliossStsToken", () => {
33
33
  }
34
34
  };
35
35
  const onAliossStsTokenPromise = () => {
36
- return new Promise(async (resolve) => {
36
+ return new Promise((resolve) => {
37
37
  aliossStsTokenResult.on((value) => resolve(value));
38
38
  });
39
39
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../../packages/hooks/store/useAliossStsToken/index.ts"],"sourcesContent":["import { ref } from 'vue';\r\nimport { defineStore } from 'pinia';\r\nimport { getOssAccessToken } from '@giime/api/materialApi';\r\nimport { createEventHook } from '@vueuse/core';\r\nimport Cookies from 'js-cookie';\r\nimport type { GetOssAccessTokenResponseData } from '@giime/api/materialApi';\r\n\r\n/**\r\n * @description 素材上传权限\r\n * @param {*}\r\n * @return {*}\r\n **/\r\n\r\nexport const useAliossStsTokenStore = defineStore('gmAliossStsToken', () => {\r\n const isLoading = ref(false);\r\n const aliossStsTokenResult = 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 getAliossStsToken = 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 aliossStsTokenResult.trigger(data.data);\r\n }\r\n\r\n return data.data;\r\n } finally {\r\n isLoading.value = false;\r\n }\r\n };\r\n\r\n /* 监听获取 alioss sts token 成功 promise版 */\r\n const onAliossStsTokenPromise = () => {\r\n return new Promise<GetOssAccessTokenResponseData>(async resolve => {\r\n aliossStsTokenResult.on(value => resolve(value));\r\n });\r\n };\r\n\r\n /* 获取 alioss 临时上传 token*/\r\n const getAliossStsTokenAsync = () => {\r\n /* 若正在请求请求临时token接口 则其他后进来的等待 */\r\n if (isLoading.value) {\r\n return onAliossStsTokenPromise();\r\n }\r\n return getAliossStsToken();\r\n };\r\n\r\n return {\r\n isLoading,\r\n getAliossStsTokenAsync,\r\n };\r\n});\r\n"],"names":[],"mappings":";;;;;;;AAaa,MAAA,sBAAA,GAAyB,WAAY,CAAA,kBAAA,EAAoB,MAAM;AAC1E,EAAM,MAAA,SAAA,GAAY,IAAI,KAAK,CAAA,CAAA;AAC3B,EAAA,MAAM,uBAAuB,eAA+C,EAAA,CAAA;AAE5E,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,oBAAoB,YAAY;AACpC,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,QAAqB,oBAAA,CAAA,OAAA,CAAQ,KAAK,IAAI,CAAA,CAAA;AAAA,OACxC;AAEA,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,0BAA0B,MAAM;AACpC,IAAO,OAAA,IAAI,OAAuC,CAAA,OAAM,OAAW,KAAA;AACjE,MAAA,oBAAA,CAAqB,EAAG,CAAA,CAAA,KAAA,KAAS,OAAQ,CAAA,KAAK,CAAC,CAAA,CAAA;AAAA,KAChD,CAAA,CAAA;AAAA,GACH,CAAA;AAGA,EAAA,MAAM,yBAAyB,MAAM;AAEnC,IAAA,IAAI,UAAU,KAAO,EAAA;AACnB,MAAA,OAAO,uBAAwB,EAAA,CAAA;AAAA,KACjC;AACA,IAAA,OAAO,iBAAkB,EAAA,CAAA;AAAA,GAC3B,CAAA;AAEA,EAAO,OAAA;AAAA,IACL,SAAA;AAAA,IACA,sBAAA;AAAA,GACF,CAAA;AACF,CAAC;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../../packages/hooks/store/useAliossStsToken/index.ts"],"sourcesContent":["import { ref } from 'vue';\r\nimport { defineStore } from 'pinia';\r\nimport { getOssAccessToken } from '@giime/api/materialApi';\r\nimport { createEventHook } from '@vueuse/core';\r\nimport Cookies from 'js-cookie';\r\nimport type { GetOssAccessTokenResponseData } from '@giime/api/materialApi';\r\n\r\n/**\r\n * @description 素材上传权限\r\n * @param {*}\r\n * @return {*}\r\n **/\r\n\r\nexport const useAliossStsTokenStore = defineStore('gmAliossStsToken', () => {\r\n const isLoading = ref(false);\r\n const aliossStsTokenResult = 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 getAliossStsToken = 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 aliossStsTokenResult.trigger(data.data);\r\n }\r\n\r\n return data.data;\r\n } finally {\r\n isLoading.value = false;\r\n }\r\n };\r\n\r\n /* 监听获取 alioss sts token 成功 promise版 */\r\n const onAliossStsTokenPromise = () => {\r\n return new Promise<GetOssAccessTokenResponseData>(resolve => {\r\n aliossStsTokenResult.on(value => resolve(value));\r\n });\r\n };\r\n\r\n /* 获取 alioss 临时上传 token*/\r\n const getAliossStsTokenAsync = () => {\r\n /* 若正在请求请求临时token接口 则其他后进来的等待 */\r\n if (isLoading.value) {\r\n return onAliossStsTokenPromise();\r\n }\r\n return getAliossStsToken();\r\n };\r\n\r\n return {\r\n isLoading,\r\n getAliossStsTokenAsync,\r\n };\r\n});\r\n"],"names":[],"mappings":";;;;;;;AAaa,MAAA,sBAAA,GAAyB,WAAY,CAAA,kBAAA,EAAoB,MAAM;AAC1E,EAAM,MAAA,SAAA,GAAY,IAAI,KAAK,CAAA,CAAA;AAC3B,EAAA,MAAM,uBAAuB,eAA+C,EAAA,CAAA;AAE5E,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,oBAAoB,YAAY;AACpC,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,QAAqB,oBAAA,CAAA,OAAA,CAAQ,KAAK,IAAI,CAAA,CAAA;AAAA,OACxC;AAEA,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,0BAA0B,MAAM;AACpC,IAAO,OAAA,IAAI,QAAuC,CAAW,OAAA,KAAA;AAC3D,MAAA,oBAAA,CAAqB,EAAG,CAAA,CAAA,KAAA,KAAS,OAAQ,CAAA,KAAK,CAAC,CAAA,CAAA;AAAA,KAChD,CAAA,CAAA;AAAA,GACH,CAAA;AAGA,EAAA,MAAM,yBAAyB,MAAM;AAEnC,IAAA,IAAI,UAAU,KAAO,EAAA;AACnB,MAAA,OAAO,uBAAwB,EAAA,CAAA;AAAA,KACjC;AACA,IAAA,OAAO,iBAAkB,EAAA,CAAA;AAAA,GAC3B,CAAA;AAEA,EAAO,OAAA;AAAA,IACL,SAAA;AAAA,IACA,sBAAA;AAAA,GACF,CAAA;AACF,CAAC;;;;"}
package/es/index.css CHANGED
@@ -777,11 +777,22 @@ video {
777
777
  .gm-group:hover .group-hover\:gm-block {
778
778
  display: block;
779
779
  }
780
-
781
- .gm-range-number .el-form-item[data-v-11c39847] {
780
+ .gm-upload-material .el-overlay-dialog {
781
+ display: flex;
782
+ align-items: center;
783
+ justify-content: center;
784
+ }
785
+ .gm-upload-material .el-dialog {
782
786
  margin: 0;
783
- }
784
-
787
+ }
788
+ .gm-upload-material .el-dialog__body {
789
+ max-height: calc(100vh - 100px);
790
+ overflow-y: auto;
791
+ }
792
+ .gm-upload-material .el-dialog__body video,
793
+ .gm-upload-material .el-dialog__body img {
794
+ max-height: calc(100vh - 150px);
795
+ }
785
796
  [data-v-7c80c3b6] .el-upload-dragger {
786
797
  padding: 10px;
787
798
  border: none;
@@ -798,6 +809,13 @@ video {
798
809
  align-items: center;
799
810
  justify-content: center;
800
811
  }
812
+ .gm-flex-center[data-v-2a79bac9] {
813
+ align-items: center;
814
+ }
815
+
816
+ .gm-flex-justify-between[data-v-2a79bac9] {
817
+ justify-content: space-between;
818
+ }
801
819
  .circular[data-v-b391445c] {
802
820
  animation: loading-rotate-b391445c 2s linear infinite;
803
821
  }
@@ -829,46 +847,14 @@ video {
829
847
  stroke-dashoffset: -120px;
830
848
  }
831
849
  }
832
- .gm-upload-material .el-overlay-dialog {
833
- display: flex;
834
- align-items: center;
835
- justify-content: center;
836
- }
837
- .gm-upload-material .el-dialog {
838
- margin: 0;
839
- }
840
- .gm-upload-material .el-dialog__body {
841
- max-height: calc(100vh - 100px);
842
- overflow-y: auto;
843
- }
844
- .gm-upload-material .el-dialog__body video,
845
- .gm-upload-material .el-dialog__body img {
846
- max-height: calc(100vh - 150px);
847
- }
848
- .gm-flex-center[data-v-2a79bac9] {
849
- align-items: center;
850
- }
851
-
852
- .gm-flex-justify-between[data-v-2a79bac9] {
853
- justify-content: space-between;
854
- }
855
- .gm-number-interval-single[data-v-47a13fd0] {
856
- border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
857
- box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
858
- background-color: var(--el-input-bg-color, var(--el-fill-color-blank));
859
- }
860
- .gm-number-interval-single[data-v-47a13fd0] [data-v-47a13fd0] .el-input__wrapper {
861
- box-shadow: none;
862
- background: none;
863
- }
864
850
 
865
- .gm-number-interval-close[data-v-47a13fd0] {
866
- display: none;
867
- color: var(--el-input-icon-color, var(--el-text-color-placeholder));
868
- }
851
+ .gm-range-number .el-form-item[data-v-11c39847] {
852
+ margin: 0;
853
+ }
869
854
 
870
- .gm-number-interval-single[data-v-47a13fd0]:hover .gm-number-interval-close[data-v-47a13fd0] {
871
- display: flex;
855
+ [data-v-7b6755e2] .gmSearchForm .el-form-item {
856
+ margin-right: 0;
857
+ margin-bottom: 4px;
872
858
  }
873
859
  [data-v-668dc408] .gmTableNoBorder .el-table__body .el-table__cell {
874
860
  border-right: none;
@@ -893,10 +879,6 @@ video {
893
879
  [data-v-668dc408] .gmTableNoBorder .el-table__border-left-patch {
894
880
  height: 0;
895
881
  }
896
- [data-v-7b6755e2] .gmSearchForm .el-form-item {
897
- margin-right: 0;
898
- margin-bottom: 4px;
899
- }
900
882
 
901
883
  .pagination-container[data-v-19230954] {
902
884
  background: #fff;
@@ -905,3 +887,22 @@ video {
905
887
  .pagination-container.hidden[data-v-19230954] {
906
888
  display: none;
907
889
  }
890
+
891
+ .gm-number-interval-single[data-v-47a13fd0] {
892
+ border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
893
+ box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
894
+ background-color: var(--el-input-bg-color, var(--el-fill-color-blank));
895
+ }
896
+ .gm-number-interval-single[data-v-47a13fd0] [data-v-47a13fd0] .el-input__wrapper {
897
+ box-shadow: none;
898
+ background: none;
899
+ }
900
+
901
+ .gm-number-interval-close[data-v-47a13fd0] {
902
+ display: none;
903
+ color: var(--el-input-icon-color, var(--el-text-color-placeholder));
904
+ }
905
+
906
+ .gm-number-interval-single[data-v-47a13fd0]:hover .gm-number-interval-close[data-v-47a13fd0] {
907
+ display: flex;
908
+ }
@@ -22,9 +22,9 @@ export type AliOssResponse = {
22
22
  /** 文件大小 */
23
23
  size: number;
24
24
  /** 文件后缀 */
25
- type: any;
25
+ type: string;
26
26
  /** 文件库是否存在 */
27
- isExist: any;
27
+ isExist: boolean;
28
28
  };
29
29
  /** 检测广告素材是否已存在 */
30
30
  export declare const getFileExist: (md5Code: string, ext: string) => Promise<string | false>;
@@ -1 +1 @@
1
- {"version":3,"file":"alioss.mjs","sources":["../../../../../packages/utils/src/alioss.ts"],"sourcesContent":["import AliOss from 'ali-oss';\r\nimport { useAliossStsTokenStore } from '@giime/hooks/store/useAliossStsToken';\r\nimport { getAdFileExist } from '@giime/api/materialApi';\r\nimport { GmMessage } from '@giime/components/src/plugins/message';\r\nimport { ts_md5_file } from './crypto/md5';\r\n\r\n/** 上传文件到阿里云 */\r\nexport type AliOssParams = {\r\n /** 资源文件 */\r\n file: File;\r\n /** 文件名 */\r\n fileName?: string;\r\n /** 文件存储位置 */\r\n seat?: string;\r\n /** 上传到oss的设置 */\r\n options?: any;\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 lastModified: number;\r\n /** 文件md5 */\r\n md5: string;\r\n /** 文件大小 */\r\n size: number;\r\n /** 文件后缀 */\r\n type: any;\r\n /** 文件库是否存在 */\r\n isExist: any;\r\n};\r\n\r\n/** 文件分片 */\r\nconst getParallelPartSize = (size: number) => {\r\n const SM = size / 1024 / 1024;\r\n let parallel = 1;\r\n let partSize = 1024 * 1024;\r\n if (SM <= 5) {\r\n partSize *= 5;\r\n }\r\n if (SM > 5 && SM <= 10) {\r\n parallel = 2;\r\n partSize *= 4;\r\n }\r\n if (SM > 10 && SM <= 30) {\r\n parallel = 4;\r\n partSize *= 5;\r\n }\r\n if (SM > 30 && SM <= 50) {\r\n parallel = 6;\r\n partSize *= 6;\r\n }\r\n if (SM > 50) {\r\n parallel = 8;\r\n partSize *= 8;\r\n }\r\n\r\n return {\r\n parallel,\r\n partSize,\r\n };\r\n};\r\n\r\n/** 检测广告素材是否已存在 */\r\nexport const getFileExist = async (md5Code: string, ext: string) => {\r\n const { data } = await getAdFileExist({ md5Code, ext });\r\n if (data.code !== 0) {\r\n return false;\r\n }\r\n if (!data.data.count) {\r\n return false;\r\n }\r\n return data.data.url;\r\n};\r\n\r\n/** 上传文件 */\r\nexport const aliossPutFile = async ({ file, fileName, seat, options }: AliOssParams): Promise<AliOssResponse> => {\r\n const md5 = await ts_md5_file(file);\r\n let { name, lastModified, size } = file;\r\n // 截取文件后缀名\r\n const ext = name.match(/\\.(\\w+)$/)?.[0] || '';\r\n const url = await getFileExist(md5, ext.replaceAll('.', ''));\r\n name = (fileName || name).slice(0, name.lastIndexOf('.'));\r\n // 文件已存在直接返回路径\r\n if (url) {\r\n return {\r\n name: name + ext,\r\n url,\r\n lastModified,\r\n md5,\r\n size,\r\n type: ext.replaceAll('.', ''),\r\n isExist: true,\r\n };\r\n }\r\n // 阿里上传权限\r\n const aliossStsTokenStore = useAliossStsTokenStore();\r\n const { AccessKeyId, AccessKeySecret, SecurityToken } = await aliossStsTokenStore.getAliossStsTokenAsync();\r\n\r\n // 文件存储路径\r\n const timestr = Date.now();\r\n const aliossPath = `material/${seat}/material-file-${timestr}-${size}-${lastModified}${ext}`;\r\n\r\n // 根据文件大小设置并发数和分片大小\r\n if (!options) {\r\n const { parallel, partSize } = getParallelPartSize(size);\r\n options = options ?? {\r\n parallel,\r\n partSize,\r\n ContentDisposition: `attachment;filename=${encodeURIComponent(name)}${ext};filename*=${encodeURIComponent(name)}${ext}`,\r\n };\r\n }\r\n\r\n const ossClient = 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: 'giikin-material',\r\n });\r\n return new Promise((resolve, reject) => {\r\n try {\r\n // 分片数量大于1,使用 multipartUpload 方法\r\n const upload = options.parallel === 1 ? 'put' : 'multipartUpload';\r\n ossClient[upload](aliossPath, file, options).then(() => {\r\n const url = `https://sucai.giikin.cn/${aliossPath}`;\r\n resolve({\r\n name: name + ext,\r\n url,\r\n lastModified,\r\n md5,\r\n type: ext.replaceAll('.', ''),\r\n size,\r\n isExist: false,\r\n });\r\n });\r\n } catch (error) {\r\n GmMessage.error(error || '上传失败');\r\n reject(error);\r\n }\r\n });\r\n};\r\n"],"names":["url"],"mappings":"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"}
1
+ {"version":3,"file":"alioss.mjs","sources":["../../../../../packages/utils/src/alioss.ts"],"sourcesContent":["import AliOss from 'ali-oss';\r\nimport { useAliossStsTokenStore } from '@giime/hooks/store/useAliossStsToken';\r\nimport { getAdFileExist } from '@giime/api/materialApi';\r\nimport { GmMessage } from '@giime/components/src/plugins/message';\r\nimport { ts_md5_file } from './crypto/md5';\r\n\r\n/** 上传文件到阿里云 */\r\nexport type AliOssParams = {\r\n /** 资源文件 */\r\n file: File;\r\n /** 文件名 */\r\n fileName?: string;\r\n /** 文件存储位置 */\r\n seat?: string;\r\n /** 上传到oss的设置 */\r\n options?: any;\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 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\n/** 文件分片 */\r\nconst getParallelPartSize = (size: number) => {\r\n const SM = size / 1024 / 1024;\r\n let parallel = 1;\r\n let partSize = 1024 * 1024;\r\n if (SM <= 5) {\r\n partSize *= 5;\r\n }\r\n if (SM > 5 && SM <= 10) {\r\n parallel = 2;\r\n partSize *= 4;\r\n }\r\n if (SM > 10 && SM <= 30) {\r\n parallel = 4;\r\n partSize *= 5;\r\n }\r\n if (SM > 30 && SM <= 50) {\r\n parallel = 6;\r\n partSize *= 6;\r\n }\r\n if (SM > 50) {\r\n parallel = 8;\r\n partSize *= 8;\r\n }\r\n\r\n return {\r\n parallel,\r\n partSize,\r\n };\r\n};\r\n\r\n/** 检测广告素材是否已存在 */\r\nexport const getFileExist = async (md5Code: string, ext: string) => {\r\n const { data } = await getAdFileExist({ md5Code, ext });\r\n if (data.code !== 0) {\r\n return false;\r\n }\r\n if (!data.data.count) {\r\n return false;\r\n }\r\n return data.data.url;\r\n};\r\n\r\n/** 上传文件 */\r\nexport const aliossPutFile = async ({ file, fileName, seat, options }: AliOssParams): Promise<AliOssResponse> => {\r\n const md5 = await ts_md5_file(file);\r\n let { name, lastModified, size } = file;\r\n // 截取文件后缀名\r\n const ext = name.match(/\\.(\\w+)$/)?.[0] || '';\r\n const url = await getFileExist(md5, ext.replaceAll('.', ''));\r\n name = (fileName || name).slice(0, name.lastIndexOf('.'));\r\n // 文件已存在直接返回路径\r\n if (url) {\r\n return {\r\n name: name + ext,\r\n url,\r\n lastModified,\r\n md5,\r\n size,\r\n type: ext.replaceAll('.', ''),\r\n isExist: true,\r\n };\r\n }\r\n // 阿里上传权限\r\n const aliossStsTokenStore = useAliossStsTokenStore();\r\n const { AccessKeyId, AccessKeySecret, SecurityToken } = await aliossStsTokenStore.getAliossStsTokenAsync();\r\n\r\n // 文件存储路径\r\n const timestr = Date.now();\r\n const aliossPath = `material/${seat}/material-file-${timestr}-${size}-${lastModified}${ext}`;\r\n\r\n // 根据文件大小设置并发数和分片大小\r\n if (!options) {\r\n const { parallel, partSize } = getParallelPartSize(size);\r\n options = options ?? {\r\n parallel,\r\n partSize,\r\n ContentDisposition: `attachment;filename=${encodeURIComponent(name)}${ext};filename*=${encodeURIComponent(name)}${ext}`,\r\n };\r\n }\r\n\r\n const ossClient = 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: 'giikin-material',\r\n });\r\n return new Promise((resolve, reject) => {\r\n try {\r\n // 分片数量大于1,使用 multipartUpload 方法\r\n const upload = options.parallel === 1 ? 'put' : 'multipartUpload';\r\n ossClient[upload](aliossPath, file, options).then(() => {\r\n const url = `https://sucai.giikin.cn/${aliossPath}`;\r\n resolve({\r\n name: name + ext,\r\n url,\r\n lastModified,\r\n md5,\r\n type: ext.replaceAll('.', ''),\r\n size,\r\n isExist: false,\r\n });\r\n });\r\n } catch (error) {\r\n GmMessage.error(error || '上传失败');\r\n reject(error);\r\n }\r\n });\r\n};\r\n"],"names":["url"],"mappings":"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"}
@@ -40,22 +40,31 @@ const createAxios = (config, options) => {
40
40
  service.interceptors.response.use(
41
41
  async (response) => {
42
42
  const res = response.data;
43
+ const msg = (res?.comment ?? res?.message ?? res?.errMsg ?? res?.msg) || "\u63A5\u53E3\u8BF7\u6C42\u9519\u8BEF";
43
44
  if (!isNumber(res?.code)) {
44
- return response;
45
- }
46
- if (res.code === 401) {
47
- const res2 = await res401Interceptors(service, response.config);
48
- return res2;
49
- } else if (res.code !== successCode && res.errCode !== successCode) {
50
45
  ElMessage({
51
- message: res.comment ?? res.message ?? res.errMsg ?? res.msg,
46
+ message: "\u670D\u52A1\u5668\u63A5\u53E3\u9519\u8BEF\uFF1A\u5E94\u8FD4\u56DE\u6B63\u786E\u7684code\u7801",
52
47
  type: "error",
53
48
  grouping: true,
54
49
  duration: 5 * 1e3,
55
50
  showClose: true
56
51
  });
52
+ return Promise.reject({ code: 400, data: null, msg: msg || "\u63A5\u53E3\u8BF7\u6C42\u9519\u8BEF" });
53
+ }
54
+ if (res.code === successCode || res.errCode === successCode) {
55
+ return response;
56
+ } else if (res.code === 401) {
57
+ const res2 = await res401Interceptors(service, response.config);
58
+ return res2;
57
59
  }
58
- return response;
60
+ ElMessage({
61
+ message: msg,
62
+ type: "error",
63
+ grouping: true,
64
+ duration: 5 * 1e3,
65
+ showClose: true
66
+ });
67
+ return Promise.reject(response);
59
68
  },
60
69
  async (err) => {
61
70
  console.error(err.config);
@@ -1 +1 @@
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 if (!isNumber(res?.code)) {\r\n return response;\r\n }\r\n if (res.code === 401) {\r\n const res = await res401Interceptors(service, response.config);\r\n return res;\r\n } else if (res.code !== successCode && res.errCode !== successCode) {\r\n ElMessage({\r\n message: res.comment ?? res.message ?? res.errMsg ?? res.msg,\r\n type: 'error',\r\n grouping: true,\r\n duration: 5 * 1000,\r\n showClose: true,\r\n });\r\n }\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
+ {"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 ElMessage({\n message: '服务器接口错误:应返回正确的code码',\n type: 'error',\n grouping: true,\n duration: 5 * 1000,\n showClose: true,\n });\n return Promise.reject({ code: 400, data: null, msg: msg || '接口请求错误' });\n // return response;\n }\n // 成功情况\n if (res.code === successCode || res.errCode === successCode) {\n return response;\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":"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"}
@@ -4,4 +4,4 @@ import type { AxiosError } from 'axios';
4
4
  * 统一错误弹窗
5
5
  */
6
6
  export declare const errorMessage: (options: MessageOptions) => import("element-plus").MessageHandler;
7
- export declare const responseErrorMessage: (error: AxiosError<any, any>) => import("element-plus").MessageHandler | Promise<never> | undefined;
7
+ export declare const responseErrorMessage: (error: AxiosError<any, any>, options?: MessageOptions) => import("element-plus").MessageHandler | Promise<never> | undefined;
@@ -10,7 +10,7 @@ const errorMessage = (options) => {
10
10
  message: options?.message || "\u672A\u77E5\u9519\u8BEF"
11
11
  });
12
12
  };
13
- const responseErrorMessage = (error) => {
13
+ const responseErrorMessage = (error, options) => {
14
14
  if (error.config?.disableMessage) {
15
15
  return;
16
16
  }
@@ -21,31 +21,45 @@ const responseErrorMessage = (error) => {
21
21
  switch (error.response?.status) {
22
22
  case 400:
23
23
  return errorMessage({
24
- message: `400-\u5BA2\u6237\u7AEF\u9519\u8BEF\uFF0C\u8BF7\u6C42\u5931\u8D25\u3002${serviceMessage}`
24
+ message: `400-\u5BA2\u6237\u7AEF\u9519\u8BEF\uFF0C\u8BF7\u6C42\u5931\u8D25\u3002${serviceMessage}
25
+ \u63A5\u53E3\u5730\u5740\uFF1A${error.config?.url ?? ""}`,
26
+ ...options
25
27
  });
26
28
  case 403:
27
29
  return errorMessage({
28
- message: `403-\u65E0\u6743\u8BBF\u95EE\u3002${serviceMessage}`
30
+ message: `403-\u65E0\u6743\u8BBF\u95EE\u3002${serviceMessage}
31
+ \u63A5\u53E3\u5730\u5740\uFF1A${error.config?.url ?? ""}`,
32
+ ...options
29
33
  });
30
34
  case 404:
31
35
  return errorMessage({
32
- message: `404-\u65E0\u6548\u7684\u8BF7\u6C42\u3002${serviceMessage}`
36
+ message: `404-\u65E0\u6548\u7684\u8BF7\u6C42\u3002${serviceMessage}
37
+ \u63A5\u53E3\u5730\u5740\uFF1A${error.config?.url ?? ""}`,
38
+ ...options
33
39
  });
34
40
  case 413:
35
41
  return errorMessage({
36
- message: `413-\u8BF7\u6C42\u5185\u5BB9\u8FC7\u5927\u3002${serviceMessage}`
42
+ message: `413-\u8BF7\u6C42\u5185\u5BB9\u8FC7\u5927\u3002${serviceMessage}
43
+ \u63A5\u53E3\u5730\u5740\uFF1A${error.config?.url ?? ""}`,
44
+ ...options
37
45
  });
38
46
  case 500:
39
47
  return errorMessage({
40
- message: `500-\u670D\u52A1\u5668\u5185\u90E8\u9519\u8BEFo(\u2565\uFE4F\u2565)o\u3002${serviceMessage}`
48
+ message: `500-\u670D\u52A1\u5668\u5185\u90E8\u9519\u8BEFo(\u2565\uFE4F\u2565)o\u3002${serviceMessage}
49
+ \u63A5\u53E3\u5730\u5740\uFF1A${error.config?.url ?? ""}`,
50
+ ...options
41
51
  });
42
52
  case 502:
43
53
  return errorMessage({
44
- message: `502-\u7F51\u5173\u9519\u8BEF\u3002${serviceMessage}`
54
+ message: `502-\u7F51\u5173\u9519\u8BEF\u3002${serviceMessage}
55
+ \u63A5\u53E3\u5730\u5740\uFF1A${error.config?.url ?? ""}`,
56
+ ...options
45
57
  });
46
58
  case 504:
47
59
  return errorMessage({
48
- message: `504-\u7F51\u5173\u8D85\u65F6\u3002${serviceMessage}`
60
+ message: `504-\u7F51\u5173\u8D85\u65F6\u3002${serviceMessage}
61
+ \u63A5\u53E3\u5730\u5740\uFF1A${error.config?.url ?? ""}`,
62
+ ...options
49
63
  });
50
64
  default:
51
65
  break;
@@ -54,18 +68,21 @@ const responseErrorMessage = (error) => {
54
68
  errorMessage({
55
69
  duration: 10 * 1e3,
56
70
  message: `\u8BF7\u6C42\u8D85\u65F6\u3002${serviceMessage}
57
- \u63A5\u53E3\u5730\u5740\uFF1A${error.config?.url ?? ""}`
71
+ \u63A5\u53E3\u5730\u5740\uFF1A${error.config?.url ?? ""}`,
72
+ ...options
58
73
  });
59
74
  } else if (error.message.includes("Network Error")) {
60
75
  errorMessage({
61
76
  duration: 10 * 1e3,
62
77
  message: `\u7F51\u7EDC\u9519\u8BEF\u3002${serviceMessage}
63
- \u63A5\u53E3\u5730\u5740\uFF1A${error.config?.url ?? ""}`
78
+ \u63A5\u53E3\u5730\u5740\uFF1A${error.config?.url ?? ""}`,
79
+ ...options
64
80
  });
65
81
  } else {
66
82
  errorMessage({
67
83
  message: `${error.message}\u3002${serviceMessage}
68
- \u63A5\u53E3\u5730\u5740\uFF1A${error.config?.url ?? ""}`
84
+ \u63A5\u53E3\u5730\u5740\uFF1A${error.config?.url ?? ""}`,
85
+ ...options
69
86
  });
70
87
  }
71
88
  };
@@ -1 +1 @@
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>) => {\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 });\r\n case 403:\r\n return errorMessage({\r\n message: `403-无权访问。${serviceMessage}`,\r\n });\r\n case 404:\r\n return errorMessage({\r\n message: `404-无效的请求。${serviceMessage}`,\r\n });\r\n case 413:\r\n return errorMessage({\r\n message: `413-请求内容过大。${serviceMessage}`,\r\n });\r\n case 500:\r\n return errorMessage({\r\n message: `500-服务器内部错误o(╥﹏╥)o。${serviceMessage}`,\r\n });\r\n case 502:\r\n return errorMessage({\r\n message: `502-网关错误。${serviceMessage}`,\r\n });\r\n case 504:\r\n return errorMessage({\r\n message: `504-网关超时。${serviceMessage}`,\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 });\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 });\r\n } else {\r\n errorMessage({\r\n message: `${error.message}。${serviceMessage}\r\n 接口地址:${error.config?.url ?? ''}`,\r\n });\r\n }\r\n};\r\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';\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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"}