giime 0.4.9 → 0.4.11

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 (60) hide show
  1. package/dist/index.css +24 -24
  2. package/es/api/gatewayApi/request.mjs +1 -1
  3. package/es/api/gatewayApi/request.mjs.map +1 -1
  4. package/es/api/materialApi/cross/index.d.ts +1 -0
  5. package/es/api/materialApi/cross/index.mjs +1 -0
  6. package/es/api/materialApi/cross/index.mjs.map +1 -1
  7. package/es/api/materialApi/cross/postSaveFileResources.d.ts +27 -0
  8. package/es/api/materialApi/cross/postSaveFileResources.mjs +8 -0
  9. package/es/api/materialApi/cross/postSaveFileResources.mjs.map +1 -0
  10. package/es/api/materialApi/index.mjs +1 -0
  11. package/es/api/materialApi/index.mjs.map +1 -1
  12. package/es/api/materialApi/interface/index.d.ts +4 -0
  13. package/es/api/materialApi/interface/index.mjs +2 -0
  14. package/es/api/materialApi/interface/index.mjs.map +1 -0
  15. package/es/components/src/business/uploadMaterial/UploadMaterial.vue.d.ts +2 -0
  16. package/es/components/src/business/uploadMaterial/UploadMaterial.vue.mjs +1 -1
  17. package/es/components/src/business/uploadMaterial/UploadMaterial.vue2.mjs +15 -2
  18. package/es/components/src/business/uploadMaterial/UploadMaterial.vue2.mjs.map +1 -1
  19. package/es/components/src/business/uploadMaterial/index.d.ts +2 -0
  20. package/es/components/src/business/uploadMaterial/uploadMaterial.d.ts +2 -0
  21. package/es/components/src/business/uploadMaterial/uploadMaterial.mjs.map +1 -1
  22. package/es/giime/version.d.ts +1 -1
  23. package/es/giime/version.mjs +1 -1
  24. package/es/giime/version.mjs.map +1 -1
  25. package/es/index.css +24 -24
  26. package/es/utils/src/alioss.d.ts +18 -0
  27. package/es/utils/src/alioss.mjs +12 -6
  28. package/es/utils/src/alioss.mjs.map +1 -1
  29. package/es/utils/src/http/devProxy.mjs +1 -1
  30. package/es/utils/src/http/devProxy.mjs.map +1 -1
  31. package/lib/api/gatewayApi/request.js +1 -1
  32. package/lib/api/gatewayApi/request.js.map +1 -1
  33. package/lib/api/materialApi/cross/index.d.ts +1 -0
  34. package/lib/api/materialApi/cross/index.js +2 -0
  35. package/lib/api/materialApi/cross/index.js.map +1 -1
  36. package/lib/api/materialApi/cross/postSaveFileResources.d.ts +27 -0
  37. package/lib/api/materialApi/cross/postSaveFileResources.js +10 -0
  38. package/lib/api/materialApi/cross/postSaveFileResources.js.map +1 -0
  39. package/lib/api/materialApi/index.js +2 -0
  40. package/lib/api/materialApi/index.js.map +1 -1
  41. package/lib/api/materialApi/interface/index.d.ts +4 -0
  42. package/lib/api/materialApi/interface/index.js +3 -0
  43. package/lib/api/materialApi/interface/index.js.map +1 -0
  44. package/lib/components/src/business/uploadMaterial/UploadMaterial.vue.d.ts +2 -0
  45. package/lib/components/src/business/uploadMaterial/UploadMaterial.vue.js +1 -1
  46. package/lib/components/src/business/uploadMaterial/UploadMaterial.vue2.js +15 -2
  47. package/lib/components/src/business/uploadMaterial/UploadMaterial.vue2.js.map +1 -1
  48. package/lib/components/src/business/uploadMaterial/index.d.ts +2 -0
  49. package/lib/components/src/business/uploadMaterial/uploadMaterial.d.ts +2 -0
  50. package/lib/components/src/business/uploadMaterial/uploadMaterial.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/index.css +24 -24
  55. package/lib/utils/src/alioss.d.ts +18 -0
  56. package/lib/utils/src/alioss.js +12 -6
  57. package/lib/utils/src/alioss.js.map +1 -1
  58. package/lib/utils/src/http/devProxy.js +1 -1
  59. package/lib/utils/src/http/devProxy.js.map +1 -1
  60. package/package.json +1 -1
package/dist/index.css CHANGED
@@ -782,6 +782,22 @@ video {
782
782
  margin: 0;
783
783
  }
784
784
 
785
+ [data-v-7c80c3b6] .el-upload-dragger {
786
+ padding: 10px;
787
+ border: none;
788
+ }
789
+
790
+ .gm-upload-preview-dialog[data-v-7c80c3b6] [data-v-7c80c3b6] .el-dialog__body {
791
+ padding: 0;
792
+ }
793
+
794
+ [data-v-7c80c3b6] .el-upload-list__item, [data-v-7c80c3b6] .el-upload--picture-card {
795
+ width: 120px;
796
+ height: 120px;
797
+ display: flex;
798
+ align-items: center;
799
+ justify-content: center;
800
+ }
785
801
  .circular[data-v-b391445c] {
786
802
  animation: loading-rotate-b391445c 2s linear infinite;
787
803
  }
@@ -829,25 +845,12 @@ video {
829
845
  .gm-upload-material .el-dialog__body img {
830
846
  max-height: calc(100vh - 150px);
831
847
  }
832
- [data-v-29f682ba] .el-upload-dragger {
833
- padding: 10px;
834
- border: none;
835
- }
836
-
837
- .gm-upload-preview-dialog[data-v-29f682ba] [data-v-29f682ba] .el-dialog__body {
838
- padding: 0;
839
- }
840
-
841
- [data-v-29f682ba] .el-upload-list__item, [data-v-29f682ba] .el-upload--picture-card {
842
- width: 120px;
843
- height: 120px;
844
- display: flex;
848
+ .gm-flex-center[data-v-2a79bac9] {
845
849
  align-items: center;
846
- justify-content: center;
847
850
  }
848
- [data-v-7b6755e2] .gmSearchForm .el-form-item {
849
- margin-right: 0;
850
- margin-bottom: 4px;
851
+
852
+ .gm-flex-justify-between[data-v-2a79bac9] {
853
+ justify-content: space-between;
851
854
  }
852
855
  .gm-number-interval-single[data-v-47a13fd0] {
853
856
  border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
@@ -867,13 +870,6 @@ video {
867
870
  .gm-number-interval-single[data-v-47a13fd0]:hover .gm-number-interval-close[data-v-47a13fd0] {
868
871
  display: flex;
869
872
  }
870
- .gm-flex-center[data-v-2a79bac9] {
871
- align-items: center;
872
- }
873
-
874
- .gm-flex-justify-between[data-v-2a79bac9] {
875
- justify-content: space-between;
876
- }
877
873
  [data-v-668dc408] .gmTableNoBorder .el-table__body .el-table__cell {
878
874
  border-right: none;
879
875
  }
@@ -897,6 +893,10 @@ video {
897
893
  [data-v-668dc408] .gmTableNoBorder .el-table__border-left-patch {
898
894
  height: 0;
899
895
  }
896
+ [data-v-7b6755e2] .gmSearchForm .el-form-item {
897
+ margin-right: 0;
898
+ margin-bottom: 4px;
899
+ }
900
900
 
901
901
  .pagination-container[data-v-19230954] {
902
902
  background: #fff;
@@ -6,7 +6,7 @@ import { resetBaseURLInterceptorsRequest } from '../utils/resetAxiosBaseUrl.mjs'
6
6
  const viteModes = [
7
7
  { mode: "development", url: "/gateway-api" },
8
8
  { mode: "production", url: "https://gateway.giikin.cn/" },
9
- { mode: "test", url: "http://192.168.1.115:8082/" }
9
+ { mode: "test", url: "http://192.168.4.131:8082/" }
10
10
  ];
11
11
  const baseUrlEnvKey = "VITE_GIIME_GATEWAY_API";
12
12
  const { service } = createAxios({
@@ -1 +1 @@
1
- {"version":3,"file":"request.mjs","sources":["../../../../../packages/api/gatewayApi/request.ts"],"sourcesContent":["import { createAxios } from '@giime/utils';\r\nimport { resetBaseURLInterceptorsRequest } from '../utils';\r\n\r\nconst viteModes = [\r\n { mode: 'development', url: '/gateway-api' },\r\n { mode: 'production', url: 'https://gateway.giikin.cn/' },\r\n { mode: 'test', url: 'http://192.168.1.115:8082/' },\r\n];\r\nconst baseUrlEnvKey = 'VITE_GIIME_GATEWAY_API';\r\n\r\nconst { service } = createAxios({\r\n baseURL: '',\r\n successCode: 0,\r\n});\r\n// 添加重置请求的baseURL 请求拦截器\r\nresetBaseURLInterceptorsRequest(service, { baseUrlEnvKey, viteModes });\r\n\r\nexport default service;\r\n"],"names":[],"mappings":";;;;;AAGA,MAAM,SAAY,GAAA;AAAA,EAChB,EAAE,IAAA,EAAM,aAAe,EAAA,GAAA,EAAK,cAAe,EAAA;AAAA,EAC3C,EAAE,IAAA,EAAM,YAAc,EAAA,GAAA,EAAK,4BAA6B,EAAA;AAAA,EACxD,EAAE,IAAA,EAAM,MAAQ,EAAA,GAAA,EAAK,4BAA6B,EAAA;AACpD,CAAA,CAAA;AACA,MAAM,aAAgB,GAAA,wBAAA,CAAA;AAEhB,MAAA,EAAE,OAAQ,EAAA,GAAI,WAAY,CAAA;AAAA,EAC9B,OAAS,EAAA,EAAA;AAAA,EACT,WAAa,EAAA,CAAA;AACf,CAAC,EAAA;AAED,+BAAA,CAAgC,OAAS,EAAA,EAAE,aAAe,EAAA,SAAA,EAAW,CAAA;;;;"}
1
+ {"version":3,"file":"request.mjs","sources":["../../../../../packages/api/gatewayApi/request.ts"],"sourcesContent":["import { createAxios } from '@giime/utils';\r\nimport { resetBaseURLInterceptorsRequest } from '../utils';\r\n\r\nconst viteModes = [\r\n { mode: 'development', url: '/gateway-api' },\r\n { mode: 'production', url: 'https://gateway.giikin.cn/' },\r\n { mode: 'test', url: 'http://192.168.4.131:8082/' },\r\n];\r\nconst baseUrlEnvKey = 'VITE_GIIME_GATEWAY_API';\r\n\r\nconst { service } = createAxios({\r\n baseURL: '',\r\n successCode: 0,\r\n});\r\n// 添加重置请求的baseURL 请求拦截器\r\nresetBaseURLInterceptorsRequest(service, { baseUrlEnvKey, viteModes });\r\n\r\nexport default service;\r\n"],"names":[],"mappings":";;;;;AAGA,MAAM,SAAY,GAAA;AAAA,EAChB,EAAE,IAAA,EAAM,aAAe,EAAA,GAAA,EAAK,cAAe,EAAA;AAAA,EAC3C,EAAE,IAAA,EAAM,YAAc,EAAA,GAAA,EAAK,4BAA6B,EAAA;AAAA,EACxD,EAAE,IAAA,EAAM,MAAQ,EAAA,GAAA,EAAK,4BAA6B,EAAA;AACpD,CAAA,CAAA;AACA,MAAM,aAAgB,GAAA,wBAAA,CAAA;AAEhB,MAAA,EAAE,OAAQ,EAAA,GAAI,WAAY,CAAA;AAAA,EAC9B,OAAS,EAAA,EAAA;AAAA,EACT,WAAa,EAAA,CAAA;AACf,CAAC,EAAA;AAED,+BAAA,CAAgC,OAAS,EAAA,EAAE,aAAe,EAAA,SAAA,EAAW,CAAA;;;;"}
@@ -1,2 +1,3 @@
1
1
  export * from './getOssAccessToken';
2
2
  export * from './getAdFileExist';
3
+ export * from './postSaveFileResources';
@@ -1,3 +1,4 @@
1
1
  export { getOssAccessToken } from './getOssAccessToken.mjs';
2
2
  export { getAdFileExist } from './getAdFileExist.mjs';
3
+ export { postSaveFileResources } from './postSaveFileResources.mjs';
3
4
  //# 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":";;"}
@@ -0,0 +1,27 @@
1
+ import { type AxiosRequestConfig } from 'axios';
2
+ export interface PostSaveFileResourcesResponse {
3
+ code: number;
4
+ data: any;
5
+ comment: string;
6
+ }
7
+ /**
8
+ * @description 文件资源保存入库
9
+ * @param {array} fileData 文件资源
10
+ * @return {*}
11
+ **/
12
+ export declare function postSaveFileResources(input?: PostSaveFileResourcesInput, config?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<{
13
+ code: number;
14
+ data: any;
15
+ comment: string;
16
+ }, any>>;
17
+ export interface PostSaveFileResourcesFileData {
18
+ md5_code: string;
19
+ url: string;
20
+ file_size?: number;
21
+ width?: string;
22
+ high?: string;
23
+ play_time?: string;
24
+ }
25
+ export interface PostSaveFileResourcesInput {
26
+ fileData: PostSaveFileResourcesFileData;
27
+ }
@@ -0,0 +1,8 @@
1
+ import service from '../request.mjs';
2
+
3
+ function postSaveFileResources(input, config) {
4
+ return service.post(`/material/work/saveFileResources`, input, config);
5
+ }
6
+
7
+ export { postSaveFileResources };
8
+ //# sourceMappingURL=postSaveFileResources.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postSaveFileResources.mjs","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,OAAQ,CAAA,IAAA,CAAkD,CAAoC,gCAAA,CAAA,EAAA,KAAA,EAAO,MAAM,CAAA,CAAA;AACpH;;;;"}
@@ -1,4 +1,5 @@
1
1
  import './cross/index.mjs';
2
2
  export { getOssAccessToken } from './cross/getOssAccessToken.mjs';
3
3
  export { getAdFileExist } from './cross/getAdFileExist.mjs';
4
+ export { postSaveFileResources } from './cross/postSaveFileResources.mjs';
4
5
  //# 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":";;;"}
@@ -0,0 +1,4 @@
1
+ export type Primitive = undefined | null | boolean | string | number | symbol;
2
+ export type DeepRequired<T> = T extends Primitive ? T : keyof T extends never ? T : {
3
+ [K in keyof T]-?: DeepRequired<T[K]>;
4
+ };
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -139,6 +139,7 @@ declare const _default: import("vue").DefineComponent<{
139
139
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
140
140
  "update:fileList": (fileList: UploadUserFile[]) => void;
141
141
  handleRemove: (file: UploadUserFile) => void;
142
+ handleSaveFileSuccess: (file: import("../../../../api/materialApi").PostSaveFileResourcesFileData) => void;
142
143
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
143
144
  fileList: import("vue").PropType<UploadUserFile[]>;
144
145
  accept: {
@@ -277,6 +278,7 @@ declare const _default: import("vue").DefineComponent<{
277
278
  }>> & {
278
279
  "onUpdate:fileList"?: ((fileList: UploadUserFile[]) => any) | undefined;
279
280
  onHandleRemove?: ((file: UploadUserFile) => any) | undefined;
281
+ onHandleSaveFileSuccess?: ((file: import("../../../../api/materialApi").PostSaveFileResourcesFileData) => any) | undefined;
280
282
  }, {
281
283
  name: string;
282
284
  drag: boolean;
@@ -3,7 +3,7 @@ import './UploadMaterial.vue3.mjs';
3
3
  import './UploadMaterial.vue4.mjs';
4
4
  import _export_sfc from '../../../../_virtual/_plugin-vue_export-helper.mjs';
5
5
 
6
- var UploadMaterial = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-29f682ba"]]);
6
+ var UploadMaterial = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-7c80c3b6"]]);
7
7
 
8
8
  export { UploadMaterial as default };
9
9
  //# sourceMappingURL=UploadMaterial.vue.mjs.map
@@ -1,12 +1,14 @@
1
1
  import { pushScopeId, popScopeId, createElementVNode, createTextVNode, defineComponent, mergeModels, ref, useModel, resolveComponent, openBlock, createElementBlock, createVNode, withCtx, unref, createCommentVNode } from 'vue';
2
2
  import { isImageUrl, isVideoUrl } from '../../../../utils/src/is.mjs';
3
3
  import { aliossPutFile } from '../../../../utils/src/alioss.mjs';
4
+ import '../../../../api/materialApi/index.mjs';
4
5
  import { ZoomIn, Delete, UploadFilled } from '@element-plus/icons-vue';
5
6
  import '../../plugins/index.mjs';
6
7
  import { uploadMaterialProps } from './uploadMaterial.mjs';
8
+ import { postSaveFileResources } from '../../../../api/materialApi/cross/postSaveFileResources.mjs';
7
9
  import { GmMessageBox } from '../../plugins/messageBox/index.mjs';
8
10
 
9
- const _withScopeId = (n) => (pushScopeId("data-v-29f682ba"), n = n(), popScopeId(), n);
11
+ const _withScopeId = (n) => (pushScopeId("data-v-7c80c3b6"), n = n(), popScopeId(), n);
10
12
  const _hoisted_1 = { class: "gm-upload-material" };
11
13
  const _hoisted_2 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode(
12
14
  "div",
@@ -35,15 +37,26 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
35
37
  "fileList": { default: [] },
36
38
  "fileListModifiers": {}
37
39
  }),
38
- emits: /* @__PURE__ */ mergeModels(["handleRemove"], ["update:fileList"]),
40
+ emits: /* @__PURE__ */ mergeModels(["handleRemove", "handleSaveFileSuccess"], ["update:fileList"]),
39
41
  setup(__props, { expose: __expose, emit: __emit }) {
40
42
  const props = __props;
41
43
  const emit = __emit;
42
44
  const uploadRef = ref();
43
45
  const fileList = useModel(__props, "fileList");
46
+ const saveFileResources = async ({ url, md5_code, file_size }) => {
47
+ const fileData = { url, md5_code, file_size };
48
+ const { data } = await postSaveFileResources({ fileData });
49
+ if (data?.code !== 0)
50
+ return;
51
+ emit("handleSaveFileSuccess", { url, md5_code, file_size });
52
+ };
44
53
  const httpRequest = async (options) => {
45
54
  const { file } = options;
46
55
  const res = await aliossPutFile({ file, fileName: props.fileName, seat: props.seat, options: props.options });
56
+ const { url, md5: md5_code, size: file_size, isExist } = res;
57
+ if (!isExist) {
58
+ saveFileResources({ url, md5_code, file_size });
59
+ }
47
60
  return res;
48
61
  };
49
62
  const onRemove = (file) => {
@@ -1 +1 @@
1
- {"version":3,"file":"UploadMaterial.vue2.mjs","sources":["../../../../../../../packages/components/src/business/uploadMaterial/UploadMaterial.vue"],"sourcesContent":["<template>\r\n <div class=\"gm-upload-material\">\r\n <gm-upload\r\n ref=\"uploadRef\"\r\n v-model:file-list=\"fileList\"\r\n action=\"\"\r\n drag\r\n list-type=\"picture-card\"\r\n :limit=\"limit\"\r\n :multiple=\"multiple\"\r\n :auto-upload=\"props.autoUpload\"\r\n :accept=\"props.accept\"\r\n :http-request=\"httpRequest\"\r\n :on-success=\"onSuccess\"\r\n :on-error=\"onError\"\r\n :on-exceed=\"onExceed\"\r\n :before-upload=\"beforeUpload\"\r\n :on-change=\"onChange\"\r\n :on-progress=\"onProgress\"\r\n >\r\n <gm-icon :size=\"30\" color=\"#999\"><UploadFilled /></gm-icon>\r\n <div class=\"el-upload__text !gm-text-xs\">将文件拖到此处,或 <em>点击上传</em></div>\r\n <template #file=\"{ file }\">\r\n <img v-if=\"isImageUrl(file.name || file.url || '')\" :src=\"file.url\" class=\"el-upload-list__item-thumbnail\" />\r\n <video v-if=\"isVideoUrl(file.name || file.url || '')\" :src=\"file.url\" class=\"el-upload-list__item-thumbnail\" />\r\n <div class=\"el-upload-list__item-actions\">\r\n <span class=\"el-upload-list__item-preview\" @click=\"onPreview(file)\">\r\n <gm-icon><ZoomIn /></gm-icon>\r\n </span>\r\n <span class=\"gm-upload-list__item-delete\" @click=\"onRemove(file)\">\r\n <gm-icon><Delete /></gm-icon>\r\n </span>\r\n </div>\r\n </template>\r\n </gm-upload>\r\n\r\n <gm-dialog v-model=\"dialog\" title=\"预览\" width=\"calc(100vw / 5 * 4)\" destroy-on-close class=\"gm-upload-preview-dialog\">\r\n <div class=\"gm-flex gm-items-center gm-justify-center\">\r\n <img v-if=\"isImageUrl(previewFile.name || previewFile.url || '')\" :src=\"previewFile.url\" />\r\n <video v-if=\"isVideoUrl(previewFile.name || previewFile.url || '')\" :src=\"previewFile.url\" controls />\r\n </div>\r\n </gm-dialog>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ref } from 'vue';\r\nimport { isImageUrl, isVideoUrl } from '@giime/utils/src/is';\r\nimport { aliossPutFile } from '@giime/utils/src/alioss';\r\nimport { Delete, UploadFilled, ZoomIn } from '@element-plus/icons-vue';\r\nimport { GmMessageBox } from '../../plugins';\r\nimport { uploadMaterialProps } from './uploadMaterial';\r\nimport type { UploadInstance, UploadRequestOptions, UploadUserFile } from 'element-plus';\r\n\r\ndefineOptions({\r\n name: 'GmUploadMaterial',\r\n});\r\n\r\nconst props = defineProps(uploadMaterialProps);\r\nconst emit = defineEmits([\"handleRemove\"]);\r\n\r\nconst uploadRef = ref<UploadInstance>();\r\n\r\n/* 上传文件 */\r\nconst fileList = defineModel<UploadUserFile[]>('fileList', { default: [] });\r\n\r\n/* 上传 */\r\nconst httpRequest = async (options: UploadRequestOptions) => {\r\n const { file } = options;\r\n\r\n const res = await aliossPutFile({ file, fileName: props.fileName, seat: props.seat, options: props.options });\r\n return res;\r\n};\r\n\r\n/* 删除文件 */\r\nconst onRemove = (file: UploadUserFile) => {\r\n GmMessageBox.confirm('确定删除该文件吗?', '提示', {\r\n confirmButtonText: '确定',\r\n cancelButtonText: '取消',\r\n type: 'warning',\r\n })\r\n .then(() => {\r\n fileList.value = fileList.value.filter(v => v.url !== file.url);\r\n emit('handleRemove', file);\r\n })\r\n .catch(() => {});\r\n};\r\n\r\n/* 手动上传 */\r\nconst onSubmit = () => {\r\n uploadRef.value!.submit();\r\n};\r\n\r\n/* 预览 */\r\nconst dialog = ref(false);\r\nconst previewFile = ref<UploadUserFile>({\r\n name: '',\r\n url: '',\r\n});\r\nconst onPreview = (file: UploadUserFile) => {\r\n previewFile.value = file;\r\n dialog.value = true;\r\n};\r\n\r\ndefineExpose({\r\n onSubmit,\r\n});\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n:deep(.el-upload-dragger) {\r\n padding: 10px;\r\n border: none;\r\n}\r\n\r\n.gm-upload-preview-dialog {\r\n :deep(.el-dialog__body) {\r\n padding: 0;\r\n }\r\n}\r\n:deep(.el-upload-list__item),\r\n:deep(.el-upload--picture-card) {\r\n width: 120px;\r\n height: 120px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n}\r\n</style>\r\n<style lang=\"scss\">\r\n.gm-upload-material {\r\n .el-overlay-dialog {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n .el-dialog {\r\n margin: 0;\r\n }\r\n .el-dialog__body {\r\n max-height: calc(100vh - 100px);\r\n overflow-y: auto;\r\n video,\r\n img {\r\n max-height: calc(100vh - 150px);\r\n }\r\n }\r\n}\r\n</style>\r\n"],"names":["_useModel"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0DA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAEb,IAAA,MAAM,YAAY,GAAoB,EAAA,CAAA;AAGtC,IAAM,MAAA,QAAA,GAAWA,QAA8B,CAAA,OAAA,EAAA,UAA2B,CAAA,CAAA;AAG1E,IAAM,MAAA,WAAA,GAAc,OAAO,OAAkC,KAAA;AAC3D,MAAM,MAAA,EAAE,MAAS,GAAA,OAAA,CAAA;AAEjB,MAAA,MAAM,GAAM,GAAA,MAAM,aAAc,CAAA,EAAE,MAAM,QAAU,EAAA,KAAA,CAAM,QAAU,EAAA,IAAA,EAAM,KAAM,CAAA,IAAA,EAAM,OAAS,EAAA,KAAA,CAAM,SAAS,CAAA,CAAA;AAC5G,MAAO,OAAA,GAAA,CAAA;AAAA,KACT,CAAA;AAGA,IAAM,MAAA,QAAA,GAAW,CAAC,IAAyB,KAAA;AACzC,MAAa,YAAA,CAAA,OAAA,CAAQ,0DAAa,cAAM,EAAA;AAAA,QACtC,iBAAmB,EAAA,cAAA;AAAA,QACnB,gBAAkB,EAAA,cAAA;AAAA,QAClB,IAAM,EAAA,SAAA;AAAA,OACP,CACE,CAAA,IAAA,CAAK,MAAM;AACV,QAAS,QAAA,CAAA,KAAA,GAAQ,SAAS,KAAM,CAAA,MAAA,CAAO,OAAK,CAAE,CAAA,GAAA,KAAQ,KAAK,GAAG,CAAA,CAAA;AAC9D,QAAA,IAAA,CAAK,gBAAgB,IAAI,CAAA,CAAA;AAAA,OAC1B,CACA,CAAA,KAAA,CAAM,MAAM;AAAA,OAAE,CAAA,CAAA;AAAA,KACnB,CAAA;AAGA,IAAA,MAAM,WAAW,MAAM;AACrB,MAAA,SAAA,CAAU,MAAO,MAAO,EAAA,CAAA;AAAA,KAC1B,CAAA;AAGA,IAAM,MAAA,MAAA,GAAS,IAAI,KAAK,CAAA,CAAA;AACxB,IAAA,MAAM,cAAc,GAAoB,CAAA;AAAA,MACtC,IAAM,EAAA,EAAA;AAAA,MACN,GAAK,EAAA,EAAA;AAAA,KACN,CAAA,CAAA;AACD,IAAM,MAAA,SAAA,GAAY,CAAC,IAAyB,KAAA;AAC1C,MAAA,WAAA,CAAY,KAAQ,GAAA,IAAA,CAAA;AACpB,MAAA,MAAA,CAAO,KAAQ,GAAA,IAAA,CAAA;AAAA,KACjB,CAAA;AAEA,IAAa,QAAA,CAAA;AAAA,MACX,QAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"UploadMaterial.vue2.mjs","sources":["../../../../../../../packages/components/src/business/uploadMaterial/UploadMaterial.vue"],"sourcesContent":["<template>\r\n <div class=\"gm-upload-material\">\r\n <gm-upload\r\n ref=\"uploadRef\"\r\n v-model:file-list=\"fileList\"\r\n action=\"\"\r\n drag\r\n list-type=\"picture-card\"\r\n :limit=\"limit\"\r\n :multiple=\"multiple\"\r\n :auto-upload=\"props.autoUpload\"\r\n :accept=\"props.accept\"\r\n :http-request=\"httpRequest\"\r\n :on-success=\"onSuccess\"\r\n :on-error=\"onError\"\r\n :on-exceed=\"onExceed\"\r\n :before-upload=\"beforeUpload\"\r\n :on-change=\"onChange\"\r\n :on-progress=\"onProgress\"\r\n >\r\n <gm-icon :size=\"30\" color=\"#999\"><UploadFilled /></gm-icon>\r\n <div class=\"el-upload__text !gm-text-xs\">将文件拖到此处,或 <em>点击上传</em></div>\r\n <template #file=\"{ file }\">\r\n <img v-if=\"isImageUrl(file.name || file.url || '')\" :src=\"file.url\" class=\"el-upload-list__item-thumbnail\" />\r\n <video v-if=\"isVideoUrl(file.name || file.url || '')\" :src=\"file.url\" class=\"el-upload-list__item-thumbnail\" />\r\n <div class=\"el-upload-list__item-actions\">\r\n <span class=\"el-upload-list__item-preview\" @click=\"onPreview(file)\">\r\n <gm-icon><ZoomIn /></gm-icon>\r\n </span>\r\n <span class=\"gm-upload-list__item-delete\" @click=\"onRemove(file)\">\r\n <gm-icon><Delete /></gm-icon>\r\n </span>\r\n </div>\r\n </template>\r\n </gm-upload>\r\n\r\n <gm-dialog v-model=\"dialog\" title=\"预览\" width=\"calc(100vw / 5 * 4)\" destroy-on-close class=\"gm-upload-preview-dialog\">\r\n <div class=\"gm-flex gm-items-center gm-justify-center\">\r\n <img v-if=\"isImageUrl(previewFile.name || previewFile.url || '')\" :src=\"previewFile.url\" />\r\n <video v-if=\"isVideoUrl(previewFile.name || previewFile.url || '')\" :src=\"previewFile.url\" controls />\r\n </div>\r\n </gm-dialog>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ref } from 'vue';\r\nimport { isImageUrl, isVideoUrl } from '@giime/utils/src/is';\r\nimport { aliossPutFile } from '@giime/utils/src/alioss';\r\nimport { postSaveFileResources } from '@giime/api/materialApi';\r\nimport { Delete, UploadFilled, ZoomIn } from '@element-plus/icons-vue';\r\nimport { GmMessageBox } from '../../plugins';\r\nimport { type SaveFileResourcesFile, uploadMaterialProps } from './uploadMaterial';\r\nimport type { UploadInstance, UploadRequestOptions, UploadUserFile } from 'element-plus';\r\n\r\ndefineOptions({\r\n name: 'GmUploadMaterial',\r\n});\r\n\r\nconst props = defineProps(uploadMaterialProps);\r\nconst emit = defineEmits([\"handleRemove\", \"handleSaveFileSuccess\"]);\r\n\r\nconst uploadRef = ref<UploadInstance>();\r\n\r\n/* 上传文件 */\r\nconst fileList = defineModel<UploadUserFile[]>('fileList', { default: [] });\r\n\r\n/** 文件资源保存入库 */\r\nconst saveFileResources = async ({ url, md5_code, file_size }: SaveFileResourcesFile) => {\r\n const fileData = { url, md5_code, file_size };\r\n const { data } = await postSaveFileResources({ fileData });\r\n if (data?.code !== 0) return;\r\n emit('handleSaveFileSuccess', { url, md5_code, file_size });\r\n};\r\n\r\n/* 上传 */\r\nconst httpRequest = async (options: UploadRequestOptions) => {\r\n const { file } = options;\r\n const res = await aliossPutFile({ file, fileName: props.fileName, seat: props.seat, options: props.options });\r\n\r\n // 文件已存在资源库,则无需保存入库\r\n const { url, md5: md5_code, size: file_size, isExist } = res;\r\n if (!isExist) {\r\n saveFileResources({ url, md5_code, file_size });\r\n }\r\n return res;\r\n};\r\n\r\n/* 删除文件 */\r\nconst onRemove = (file: UploadUserFile) => {\r\n GmMessageBox.confirm('确定删除该文件吗?', '提示', {\r\n confirmButtonText: '确定',\r\n cancelButtonText: '取消',\r\n type: 'warning',\r\n })\r\n .then(() => {\r\n fileList.value = fileList.value.filter(v => v.url !== file.url);\r\n emit('handleRemove', file);\r\n })\r\n .catch(() => {});\r\n};\r\n\r\n/* 手动上传 */\r\nconst onSubmit = () => {\r\n uploadRef.value!.submit();\r\n};\r\n\r\n/* 预览 */\r\nconst dialog = ref(false);\r\nconst previewFile = ref<UploadUserFile>({\r\n name: '',\r\n url: '',\r\n});\r\nconst onPreview = (file: UploadUserFile) => {\r\n previewFile.value = file;\r\n dialog.value = true;\r\n};\r\n\r\ndefineExpose({\r\n onSubmit,\r\n});\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n:deep(.el-upload-dragger) {\r\n padding: 10px;\r\n border: none;\r\n}\r\n\r\n.gm-upload-preview-dialog {\r\n :deep(.el-dialog__body) {\r\n padding: 0;\r\n }\r\n}\r\n:deep(.el-upload-list__item),\r\n:deep(.el-upload--picture-card) {\r\n width: 120px;\r\n height: 120px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n}\r\n</style>\r\n<style lang=\"scss\">\r\n.gm-upload-material {\r\n .el-overlay-dialog {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n .el-dialog {\r\n margin: 0;\r\n }\r\n .el-dialog__body {\r\n max-height: calc(100vh - 100px);\r\n overflow-y: auto;\r\n video,\r\n img {\r\n max-height: calc(100vh - 150px);\r\n }\r\n }\r\n}\r\n</style>\r\n"],"names":["_useModel"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2DA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAEb,IAAA,MAAM,YAAY,GAAoB,EAAA,CAAA;AAGtC,IAAM,MAAA,QAAA,GAAWA,QAA8B,CAAA,OAAA,EAAA,UAA2B,CAAA,CAAA;AAG1E,IAAA,MAAM,oBAAoB,OAAO,EAAE,GAAK,EAAA,QAAA,EAAU,WAAuC,KAAA;AACvF,MAAA,MAAM,QAAW,GAAA,EAAE,GAAK,EAAA,QAAA,EAAU,SAAU,EAAA,CAAA;AAC5C,MAAA,MAAM,EAAE,IAAK,EAAA,GAAI,MAAM,qBAAsB,CAAA,EAAE,UAAU,CAAA,CAAA;AACzD,MAAA,IAAI,MAAM,IAAS,KAAA,CAAA;AAAG,QAAA,OAAA;AACtB,MAAA,IAAA,CAAK,uBAAyB,EAAA,EAAE,GAAK,EAAA,QAAA,EAAU,WAAW,CAAA,CAAA;AAAA,KAC5D,CAAA;AAGA,IAAM,MAAA,WAAA,GAAc,OAAO,OAAkC,KAAA;AAC3D,MAAM,MAAA,EAAE,MAAS,GAAA,OAAA,CAAA;AACjB,MAAA,MAAM,GAAM,GAAA,MAAM,aAAc,CAAA,EAAE,MAAM,QAAU,EAAA,KAAA,CAAM,QAAU,EAAA,IAAA,EAAM,KAAM,CAAA,IAAA,EAAM,OAAS,EAAA,KAAA,CAAM,SAAS,CAAA,CAAA;AAG5G,MAAA,MAAM,EAAE,GAAK,EAAA,GAAA,EAAK,UAAU,IAAM,EAAA,SAAA,EAAW,SAAY,GAAA,GAAA,CAAA;AACzD,MAAA,IAAI,CAAC,OAAS,EAAA;AACZ,QAAA,iBAAA,CAAkB,EAAE,GAAA,EAAK,QAAU,EAAA,SAAA,EAAW,CAAA,CAAA;AAAA,OAChD;AACA,MAAO,OAAA,GAAA,CAAA;AAAA,KACT,CAAA;AAGA,IAAM,MAAA,QAAA,GAAW,CAAC,IAAyB,KAAA;AACzC,MAAa,YAAA,CAAA,OAAA,CAAQ,0DAAa,cAAM,EAAA;AAAA,QACtC,iBAAmB,EAAA,cAAA;AAAA,QACnB,gBAAkB,EAAA,cAAA;AAAA,QAClB,IAAM,EAAA,SAAA;AAAA,OACP,CACE,CAAA,IAAA,CAAK,MAAM;AACV,QAAS,QAAA,CAAA,KAAA,GAAQ,SAAS,KAAM,CAAA,MAAA,CAAO,OAAK,CAAE,CAAA,GAAA,KAAQ,KAAK,GAAG,CAAA,CAAA;AAC9D,QAAA,IAAA,CAAK,gBAAgB,IAAI,CAAA,CAAA;AAAA,OAC1B,CACA,CAAA,KAAA,CAAM,MAAM;AAAA,OAAE,CAAA,CAAA;AAAA,KACnB,CAAA;AAGA,IAAA,MAAM,WAAW,MAAM;AACrB,MAAA,SAAA,CAAU,MAAO,MAAO,EAAA,CAAA;AAAA,KAC1B,CAAA;AAGA,IAAM,MAAA,MAAA,GAAS,IAAI,KAAK,CAAA,CAAA;AACxB,IAAA,MAAM,cAAc,GAAoB,CAAA;AAAA,MACtC,IAAM,EAAA,EAAA;AAAA,MACN,GAAK,EAAA,EAAA;AAAA,KACN,CAAA,CAAA;AACD,IAAM,MAAA,SAAA,GAAY,CAAC,IAAyB,KAAA;AAC1C,MAAA,WAAA,CAAY,KAAQ,GAAA,IAAA,CAAA;AACpB,MAAA,MAAA,CAAO,KAAQ,GAAA,IAAA,CAAA;AAAA,KACjB,CAAA;AAEA,IAAa,QAAA,CAAA;AAAA,MACX,QAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -139,6 +139,7 @@ export declare const GmUploadMaterial: import("../../../../utils").SFCWithInstal
139
139
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
140
140
  "update:fileList": (fileList: import("element-plus").UploadUserFile[]) => void;
141
141
  handleRemove: (file: import("element-plus").UploadUserFile) => void;
142
+ handleSaveFileSuccess: (file: import("../../../../api/materialApi/index.js").PostSaveFileResourcesFileData) => void;
142
143
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
143
144
  fileList: import("vue").PropType<import("element-plus").UploadUserFile[]>;
144
145
  accept: {
@@ -277,6 +278,7 @@ export declare const GmUploadMaterial: import("../../../../utils").SFCWithInstal
277
278
  }>> & {
278
279
  "onUpdate:fileList"?: ((fileList: import("element-plus").UploadUserFile[]) => any) | undefined;
279
280
  onHandleRemove?: ((file: import("element-plus").UploadUserFile) => any) | undefined;
281
+ onHandleSaveFileSuccess?: ((file: import("../../../../api/materialApi/index.js").PostSaveFileResourcesFileData) => any) | undefined;
280
282
  }, {
281
283
  name: string;
282
284
  drag: boolean;
@@ -1,5 +1,7 @@
1
+ import { type PostSaveFileResourcesFileData } from '../../../../api/materialApi';
1
2
  import type { AliOssResponse } from '../../../../utils/src/alioss';
2
3
  export type UploadMaterialResponse = AliOssResponse;
4
+ export type SaveFileResourcesFile = PostSaveFileResourcesFileData;
3
5
  export declare const uploadMaterialProps: {
4
6
  accept: {
5
7
  type: StringConstructor;
@@ -1 +1 @@
1
- {"version":3,"file":"uploadMaterial.mjs","sources":["../../../../../../../packages/components/src/business/uploadMaterial/uploadMaterial.ts"],"sourcesContent":["import { uploadProps } from '../../base/upload';\r\nimport type { AliOssResponse } from '@giime/utils/src/alioss';\r\n\r\nexport type UploadMaterialResponse = AliOssResponse;\r\n\r\nexport const uploadMaterialProps = {\r\n ...uploadProps,\r\n accept: {\r\n type: String,\r\n default: '*',\r\n },\r\n autoUpload: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n multiple: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n seat: {\r\n // 上传位置\r\n type: String,\r\n default: 'default',\r\n },\r\n options: {\r\n // alioss上传配置\r\n type: Object,\r\n default: () => {},\r\n },\r\n fileName: {\r\n // 上传文件名\r\n type: String,\r\n default: '',\r\n },\r\n};\r\n"],"names":[],"mappings":";;;AAKO,MAAM,mBAAsB,GAAA;AAAA,EACjC,GAAG,WAAA;AAAA,EACH,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,GAAA;AAAA,GACX;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EACA,IAAM,EAAA;AAAA;AAAA,IAEJ,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,SAAA;AAAA,GACX;AAAA,EACA,OAAS,EAAA;AAAA;AAAA,IAEP,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,MAAM;AAAA,KAAC;AAAA,GAClB;AAAA,EACA,QAAU,EAAA;AAAA;AAAA,IAER,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AACF;;;;"}
1
+ {"version":3,"file":"uploadMaterial.mjs","sources":["../../../../../../../packages/components/src/business/uploadMaterial/uploadMaterial.ts"],"sourcesContent":["import { type PostSaveFileResourcesFileData } from '@giime/api/materialApi';\r\nimport { uploadProps } from '../../base/upload';\r\nimport type { AliOssResponse } from '@giime/utils/src/alioss';\r\n\r\nexport type UploadMaterialResponse = AliOssResponse;\r\n\r\nexport type SaveFileResourcesFile = PostSaveFileResourcesFileData;\r\n\r\nexport const uploadMaterialProps = {\r\n ...uploadProps,\r\n accept: {\r\n type: String,\r\n default: '*',\r\n },\r\n autoUpload: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n multiple: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n seat: {\r\n // 上传位置\r\n type: String,\r\n default: 'default',\r\n },\r\n options: {\r\n // alioss上传配置\r\n type: Object,\r\n default: () => {},\r\n },\r\n fileName: {\r\n // 上传文件名\r\n type: String,\r\n default: '',\r\n },\r\n};\r\n"],"names":[],"mappings":";;;AAQO,MAAM,mBAAsB,GAAA;AAAA,EACjC,GAAG,WAAA;AAAA,EACH,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,GAAA;AAAA,GACX;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EACA,IAAM,EAAA;AAAA;AAAA,IAEJ,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,SAAA;AAAA,GACX;AAAA,EACA,OAAS,EAAA;AAAA;AAAA,IAEP,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,MAAM;AAAA,KAAC;AAAA,GAClB;AAAA,EACA,QAAU,EAAA;AAAA;AAAA,IAER,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AACF;;;;"}
@@ -1 +1 @@
1
- export declare const version = "0.4.9";
1
+ export declare const version = "0.4.11";
@@ -1,4 +1,4 @@
1
- const version = "0.4.9";
1
+ const version = "0.4.11";
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.9';\n"],"names":[],"mappings":"AAAO,MAAM,OAAU,GAAA;;;;"}
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;;;;"}
package/es/index.css CHANGED
@@ -782,6 +782,22 @@ video {
782
782
  margin: 0;
783
783
  }
784
784
 
785
+ [data-v-7c80c3b6] .el-upload-dragger {
786
+ padding: 10px;
787
+ border: none;
788
+ }
789
+
790
+ .gm-upload-preview-dialog[data-v-7c80c3b6] [data-v-7c80c3b6] .el-dialog__body {
791
+ padding: 0;
792
+ }
793
+
794
+ [data-v-7c80c3b6] .el-upload-list__item, [data-v-7c80c3b6] .el-upload--picture-card {
795
+ width: 120px;
796
+ height: 120px;
797
+ display: flex;
798
+ align-items: center;
799
+ justify-content: center;
800
+ }
785
801
  .circular[data-v-b391445c] {
786
802
  animation: loading-rotate-b391445c 2s linear infinite;
787
803
  }
@@ -829,25 +845,12 @@ video {
829
845
  .gm-upload-material .el-dialog__body img {
830
846
  max-height: calc(100vh - 150px);
831
847
  }
832
- [data-v-29f682ba] .el-upload-dragger {
833
- padding: 10px;
834
- border: none;
835
- }
836
-
837
- .gm-upload-preview-dialog[data-v-29f682ba] [data-v-29f682ba] .el-dialog__body {
838
- padding: 0;
839
- }
840
-
841
- [data-v-29f682ba] .el-upload-list__item, [data-v-29f682ba] .el-upload--picture-card {
842
- width: 120px;
843
- height: 120px;
844
- display: flex;
848
+ .gm-flex-center[data-v-2a79bac9] {
845
849
  align-items: center;
846
- justify-content: center;
847
850
  }
848
- [data-v-7b6755e2] .gmSearchForm .el-form-item {
849
- margin-right: 0;
850
- margin-bottom: 4px;
851
+
852
+ .gm-flex-justify-between[data-v-2a79bac9] {
853
+ justify-content: space-between;
851
854
  }
852
855
  .gm-number-interval-single[data-v-47a13fd0] {
853
856
  border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
@@ -867,13 +870,6 @@ video {
867
870
  .gm-number-interval-single[data-v-47a13fd0]:hover .gm-number-interval-close[data-v-47a13fd0] {
868
871
  display: flex;
869
872
  }
870
- .gm-flex-center[data-v-2a79bac9] {
871
- align-items: center;
872
- }
873
-
874
- .gm-flex-justify-between[data-v-2a79bac9] {
875
- justify-content: space-between;
876
- }
877
873
  [data-v-668dc408] .gmTableNoBorder .el-table__body .el-table__cell {
878
874
  border-right: none;
879
875
  }
@@ -897,6 +893,10 @@ video {
897
893
  [data-v-668dc408] .gmTableNoBorder .el-table__border-left-patch {
898
894
  height: 0;
899
895
  }
896
+ [data-v-7b6755e2] .gmSearchForm .el-form-item {
897
+ margin-right: 0;
898
+ margin-bottom: 4px;
899
+ }
900
900
 
901
901
  .pagination-container[data-v-19230954] {
902
902
  background: #fff;
@@ -1,14 +1,32 @@
1
+ /** 上传文件到阿里云 */
1
2
  export type AliOssParams = {
3
+ /** 资源文件 */
2
4
  file: File;
5
+ /** 文件名 */
3
6
  fileName?: string;
7
+ /** 文件存储位置 */
4
8
  seat?: string;
9
+ /** 上传到oss的设置 */
5
10
  options?: any;
6
11
  };
12
+ /** 返回数据 */
7
13
  export type AliOssResponse = {
14
+ /** 文件地址 */
8
15
  url: string;
16
+ /** 文件名 */
9
17
  name: string;
18
+ /** 文件最后修改时间 */
10
19
  lastModified: number;
20
+ /** 文件md5 */
11
21
  md5: string;
22
+ /** 文件大小 */
23
+ size: number;
24
+ /** 文件后缀 */
25
+ type: any;
26
+ /** 文件库是否存在 */
27
+ isExist: any;
12
28
  };
29
+ /** 检测广告素材是否已存在 */
13
30
  export declare const getFileExist: (md5Code: string, ext: string) => Promise<string | false>;
31
+ /** 上传文件 */
14
32
  export declare const aliossPutFile: ({ file, fileName, seat, options }: AliOssParams) => Promise<AliOssResponse>;
@@ -35,7 +35,7 @@ const getParallelPartSize = (size) => {
35
35
  };
36
36
  const getFileExist = async (md5Code, ext) => {
37
37
  const { data } = await getAdFileExist({ md5Code, ext });
38
- if (data.code !== 200) {
38
+ if (data.code !== 0) {
39
39
  return false;
40
40
  }
41
41
  if (!data.data.count) {
@@ -47,14 +47,17 @@ const aliossPutFile = async ({ file, fileName, seat, options }) => {
47
47
  const md5 = await ts_md5_file(file);
48
48
  let { name, lastModified, size } = file;
49
49
  const ext = name.match(/\.(\w+)$/)?.[0] || "";
50
- const url = await getFileExist(md5, ext);
50
+ const url = await getFileExist(md5, ext.replaceAll(".", ""));
51
51
  name = (fileName || name).slice(0, name.lastIndexOf("."));
52
52
  if (url) {
53
53
  return {
54
- name,
54
+ name: name + ext,
55
55
  url,
56
56
  lastModified,
57
- md5
57
+ md5,
58
+ size,
59
+ type: ext.replaceAll(".", ""),
60
+ isExist: true
58
61
  };
59
62
  }
60
63
  const aliossStsTokenStore = useAliossStsTokenStore();
@@ -87,10 +90,13 @@ const aliossPutFile = async ({ file, fileName, seat, options }) => {
87
90
  ossClient[upload](aliossPath, file, options).then(() => {
88
91
  const url2 = `https://sucai.giikin.cn/${aliossPath}`;
89
92
  resolve({
90
- name: `${name}${ext}`,
93
+ name: name + ext,
91
94
  url: url2,
92
95
  lastModified,
93
- md5
96
+ md5,
97
+ type: ext.replaceAll(".", ""),
98
+ size,
99
+ isExist: false
94
100
  });
95
101
  });
96
102
  } catch (error) {
@@ -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 file: File; // 资源文件\r\n fileName?: string; // 文件名\r\n seat?: string; // 文件存储位置\r\n options?: any; // 上传到oss的设置\r\n};\r\n\r\nexport type AliOssResponse = {\r\n url: string; // 文件地址\r\n name: string; // 文件名\r\n lastModified: number; // 文件最后修改时间\r\n md5: string; // 文件md5\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 !== 200) {\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 const ext = name.match(/\\.(\\w+)$/)?.[0] || '';\r\n const url = await getFileExist(md5, ext);\r\n name = (fileName || name).slice(0, name.lastIndexOf('.'));\r\n\r\n /* 文件已存在直接返回路径 */\r\n if (url) {\r\n return {\r\n name,\r\n url,\r\n lastModified,\r\n md5,\r\n };\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\r\n const aliossPath = `material/${seat}/material-file-${timestr}-${size}-${lastModified}${ext}`;\r\n\r\n if (!options) {\r\n // 根据文件大小设置并发数和分片大小\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 });\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: 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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"}
@@ -16,7 +16,7 @@ const giimeDevProxy = {
16
16
  rewrite: (p) => p.replace(/^\/shop-admin-api/, "")
17
17
  },
18
18
  "/gateway-api": {
19
- target: "http://192.168.1.115:8082/",
19
+ target: "http://192.168.4.131:8082/",
20
20
  changeOrigin: true,
21
21
  rewrite: (p) => p.replace(/^\/gateway-api/, "")
22
22
  },
@@ -1 +1 @@
1
- {"version":3,"file":"devProxy.mjs","sources":["../../../../../../packages/utils/src/http/devProxy.ts"],"sourcesContent":["import type { ProxyOptions } from 'vite';\r\n\r\nexport const giimeDevProxy: Record<string, string | ProxyOptions> = {\r\n // https://cn.vitejs.dev/config/#server-proxy\r\n '/gstore-api': {\r\n target: 'http://192.168.4.125:10086/gstore/',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/gstore-api/, ''),\r\n },\r\n '/material-api': {\r\n target: 'http://192.168.4.130:8002',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/material-api/, ''),\r\n },\r\n '/shop-admin-api': {\r\n target: 'http://192.168.4.130:8001',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/shop-admin-api/, ''),\r\n },\r\n '/gateway-api': {\r\n target: 'http://192.168.1.115:8082/',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/gateway-api/, ''),\r\n },\r\n '/third-api': {\r\n target: 'https://third-gw.giimall.net/',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/third-api/, ''),\r\n },\r\n '/basic-api': {\r\n target: 'http://192.168.4.171:9501/',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/basic-api/, ''),\r\n },\r\n '/amazon-agent-api': {\r\n target: 'http://192.168.4.125:10086/amazon-agent',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/amazon-agent-api/, ''),\r\n },\r\n '/product-center-api': {\r\n target: 'http://192.168.4.125:10086/product-center/',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/product-center-api/, ''),\r\n },\r\n};\r\n"],"names":[],"mappings":"AAEO,MAAM,aAAuD,GAAA;AAAA;AAAA,EAElE,aAAe,EAAA;AAAA,IACb,MAAQ,EAAA,oCAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,iBAAiB,EAAE,CAAA;AAAA,GAC7C;AAAA,EACA,eAAiB,EAAA;AAAA,IACf,MAAQ,EAAA,2BAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,mBAAmB,EAAE,CAAA;AAAA,GAC/C;AAAA,EACA,iBAAmB,EAAA;AAAA,IACjB,MAAQ,EAAA,2BAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,qBAAqB,EAAE,CAAA;AAAA,GACjD;AAAA,EACA,cAAgB,EAAA;AAAA,IACd,MAAQ,EAAA,4BAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,kBAAkB,EAAE,CAAA;AAAA,GAC9C;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,MAAQ,EAAA,+BAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,gBAAgB,EAAE,CAAA;AAAA,GAC5C;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,MAAQ,EAAA,4BAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,gBAAgB,EAAE,CAAA;AAAA,GAC5C;AAAA,EACA,mBAAqB,EAAA;AAAA,IACnB,MAAQ,EAAA,yCAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,uBAAuB,EAAE,CAAA;AAAA,GACnD;AAAA,EACA,qBAAuB,EAAA;AAAA,IACrB,MAAQ,EAAA,4CAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,yBAAyB,EAAE,CAAA;AAAA,GACrD;AACF;;;;"}
1
+ {"version":3,"file":"devProxy.mjs","sources":["../../../../../../packages/utils/src/http/devProxy.ts"],"sourcesContent":["import type { ProxyOptions } from 'vite';\r\n\r\nexport const giimeDevProxy: Record<string, string | ProxyOptions> = {\r\n // https://cn.vitejs.dev/config/#server-proxy\r\n '/gstore-api': {\r\n target: 'http://192.168.4.125:10086/gstore/',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/gstore-api/, ''),\r\n },\r\n '/material-api': {\r\n target: 'http://192.168.4.130:8002',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/material-api/, ''),\r\n },\r\n '/shop-admin-api': {\r\n target: 'http://192.168.4.130:8001',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/shop-admin-api/, ''),\r\n },\r\n '/gateway-api': {\r\n target: 'http://192.168.4.131:8082/',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/gateway-api/, ''),\r\n },\r\n '/third-api': {\r\n target: 'https://third-gw.giimall.net/',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/third-api/, ''),\r\n },\r\n '/basic-api': {\r\n target: 'http://192.168.4.171:9501/',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/basic-api/, ''),\r\n },\r\n '/amazon-agent-api': {\r\n target: 'http://192.168.4.125:10086/amazon-agent',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/amazon-agent-api/, ''),\r\n },\r\n '/product-center-api': {\r\n target: 'http://192.168.4.125:10086/product-center/',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/product-center-api/, ''),\r\n },\r\n};\r\n"],"names":[],"mappings":"AAEO,MAAM,aAAuD,GAAA;AAAA;AAAA,EAElE,aAAe,EAAA;AAAA,IACb,MAAQ,EAAA,oCAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,iBAAiB,EAAE,CAAA;AAAA,GAC7C;AAAA,EACA,eAAiB,EAAA;AAAA,IACf,MAAQ,EAAA,2BAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,mBAAmB,EAAE,CAAA;AAAA,GAC/C;AAAA,EACA,iBAAmB,EAAA;AAAA,IACjB,MAAQ,EAAA,2BAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,qBAAqB,EAAE,CAAA;AAAA,GACjD;AAAA,EACA,cAAgB,EAAA;AAAA,IACd,MAAQ,EAAA,4BAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,kBAAkB,EAAE,CAAA;AAAA,GAC9C;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,MAAQ,EAAA,+BAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,gBAAgB,EAAE,CAAA;AAAA,GAC5C;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,MAAQ,EAAA,4BAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,gBAAgB,EAAE,CAAA;AAAA,GAC5C;AAAA,EACA,mBAAqB,EAAA;AAAA,IACnB,MAAQ,EAAA,yCAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,uBAAuB,EAAE,CAAA;AAAA,GACnD;AAAA,EACA,qBAAuB,EAAA;AAAA,IACrB,MAAQ,EAAA,4CAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,yBAAyB,EAAE,CAAA;AAAA,GACrD;AACF;;;;"}
@@ -10,7 +10,7 @@ var resetAxiosBaseUrl = require('../utils/resetAxiosBaseUrl.js');
10
10
  const viteModes = [
11
11
  { mode: "development", url: "/gateway-api" },
12
12
  { mode: "production", url: "https://gateway.giikin.cn/" },
13
- { mode: "test", url: "http://192.168.1.115:8082/" }
13
+ { mode: "test", url: "http://192.168.4.131:8082/" }
14
14
  ];
15
15
  const baseUrlEnvKey = "VITE_GIIME_GATEWAY_API";
16
16
  const { service } = createAxios.createAxios({
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sources":["../../../../../packages/api/gatewayApi/request.ts"],"sourcesContent":["import { createAxios } from '@giime/utils';\r\nimport { resetBaseURLInterceptorsRequest } from '../utils';\r\n\r\nconst viteModes = [\r\n { mode: 'development', url: '/gateway-api' },\r\n { mode: 'production', url: 'https://gateway.giikin.cn/' },\r\n { mode: 'test', url: 'http://192.168.1.115:8082/' },\r\n];\r\nconst baseUrlEnvKey = 'VITE_GIIME_GATEWAY_API';\r\n\r\nconst { service } = createAxios({\r\n baseURL: '',\r\n successCode: 0,\r\n});\r\n// 添加重置请求的baseURL 请求拦截器\r\nresetBaseURLInterceptorsRequest(service, { baseUrlEnvKey, viteModes });\r\n\r\nexport default service;\r\n"],"names":["createAxios","resetBaseURLInterceptorsRequest"],"mappings":";;;;;;;;;AAGA,MAAM,SAAY,GAAA;AAAA,EAChB,EAAE,IAAA,EAAM,aAAe,EAAA,GAAA,EAAK,cAAe,EAAA;AAAA,EAC3C,EAAE,IAAA,EAAM,YAAc,EAAA,GAAA,EAAK,4BAA6B,EAAA;AAAA,EACxD,EAAE,IAAA,EAAM,MAAQ,EAAA,GAAA,EAAK,4BAA6B,EAAA;AACpD,CAAA,CAAA;AACA,MAAM,aAAgB,GAAA,wBAAA,CAAA;AAEhB,MAAA,EAAE,OAAQ,EAAA,GAAIA,uBAAY,CAAA;AAAA,EAC9B,OAAS,EAAA,EAAA;AAAA,EACT,WAAa,EAAA,CAAA;AACf,CAAC,EAAA;AAEDC,iDAAA,CAAgC,OAAS,EAAA,EAAE,aAAe,EAAA,SAAA,EAAW,CAAA;;;;"}
1
+ {"version":3,"file":"request.js","sources":["../../../../../packages/api/gatewayApi/request.ts"],"sourcesContent":["import { createAxios } from '@giime/utils';\r\nimport { resetBaseURLInterceptorsRequest } from '../utils';\r\n\r\nconst viteModes = [\r\n { mode: 'development', url: '/gateway-api' },\r\n { mode: 'production', url: 'https://gateway.giikin.cn/' },\r\n { mode: 'test', url: 'http://192.168.4.131:8082/' },\r\n];\r\nconst baseUrlEnvKey = 'VITE_GIIME_GATEWAY_API';\r\n\r\nconst { service } = createAxios({\r\n baseURL: '',\r\n successCode: 0,\r\n});\r\n// 添加重置请求的baseURL 请求拦截器\r\nresetBaseURLInterceptorsRequest(service, { baseUrlEnvKey, viteModes });\r\n\r\nexport default service;\r\n"],"names":["createAxios","resetBaseURLInterceptorsRequest"],"mappings":";;;;;;;;;AAGA,MAAM,SAAY,GAAA;AAAA,EAChB,EAAE,IAAA,EAAM,aAAe,EAAA,GAAA,EAAK,cAAe,EAAA;AAAA,EAC3C,EAAE,IAAA,EAAM,YAAc,EAAA,GAAA,EAAK,4BAA6B,EAAA;AAAA,EACxD,EAAE,IAAA,EAAM,MAAQ,EAAA,GAAA,EAAK,4BAA6B,EAAA;AACpD,CAAA,CAAA;AACA,MAAM,aAAgB,GAAA,wBAAA,CAAA;AAEhB,MAAA,EAAE,OAAQ,EAAA,GAAIA,uBAAY,CAAA;AAAA,EAC9B,OAAS,EAAA,EAAA;AAAA,EACT,WAAa,EAAA,CAAA;AACf,CAAC,EAAA;AAEDC,iDAAA,CAAgC,OAAS,EAAA,EAAE,aAAe,EAAA,SAAA,EAAW,CAAA;;;;"}
@@ -1,2 +1,3 @@
1
1
  export * from './getOssAccessToken';
2
2
  export * from './getAdFileExist';
3
+ export * from './postSaveFileResources';
@@ -2,9 +2,11 @@
2
2
 
3
3
  var getOssAccessToken = require('./getOssAccessToken.js');
4
4
  var getAdFileExist = require('./getAdFileExist.js');
5
+ var postSaveFileResources = require('./postSaveFileResources.js');
5
6
 
6
7
 
7
8
 
8
9
  exports.getOssAccessToken = getOssAccessToken.getOssAccessToken;
9
10
  exports.getAdFileExist = getAdFileExist.getAdFileExist;
11
+ exports.postSaveFileResources = postSaveFileResources.postSaveFileResources;
10
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
@@ -0,0 +1,27 @@
1
+ import { type AxiosRequestConfig } from 'axios';
2
+ export interface PostSaveFileResourcesResponse {
3
+ code: number;
4
+ data: any;
5
+ comment: string;
6
+ }
7
+ /**
8
+ * @description 文件资源保存入库
9
+ * @param {array} fileData 文件资源
10
+ * @return {*}
11
+ **/
12
+ export declare function postSaveFileResources(input?: PostSaveFileResourcesInput, config?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<{
13
+ code: number;
14
+ data: any;
15
+ comment: string;
16
+ }, any>>;
17
+ export interface PostSaveFileResourcesFileData {
18
+ md5_code: string;
19
+ url: string;
20
+ file_size?: number;
21
+ width?: string;
22
+ high?: string;
23
+ play_time?: string;
24
+ }
25
+ export interface PostSaveFileResourcesInput {
26
+ fileData: PostSaveFileResourcesFileData;
27
+ }
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ var request = require('../request.js');
4
+
5
+ function postSaveFileResources(input, config) {
6
+ return request.default.post(`/material/work/saveFileResources`, input, config);
7
+ }
8
+
9
+ exports.postSaveFileResources = postSaveFileResources;
10
+ //# sourceMappingURL=postSaveFileResources.js.map
@@ -0,0 +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;;;;"}
@@ -3,9 +3,11 @@
3
3
  require('./cross/index.js');
4
4
  var getOssAccessToken = require('./cross/getOssAccessToken.js');
5
5
  var getAdFileExist = require('./cross/getAdFileExist.js');
6
+ var postSaveFileResources = require('./cross/postSaveFileResources.js');
6
7
 
7
8
 
8
9
 
9
10
  exports.getOssAccessToken = getOssAccessToken.getOssAccessToken;
10
11
  exports.getAdFileExist = getAdFileExist.getAdFileExist;
12
+ exports.postSaveFileResources = postSaveFileResources.postSaveFileResources;
11
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
@@ -0,0 +1,4 @@
1
+ export type Primitive = undefined | null | boolean | string | number | symbol;
2
+ export type DeepRequired<T> = T extends Primitive ? T : keyof T extends never ? T : {
3
+ [K in keyof T]-?: DeepRequired<T[K]>;
4
+ };
@@ -0,0 +1,3 @@
1
+ 'use strict';
2
+
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -139,6 +139,7 @@ declare const _default: import("vue").DefineComponent<{
139
139
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
140
140
  "update:fileList": (fileList: UploadUserFile[]) => void;
141
141
  handleRemove: (file: UploadUserFile) => void;
142
+ handleSaveFileSuccess: (file: import("../../../../api/materialApi").PostSaveFileResourcesFileData) => void;
142
143
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
143
144
  fileList: import("vue").PropType<UploadUserFile[]>;
144
145
  accept: {
@@ -277,6 +278,7 @@ declare const _default: import("vue").DefineComponent<{
277
278
  }>> & {
278
279
  "onUpdate:fileList"?: ((fileList: UploadUserFile[]) => any) | undefined;
279
280
  onHandleRemove?: ((file: UploadUserFile) => any) | undefined;
281
+ onHandleSaveFileSuccess?: ((file: import("../../../../api/materialApi").PostSaveFileResourcesFileData) => any) | undefined;
280
282
  }, {
281
283
  name: string;
282
284
  drag: boolean;
@@ -7,7 +7,7 @@ require('./UploadMaterial.vue3.js');
7
7
  require('./UploadMaterial.vue4.js');
8
8
  var _pluginVue_exportHelper = require('../../../../_virtual/_plugin-vue_export-helper.js');
9
9
 
10
- var UploadMaterial = /* @__PURE__ */ _pluginVue_exportHelper.default(UploadMaterial_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-29f682ba"]]);
10
+ var UploadMaterial = /* @__PURE__ */ _pluginVue_exportHelper.default(UploadMaterial_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-7c80c3b6"]]);
11
11
 
12
12
  exports.default = UploadMaterial;
13
13
  //# sourceMappingURL=UploadMaterial.vue.js.map
@@ -5,12 +5,14 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var vue = require('vue');
6
6
  var is = require('../../../../utils/src/is.js');
7
7
  var alioss = require('../../../../utils/src/alioss.js');
8
+ require('../../../../api/materialApi/index.js');
8
9
  var iconsVue = require('@element-plus/icons-vue');
9
10
  require('../../plugins/index.js');
10
11
  var uploadMaterial = require('./uploadMaterial.js');
12
+ var postSaveFileResources = require('../../../../api/materialApi/cross/postSaveFileResources.js');
11
13
  var index = require('../../plugins/messageBox/index.js');
12
14
 
13
- const _withScopeId = (n) => (vue.pushScopeId("data-v-29f682ba"), n = n(), vue.popScopeId(), n);
15
+ const _withScopeId = (n) => (vue.pushScopeId("data-v-7c80c3b6"), n = n(), vue.popScopeId(), n);
14
16
  const _hoisted_1 = { class: "gm-upload-material" };
15
17
  const _hoisted_2 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode(
16
18
  "div",
@@ -39,15 +41,26 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
39
41
  "fileList": { default: [] },
40
42
  "fileListModifiers": {}
41
43
  }),
42
- emits: /* @__PURE__ */ vue.mergeModels(["handleRemove"], ["update:fileList"]),
44
+ emits: /* @__PURE__ */ vue.mergeModels(["handleRemove", "handleSaveFileSuccess"], ["update:fileList"]),
43
45
  setup(__props, { expose: __expose, emit: __emit }) {
44
46
  const props = __props;
45
47
  const emit = __emit;
46
48
  const uploadRef = vue.ref();
47
49
  const fileList = vue.useModel(__props, "fileList");
50
+ const saveFileResources = async ({ url, md5_code, file_size }) => {
51
+ const fileData = { url, md5_code, file_size };
52
+ const { data } = await postSaveFileResources.postSaveFileResources({ fileData });
53
+ if (data?.code !== 0)
54
+ return;
55
+ emit("handleSaveFileSuccess", { url, md5_code, file_size });
56
+ };
48
57
  const httpRequest = async (options) => {
49
58
  const { file } = options;
50
59
  const res = await alioss.aliossPutFile({ file, fileName: props.fileName, seat: props.seat, options: props.options });
60
+ const { url, md5: md5_code, size: file_size, isExist } = res;
61
+ if (!isExist) {
62
+ saveFileResources({ url, md5_code, file_size });
63
+ }
51
64
  return res;
52
65
  };
53
66
  const onRemove = (file) => {
@@ -1 +1 @@
1
- {"version":3,"file":"UploadMaterial.vue2.js","sources":["../../../../../../../packages/components/src/business/uploadMaterial/UploadMaterial.vue"],"sourcesContent":["<template>\r\n <div class=\"gm-upload-material\">\r\n <gm-upload\r\n ref=\"uploadRef\"\r\n v-model:file-list=\"fileList\"\r\n action=\"\"\r\n drag\r\n list-type=\"picture-card\"\r\n :limit=\"limit\"\r\n :multiple=\"multiple\"\r\n :auto-upload=\"props.autoUpload\"\r\n :accept=\"props.accept\"\r\n :http-request=\"httpRequest\"\r\n :on-success=\"onSuccess\"\r\n :on-error=\"onError\"\r\n :on-exceed=\"onExceed\"\r\n :before-upload=\"beforeUpload\"\r\n :on-change=\"onChange\"\r\n :on-progress=\"onProgress\"\r\n >\r\n <gm-icon :size=\"30\" color=\"#999\"><UploadFilled /></gm-icon>\r\n <div class=\"el-upload__text !gm-text-xs\">将文件拖到此处,或 <em>点击上传</em></div>\r\n <template #file=\"{ file }\">\r\n <img v-if=\"isImageUrl(file.name || file.url || '')\" :src=\"file.url\" class=\"el-upload-list__item-thumbnail\" />\r\n <video v-if=\"isVideoUrl(file.name || file.url || '')\" :src=\"file.url\" class=\"el-upload-list__item-thumbnail\" />\r\n <div class=\"el-upload-list__item-actions\">\r\n <span class=\"el-upload-list__item-preview\" @click=\"onPreview(file)\">\r\n <gm-icon><ZoomIn /></gm-icon>\r\n </span>\r\n <span class=\"gm-upload-list__item-delete\" @click=\"onRemove(file)\">\r\n <gm-icon><Delete /></gm-icon>\r\n </span>\r\n </div>\r\n </template>\r\n </gm-upload>\r\n\r\n <gm-dialog v-model=\"dialog\" title=\"预览\" width=\"calc(100vw / 5 * 4)\" destroy-on-close class=\"gm-upload-preview-dialog\">\r\n <div class=\"gm-flex gm-items-center gm-justify-center\">\r\n <img v-if=\"isImageUrl(previewFile.name || previewFile.url || '')\" :src=\"previewFile.url\" />\r\n <video v-if=\"isVideoUrl(previewFile.name || previewFile.url || '')\" :src=\"previewFile.url\" controls />\r\n </div>\r\n </gm-dialog>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ref } from 'vue';\r\nimport { isImageUrl, isVideoUrl } from '@giime/utils/src/is';\r\nimport { aliossPutFile } from '@giime/utils/src/alioss';\r\nimport { Delete, UploadFilled, ZoomIn } from '@element-plus/icons-vue';\r\nimport { GmMessageBox } from '../../plugins';\r\nimport { uploadMaterialProps } from './uploadMaterial';\r\nimport type { UploadInstance, UploadRequestOptions, UploadUserFile } from 'element-plus';\r\n\r\ndefineOptions({\r\n name: 'GmUploadMaterial',\r\n});\r\n\r\nconst props = defineProps(uploadMaterialProps);\r\nconst emit = defineEmits([\"handleRemove\"]);\r\n\r\nconst uploadRef = ref<UploadInstance>();\r\n\r\n/* 上传文件 */\r\nconst fileList = defineModel<UploadUserFile[]>('fileList', { default: [] });\r\n\r\n/* 上传 */\r\nconst httpRequest = async (options: UploadRequestOptions) => {\r\n const { file } = options;\r\n\r\n const res = await aliossPutFile({ file, fileName: props.fileName, seat: props.seat, options: props.options });\r\n return res;\r\n};\r\n\r\n/* 删除文件 */\r\nconst onRemove = (file: UploadUserFile) => {\r\n GmMessageBox.confirm('确定删除该文件吗?', '提示', {\r\n confirmButtonText: '确定',\r\n cancelButtonText: '取消',\r\n type: 'warning',\r\n })\r\n .then(() => {\r\n fileList.value = fileList.value.filter(v => v.url !== file.url);\r\n emit('handleRemove', file);\r\n })\r\n .catch(() => {});\r\n};\r\n\r\n/* 手动上传 */\r\nconst onSubmit = () => {\r\n uploadRef.value!.submit();\r\n};\r\n\r\n/* 预览 */\r\nconst dialog = ref(false);\r\nconst previewFile = ref<UploadUserFile>({\r\n name: '',\r\n url: '',\r\n});\r\nconst onPreview = (file: UploadUserFile) => {\r\n previewFile.value = file;\r\n dialog.value = true;\r\n};\r\n\r\ndefineExpose({\r\n onSubmit,\r\n});\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n:deep(.el-upload-dragger) {\r\n padding: 10px;\r\n border: none;\r\n}\r\n\r\n.gm-upload-preview-dialog {\r\n :deep(.el-dialog__body) {\r\n padding: 0;\r\n }\r\n}\r\n:deep(.el-upload-list__item),\r\n:deep(.el-upload--picture-card) {\r\n width: 120px;\r\n height: 120px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n}\r\n</style>\r\n<style lang=\"scss\">\r\n.gm-upload-material {\r\n .el-overlay-dialog {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n .el-dialog {\r\n margin: 0;\r\n }\r\n .el-dialog__body {\r\n max-height: calc(100vh - 100px);\r\n overflow-y: auto;\r\n video,\r\n img {\r\n max-height: calc(100vh - 150px);\r\n }\r\n }\r\n}\r\n</style>\r\n"],"names":["ref","_useModel","aliossPutFile","GmMessageBox"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0DA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAEb,IAAA,MAAM,YAAYA,OAAoB,EAAA,CAAA;AAGtC,IAAM,MAAA,QAAA,GAAWC,YAA8B,CAAA,OAAA,EAAA,UAA2B,CAAA,CAAA;AAG1E,IAAM,MAAA,WAAA,GAAc,OAAO,OAAkC,KAAA;AAC3D,MAAM,MAAA,EAAE,MAAS,GAAA,OAAA,CAAA;AAEjB,MAAA,MAAM,GAAM,GAAA,MAAMC,oBAAc,CAAA,EAAE,MAAM,QAAU,EAAA,KAAA,CAAM,QAAU,EAAA,IAAA,EAAM,KAAM,CAAA,IAAA,EAAM,OAAS,EAAA,KAAA,CAAM,SAAS,CAAA,CAAA;AAC5G,MAAO,OAAA,GAAA,CAAA;AAAA,KACT,CAAA;AAGA,IAAM,MAAA,QAAA,GAAW,CAAC,IAAyB,KAAA;AACzC,MAAaC,kBAAA,CAAA,OAAA,CAAQ,0DAAa,cAAM,EAAA;AAAA,QACtC,iBAAmB,EAAA,cAAA;AAAA,QACnB,gBAAkB,EAAA,cAAA;AAAA,QAClB,IAAM,EAAA,SAAA;AAAA,OACP,CACE,CAAA,IAAA,CAAK,MAAM;AACV,QAAS,QAAA,CAAA,KAAA,GAAQ,SAAS,KAAM,CAAA,MAAA,CAAO,OAAK,CAAE,CAAA,GAAA,KAAQ,KAAK,GAAG,CAAA,CAAA;AAC9D,QAAA,IAAA,CAAK,gBAAgB,IAAI,CAAA,CAAA;AAAA,OAC1B,CACA,CAAA,KAAA,CAAM,MAAM;AAAA,OAAE,CAAA,CAAA;AAAA,KACnB,CAAA;AAGA,IAAA,MAAM,WAAW,MAAM;AACrB,MAAA,SAAA,CAAU,MAAO,MAAO,EAAA,CAAA;AAAA,KAC1B,CAAA;AAGA,IAAM,MAAA,MAAA,GAASH,QAAI,KAAK,CAAA,CAAA;AACxB,IAAA,MAAM,cAAcA,OAAoB,CAAA;AAAA,MACtC,IAAM,EAAA,EAAA;AAAA,MACN,GAAK,EAAA,EAAA;AAAA,KACN,CAAA,CAAA;AACD,IAAM,MAAA,SAAA,GAAY,CAAC,IAAyB,KAAA;AAC1C,MAAA,WAAA,CAAY,KAAQ,GAAA,IAAA,CAAA;AACpB,MAAA,MAAA,CAAO,KAAQ,GAAA,IAAA,CAAA;AAAA,KACjB,CAAA;AAEA,IAAa,QAAA,CAAA;AAAA,MACX,QAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"UploadMaterial.vue2.js","sources":["../../../../../../../packages/components/src/business/uploadMaterial/UploadMaterial.vue"],"sourcesContent":["<template>\r\n <div class=\"gm-upload-material\">\r\n <gm-upload\r\n ref=\"uploadRef\"\r\n v-model:file-list=\"fileList\"\r\n action=\"\"\r\n drag\r\n list-type=\"picture-card\"\r\n :limit=\"limit\"\r\n :multiple=\"multiple\"\r\n :auto-upload=\"props.autoUpload\"\r\n :accept=\"props.accept\"\r\n :http-request=\"httpRequest\"\r\n :on-success=\"onSuccess\"\r\n :on-error=\"onError\"\r\n :on-exceed=\"onExceed\"\r\n :before-upload=\"beforeUpload\"\r\n :on-change=\"onChange\"\r\n :on-progress=\"onProgress\"\r\n >\r\n <gm-icon :size=\"30\" color=\"#999\"><UploadFilled /></gm-icon>\r\n <div class=\"el-upload__text !gm-text-xs\">将文件拖到此处,或 <em>点击上传</em></div>\r\n <template #file=\"{ file }\">\r\n <img v-if=\"isImageUrl(file.name || file.url || '')\" :src=\"file.url\" class=\"el-upload-list__item-thumbnail\" />\r\n <video v-if=\"isVideoUrl(file.name || file.url || '')\" :src=\"file.url\" class=\"el-upload-list__item-thumbnail\" />\r\n <div class=\"el-upload-list__item-actions\">\r\n <span class=\"el-upload-list__item-preview\" @click=\"onPreview(file)\">\r\n <gm-icon><ZoomIn /></gm-icon>\r\n </span>\r\n <span class=\"gm-upload-list__item-delete\" @click=\"onRemove(file)\">\r\n <gm-icon><Delete /></gm-icon>\r\n </span>\r\n </div>\r\n </template>\r\n </gm-upload>\r\n\r\n <gm-dialog v-model=\"dialog\" title=\"预览\" width=\"calc(100vw / 5 * 4)\" destroy-on-close class=\"gm-upload-preview-dialog\">\r\n <div class=\"gm-flex gm-items-center gm-justify-center\">\r\n <img v-if=\"isImageUrl(previewFile.name || previewFile.url || '')\" :src=\"previewFile.url\" />\r\n <video v-if=\"isVideoUrl(previewFile.name || previewFile.url || '')\" :src=\"previewFile.url\" controls />\r\n </div>\r\n </gm-dialog>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ref } from 'vue';\r\nimport { isImageUrl, isVideoUrl } from '@giime/utils/src/is';\r\nimport { aliossPutFile } from '@giime/utils/src/alioss';\r\nimport { postSaveFileResources } from '@giime/api/materialApi';\r\nimport { Delete, UploadFilled, ZoomIn } from '@element-plus/icons-vue';\r\nimport { GmMessageBox } from '../../plugins';\r\nimport { type SaveFileResourcesFile, uploadMaterialProps } from './uploadMaterial';\r\nimport type { UploadInstance, UploadRequestOptions, UploadUserFile } from 'element-plus';\r\n\r\ndefineOptions({\r\n name: 'GmUploadMaterial',\r\n});\r\n\r\nconst props = defineProps(uploadMaterialProps);\r\nconst emit = defineEmits([\"handleRemove\", \"handleSaveFileSuccess\"]);\r\n\r\nconst uploadRef = ref<UploadInstance>();\r\n\r\n/* 上传文件 */\r\nconst fileList = defineModel<UploadUserFile[]>('fileList', { default: [] });\r\n\r\n/** 文件资源保存入库 */\r\nconst saveFileResources = async ({ url, md5_code, file_size }: SaveFileResourcesFile) => {\r\n const fileData = { url, md5_code, file_size };\r\n const { data } = await postSaveFileResources({ fileData });\r\n if (data?.code !== 0) return;\r\n emit('handleSaveFileSuccess', { url, md5_code, file_size });\r\n};\r\n\r\n/* 上传 */\r\nconst httpRequest = async (options: UploadRequestOptions) => {\r\n const { file } = options;\r\n const res = await aliossPutFile({ file, fileName: props.fileName, seat: props.seat, options: props.options });\r\n\r\n // 文件已存在资源库,则无需保存入库\r\n const { url, md5: md5_code, size: file_size, isExist } = res;\r\n if (!isExist) {\r\n saveFileResources({ url, md5_code, file_size });\r\n }\r\n return res;\r\n};\r\n\r\n/* 删除文件 */\r\nconst onRemove = (file: UploadUserFile) => {\r\n GmMessageBox.confirm('确定删除该文件吗?', '提示', {\r\n confirmButtonText: '确定',\r\n cancelButtonText: '取消',\r\n type: 'warning',\r\n })\r\n .then(() => {\r\n fileList.value = fileList.value.filter(v => v.url !== file.url);\r\n emit('handleRemove', file);\r\n })\r\n .catch(() => {});\r\n};\r\n\r\n/* 手动上传 */\r\nconst onSubmit = () => {\r\n uploadRef.value!.submit();\r\n};\r\n\r\n/* 预览 */\r\nconst dialog = ref(false);\r\nconst previewFile = ref<UploadUserFile>({\r\n name: '',\r\n url: '',\r\n});\r\nconst onPreview = (file: UploadUserFile) => {\r\n previewFile.value = file;\r\n dialog.value = true;\r\n};\r\n\r\ndefineExpose({\r\n onSubmit,\r\n});\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n:deep(.el-upload-dragger) {\r\n padding: 10px;\r\n border: none;\r\n}\r\n\r\n.gm-upload-preview-dialog {\r\n :deep(.el-dialog__body) {\r\n padding: 0;\r\n }\r\n}\r\n:deep(.el-upload-list__item),\r\n:deep(.el-upload--picture-card) {\r\n width: 120px;\r\n height: 120px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n}\r\n</style>\r\n<style lang=\"scss\">\r\n.gm-upload-material {\r\n .el-overlay-dialog {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n .el-dialog {\r\n margin: 0;\r\n }\r\n .el-dialog__body {\r\n max-height: calc(100vh - 100px);\r\n overflow-y: auto;\r\n video,\r\n img {\r\n max-height: calc(100vh - 150px);\r\n }\r\n }\r\n}\r\n</style>\r\n"],"names":["ref","_useModel","postSaveFileResources","aliossPutFile","GmMessageBox"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2DA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAEb,IAAA,MAAM,YAAYA,OAAoB,EAAA,CAAA;AAGtC,IAAM,MAAA,QAAA,GAAWC,YAA8B,CAAA,OAAA,EAAA,UAA2B,CAAA,CAAA;AAG1E,IAAA,MAAM,oBAAoB,OAAO,EAAE,GAAK,EAAA,QAAA,EAAU,WAAuC,KAAA;AACvF,MAAA,MAAM,QAAW,GAAA,EAAE,GAAK,EAAA,QAAA,EAAU,SAAU,EAAA,CAAA;AAC5C,MAAA,MAAM,EAAE,IAAK,EAAA,GAAI,MAAMC,2CAAsB,CAAA,EAAE,UAAU,CAAA,CAAA;AACzD,MAAA,IAAI,MAAM,IAAS,KAAA,CAAA;AAAG,QAAA,OAAA;AACtB,MAAA,IAAA,CAAK,uBAAyB,EAAA,EAAE,GAAK,EAAA,QAAA,EAAU,WAAW,CAAA,CAAA;AAAA,KAC5D,CAAA;AAGA,IAAM,MAAA,WAAA,GAAc,OAAO,OAAkC,KAAA;AAC3D,MAAM,MAAA,EAAE,MAAS,GAAA,OAAA,CAAA;AACjB,MAAA,MAAM,GAAM,GAAA,MAAMC,oBAAc,CAAA,EAAE,MAAM,QAAU,EAAA,KAAA,CAAM,QAAU,EAAA,IAAA,EAAM,KAAM,CAAA,IAAA,EAAM,OAAS,EAAA,KAAA,CAAM,SAAS,CAAA,CAAA;AAG5G,MAAA,MAAM,EAAE,GAAK,EAAA,GAAA,EAAK,UAAU,IAAM,EAAA,SAAA,EAAW,SAAY,GAAA,GAAA,CAAA;AACzD,MAAA,IAAI,CAAC,OAAS,EAAA;AACZ,QAAA,iBAAA,CAAkB,EAAE,GAAA,EAAK,QAAU,EAAA,SAAA,EAAW,CAAA,CAAA;AAAA,OAChD;AACA,MAAO,OAAA,GAAA,CAAA;AAAA,KACT,CAAA;AAGA,IAAM,MAAA,QAAA,GAAW,CAAC,IAAyB,KAAA;AACzC,MAAaC,kBAAA,CAAA,OAAA,CAAQ,0DAAa,cAAM,EAAA;AAAA,QACtC,iBAAmB,EAAA,cAAA;AAAA,QACnB,gBAAkB,EAAA,cAAA;AAAA,QAClB,IAAM,EAAA,SAAA;AAAA,OACP,CACE,CAAA,IAAA,CAAK,MAAM;AACV,QAAS,QAAA,CAAA,KAAA,GAAQ,SAAS,KAAM,CAAA,MAAA,CAAO,OAAK,CAAE,CAAA,GAAA,KAAQ,KAAK,GAAG,CAAA,CAAA;AAC9D,QAAA,IAAA,CAAK,gBAAgB,IAAI,CAAA,CAAA;AAAA,OAC1B,CACA,CAAA,KAAA,CAAM,MAAM;AAAA,OAAE,CAAA,CAAA;AAAA,KACnB,CAAA;AAGA,IAAA,MAAM,WAAW,MAAM;AACrB,MAAA,SAAA,CAAU,MAAO,MAAO,EAAA,CAAA;AAAA,KAC1B,CAAA;AAGA,IAAM,MAAA,MAAA,GAASJ,QAAI,KAAK,CAAA,CAAA;AACxB,IAAA,MAAM,cAAcA,OAAoB,CAAA;AAAA,MACtC,IAAM,EAAA,EAAA;AAAA,MACN,GAAK,EAAA,EAAA;AAAA,KACN,CAAA,CAAA;AACD,IAAM,MAAA,SAAA,GAAY,CAAC,IAAyB,KAAA;AAC1C,MAAA,WAAA,CAAY,KAAQ,GAAA,IAAA,CAAA;AACpB,MAAA,MAAA,CAAO,KAAQ,GAAA,IAAA,CAAA;AAAA,KACjB,CAAA;AAEA,IAAa,QAAA,CAAA;AAAA,MACX,QAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -139,6 +139,7 @@ export declare const GmUploadMaterial: import("../../../../utils").SFCWithInstal
139
139
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
140
140
  "update:fileList": (fileList: import("element-plus").UploadUserFile[]) => void;
141
141
  handleRemove: (file: import("element-plus").UploadUserFile) => void;
142
+ handleSaveFileSuccess: (file: import("../../../../api/materialApi/index.js").PostSaveFileResourcesFileData) => void;
142
143
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
143
144
  fileList: import("vue").PropType<import("element-plus").UploadUserFile[]>;
144
145
  accept: {
@@ -277,6 +278,7 @@ export declare const GmUploadMaterial: import("../../../../utils").SFCWithInstal
277
278
  }>> & {
278
279
  "onUpdate:fileList"?: ((fileList: import("element-plus").UploadUserFile[]) => any) | undefined;
279
280
  onHandleRemove?: ((file: import("element-plus").UploadUserFile) => any) | undefined;
281
+ onHandleSaveFileSuccess?: ((file: import("../../../../api/materialApi/index.js").PostSaveFileResourcesFileData) => any) | undefined;
280
282
  }, {
281
283
  name: string;
282
284
  drag: boolean;
@@ -1,5 +1,7 @@
1
+ import { type PostSaveFileResourcesFileData } from '../../../../api/materialApi';
1
2
  import type { AliOssResponse } from '../../../../utils/src/alioss';
2
3
  export type UploadMaterialResponse = AliOssResponse;
4
+ export type SaveFileResourcesFile = PostSaveFileResourcesFileData;
3
5
  export declare const uploadMaterialProps: {
4
6
  accept: {
5
7
  type: StringConstructor;
@@ -1 +1 @@
1
- {"version":3,"file":"uploadMaterial.js","sources":["../../../../../../../packages/components/src/business/uploadMaterial/uploadMaterial.ts"],"sourcesContent":["import { uploadProps } from '../../base/upload';\r\nimport type { AliOssResponse } from '@giime/utils/src/alioss';\r\n\r\nexport type UploadMaterialResponse = AliOssResponse;\r\n\r\nexport const uploadMaterialProps = {\r\n ...uploadProps,\r\n accept: {\r\n type: String,\r\n default: '*',\r\n },\r\n autoUpload: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n multiple: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n seat: {\r\n // 上传位置\r\n type: String,\r\n default: 'default',\r\n },\r\n options: {\r\n // alioss上传配置\r\n type: Object,\r\n default: () => {},\r\n },\r\n fileName: {\r\n // 上传文件名\r\n type: String,\r\n default: '',\r\n },\r\n};\r\n"],"names":["uploadProps"],"mappings":";;;;;AAKO,MAAM,mBAAsB,GAAA;AAAA,EACjC,GAAGA,kBAAA;AAAA,EACH,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,GAAA;AAAA,GACX;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EACA,IAAM,EAAA;AAAA;AAAA,IAEJ,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,SAAA;AAAA,GACX;AAAA,EACA,OAAS,EAAA;AAAA;AAAA,IAEP,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,MAAM;AAAA,KAAC;AAAA,GAClB;AAAA,EACA,QAAU,EAAA;AAAA;AAAA,IAER,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AACF;;;;"}
1
+ {"version":3,"file":"uploadMaterial.js","sources":["../../../../../../../packages/components/src/business/uploadMaterial/uploadMaterial.ts"],"sourcesContent":["import { type PostSaveFileResourcesFileData } from '@giime/api/materialApi';\r\nimport { uploadProps } from '../../base/upload';\r\nimport type { AliOssResponse } from '@giime/utils/src/alioss';\r\n\r\nexport type UploadMaterialResponse = AliOssResponse;\r\n\r\nexport type SaveFileResourcesFile = PostSaveFileResourcesFileData;\r\n\r\nexport const uploadMaterialProps = {\r\n ...uploadProps,\r\n accept: {\r\n type: String,\r\n default: '*',\r\n },\r\n autoUpload: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n multiple: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n seat: {\r\n // 上传位置\r\n type: String,\r\n default: 'default',\r\n },\r\n options: {\r\n // alioss上传配置\r\n type: Object,\r\n default: () => {},\r\n },\r\n fileName: {\r\n // 上传文件名\r\n type: String,\r\n default: '',\r\n },\r\n};\r\n"],"names":["uploadProps"],"mappings":";;;;;AAQO,MAAM,mBAAsB,GAAA;AAAA,EACjC,GAAGA,kBAAA;AAAA,EACH,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,GAAA;AAAA,GACX;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EACA,IAAM,EAAA;AAAA;AAAA,IAEJ,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,SAAA;AAAA,GACX;AAAA,EACA,OAAS,EAAA;AAAA;AAAA,IAEP,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,MAAM;AAAA,KAAC;AAAA,GAClB;AAAA,EACA,QAAU,EAAA;AAAA;AAAA,IAER,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AACF;;;;"}
@@ -1 +1 @@
1
- export declare const version = "0.4.9";
1
+ export declare const version = "0.4.11";
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const version = "0.4.9";
3
+ const version = "0.4.11";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.4.9';\n"],"names":[],"mappings":";;AAAO,MAAM,OAAU,GAAA;;;;"}
1
+ {"version":3,"file":"version.js","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.4.11';\n"],"names":[],"mappings":";;AAAO,MAAM,OAAU,GAAA;;;;"}
package/lib/index.css CHANGED
@@ -782,6 +782,22 @@ video {
782
782
  margin: 0;
783
783
  }
784
784
 
785
+ [data-v-7c80c3b6] .el-upload-dragger {
786
+ padding: 10px;
787
+ border: none;
788
+ }
789
+
790
+ .gm-upload-preview-dialog[data-v-7c80c3b6] [data-v-7c80c3b6] .el-dialog__body {
791
+ padding: 0;
792
+ }
793
+
794
+ [data-v-7c80c3b6] .el-upload-list__item, [data-v-7c80c3b6] .el-upload--picture-card {
795
+ width: 120px;
796
+ height: 120px;
797
+ display: flex;
798
+ align-items: center;
799
+ justify-content: center;
800
+ }
785
801
  .circular[data-v-b391445c] {
786
802
  animation: loading-rotate-b391445c 2s linear infinite;
787
803
  }
@@ -829,25 +845,12 @@ video {
829
845
  .gm-upload-material .el-dialog__body img {
830
846
  max-height: calc(100vh - 150px);
831
847
  }
832
- [data-v-29f682ba] .el-upload-dragger {
833
- padding: 10px;
834
- border: none;
835
- }
836
-
837
- .gm-upload-preview-dialog[data-v-29f682ba] [data-v-29f682ba] .el-dialog__body {
838
- padding: 0;
839
- }
840
-
841
- [data-v-29f682ba] .el-upload-list__item, [data-v-29f682ba] .el-upload--picture-card {
842
- width: 120px;
843
- height: 120px;
844
- display: flex;
848
+ .gm-flex-center[data-v-2a79bac9] {
845
849
  align-items: center;
846
- justify-content: center;
847
850
  }
848
- [data-v-7b6755e2] .gmSearchForm .el-form-item {
849
- margin-right: 0;
850
- margin-bottom: 4px;
851
+
852
+ .gm-flex-justify-between[data-v-2a79bac9] {
853
+ justify-content: space-between;
851
854
  }
852
855
  .gm-number-interval-single[data-v-47a13fd0] {
853
856
  border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
@@ -867,13 +870,6 @@ video {
867
870
  .gm-number-interval-single[data-v-47a13fd0]:hover .gm-number-interval-close[data-v-47a13fd0] {
868
871
  display: flex;
869
872
  }
870
- .gm-flex-center[data-v-2a79bac9] {
871
- align-items: center;
872
- }
873
-
874
- .gm-flex-justify-between[data-v-2a79bac9] {
875
- justify-content: space-between;
876
- }
877
873
  [data-v-668dc408] .gmTableNoBorder .el-table__body .el-table__cell {
878
874
  border-right: none;
879
875
  }
@@ -897,6 +893,10 @@ video {
897
893
  [data-v-668dc408] .gmTableNoBorder .el-table__border-left-patch {
898
894
  height: 0;
899
895
  }
896
+ [data-v-7b6755e2] .gmSearchForm .el-form-item {
897
+ margin-right: 0;
898
+ margin-bottom: 4px;
899
+ }
900
900
 
901
901
  .pagination-container[data-v-19230954] {
902
902
  background: #fff;
@@ -1,14 +1,32 @@
1
+ /** 上传文件到阿里云 */
1
2
  export type AliOssParams = {
3
+ /** 资源文件 */
2
4
  file: File;
5
+ /** 文件名 */
3
6
  fileName?: string;
7
+ /** 文件存储位置 */
4
8
  seat?: string;
9
+ /** 上传到oss的设置 */
5
10
  options?: any;
6
11
  };
12
+ /** 返回数据 */
7
13
  export type AliOssResponse = {
14
+ /** 文件地址 */
8
15
  url: string;
16
+ /** 文件名 */
9
17
  name: string;
18
+ /** 文件最后修改时间 */
10
19
  lastModified: number;
20
+ /** 文件md5 */
11
21
  md5: string;
22
+ /** 文件大小 */
23
+ size: number;
24
+ /** 文件后缀 */
25
+ type: any;
26
+ /** 文件库是否存在 */
27
+ isExist: any;
12
28
  };
29
+ /** 检测广告素材是否已存在 */
13
30
  export declare const getFileExist: (md5Code: string, ext: string) => Promise<string | false>;
31
+ /** 上传文件 */
14
32
  export declare const aliossPutFile: ({ file, fileName, seat, options }: AliOssParams) => Promise<AliOssResponse>;
@@ -37,7 +37,7 @@ const getParallelPartSize = (size) => {
37
37
  };
38
38
  const getFileExist = async (md5Code, ext) => {
39
39
  const { data } = await getAdFileExist.getAdFileExist({ md5Code, ext });
40
- if (data.code !== 200) {
40
+ if (data.code !== 0) {
41
41
  return false;
42
42
  }
43
43
  if (!data.data.count) {
@@ -49,14 +49,17 @@ const aliossPutFile = async ({ file, fileName, seat, options }) => {
49
49
  const md5$1 = await md5.ts_md5_file(file);
50
50
  let { name, lastModified, size } = file;
51
51
  const ext = name.match(/\.(\w+)$/)?.[0] || "";
52
- const url = await getFileExist(md5$1, ext);
52
+ const url = await getFileExist(md5$1, ext.replaceAll(".", ""));
53
53
  name = (fileName || name).slice(0, name.lastIndexOf("."));
54
54
  if (url) {
55
55
  return {
56
- name,
56
+ name: name + ext,
57
57
  url,
58
58
  lastModified,
59
- md5: md5$1
59
+ md5: md5$1,
60
+ size,
61
+ type: ext.replaceAll(".", ""),
62
+ isExist: true
60
63
  };
61
64
  }
62
65
  const aliossStsTokenStore = index.useAliossStsTokenStore();
@@ -89,10 +92,13 @@ const aliossPutFile = async ({ file, fileName, seat, options }) => {
89
92
  ossClient[upload](aliossPath, file, options).then(() => {
90
93
  const url2 = `https://sucai.giikin.cn/${aliossPath}`;
91
94
  resolve({
92
- name: `${name}${ext}`,
95
+ name: name + ext,
93
96
  url: url2,
94
97
  lastModified,
95
- md5: md5$1
98
+ md5: md5$1,
99
+ type: ext.replaceAll(".", ""),
100
+ size,
101
+ isExist: false
96
102
  });
97
103
  });
98
104
  } catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"alioss.js","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 file: File; // 资源文件\r\n fileName?: string; // 文件名\r\n seat?: string; // 文件存储位置\r\n options?: any; // 上传到oss的设置\r\n};\r\n\r\nexport type AliOssResponse = {\r\n url: string; // 文件地址\r\n name: string; // 文件名\r\n lastModified: number; // 文件最后修改时间\r\n md5: string; // 文件md5\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 !== 200) {\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 const ext = name.match(/\\.(\\w+)$/)?.[0] || '';\r\n const url = await getFileExist(md5, ext);\r\n name = (fileName || name).slice(0, name.lastIndexOf('.'));\r\n\r\n /* 文件已存在直接返回路径 */\r\n if (url) {\r\n return {\r\n name,\r\n url,\r\n lastModified,\r\n md5,\r\n };\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\r\n const aliossPath = `material/${seat}/material-file-${timestr}-${size}-${lastModified}${ext}`;\r\n\r\n if (!options) {\r\n // 根据文件大小设置并发数和分片大小\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 });\r\n });\r\n } catch (error) {\r\n GmMessage.error(error || '上传失败');\r\n reject(error);\r\n }\r\n });\r\n};\r\n"],"names":["getAdFileExist","md5","ts_md5_file","useAliossStsTokenStore","url","GmMessage"],"mappings":"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"}
1
+ {"version":3,"file":"alioss.js","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":["getAdFileExist","md5","ts_md5_file","useAliossStsTokenStore","url","GmMessage"],"mappings":"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"}
@@ -18,7 +18,7 @@ const giimeDevProxy = {
18
18
  rewrite: (p) => p.replace(/^\/shop-admin-api/, "")
19
19
  },
20
20
  "/gateway-api": {
21
- target: "http://192.168.1.115:8082/",
21
+ target: "http://192.168.4.131:8082/",
22
22
  changeOrigin: true,
23
23
  rewrite: (p) => p.replace(/^\/gateway-api/, "")
24
24
  },
@@ -1 +1 @@
1
- {"version":3,"file":"devProxy.js","sources":["../../../../../../packages/utils/src/http/devProxy.ts"],"sourcesContent":["import type { ProxyOptions } from 'vite';\r\n\r\nexport const giimeDevProxy: Record<string, string | ProxyOptions> = {\r\n // https://cn.vitejs.dev/config/#server-proxy\r\n '/gstore-api': {\r\n target: 'http://192.168.4.125:10086/gstore/',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/gstore-api/, ''),\r\n },\r\n '/material-api': {\r\n target: 'http://192.168.4.130:8002',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/material-api/, ''),\r\n },\r\n '/shop-admin-api': {\r\n target: 'http://192.168.4.130:8001',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/shop-admin-api/, ''),\r\n },\r\n '/gateway-api': {\r\n target: 'http://192.168.1.115:8082/',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/gateway-api/, ''),\r\n },\r\n '/third-api': {\r\n target: 'https://third-gw.giimall.net/',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/third-api/, ''),\r\n },\r\n '/basic-api': {\r\n target: 'http://192.168.4.171:9501/',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/basic-api/, ''),\r\n },\r\n '/amazon-agent-api': {\r\n target: 'http://192.168.4.125:10086/amazon-agent',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/amazon-agent-api/, ''),\r\n },\r\n '/product-center-api': {\r\n target: 'http://192.168.4.125:10086/product-center/',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/product-center-api/, ''),\r\n },\r\n};\r\n"],"names":[],"mappings":";;AAEO,MAAM,aAAuD,GAAA;AAAA;AAAA,EAElE,aAAe,EAAA;AAAA,IACb,MAAQ,EAAA,oCAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,iBAAiB,EAAE,CAAA;AAAA,GAC7C;AAAA,EACA,eAAiB,EAAA;AAAA,IACf,MAAQ,EAAA,2BAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,mBAAmB,EAAE,CAAA;AAAA,GAC/C;AAAA,EACA,iBAAmB,EAAA;AAAA,IACjB,MAAQ,EAAA,2BAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,qBAAqB,EAAE,CAAA;AAAA,GACjD;AAAA,EACA,cAAgB,EAAA;AAAA,IACd,MAAQ,EAAA,4BAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,kBAAkB,EAAE,CAAA;AAAA,GAC9C;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,MAAQ,EAAA,+BAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,gBAAgB,EAAE,CAAA;AAAA,GAC5C;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,MAAQ,EAAA,4BAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,gBAAgB,EAAE,CAAA;AAAA,GAC5C;AAAA,EACA,mBAAqB,EAAA;AAAA,IACnB,MAAQ,EAAA,yCAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,uBAAuB,EAAE,CAAA;AAAA,GACnD;AAAA,EACA,qBAAuB,EAAA;AAAA,IACrB,MAAQ,EAAA,4CAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,yBAAyB,EAAE,CAAA;AAAA,GACrD;AACF;;;;"}
1
+ {"version":3,"file":"devProxy.js","sources":["../../../../../../packages/utils/src/http/devProxy.ts"],"sourcesContent":["import type { ProxyOptions } from 'vite';\r\n\r\nexport const giimeDevProxy: Record<string, string | ProxyOptions> = {\r\n // https://cn.vitejs.dev/config/#server-proxy\r\n '/gstore-api': {\r\n target: 'http://192.168.4.125:10086/gstore/',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/gstore-api/, ''),\r\n },\r\n '/material-api': {\r\n target: 'http://192.168.4.130:8002',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/material-api/, ''),\r\n },\r\n '/shop-admin-api': {\r\n target: 'http://192.168.4.130:8001',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/shop-admin-api/, ''),\r\n },\r\n '/gateway-api': {\r\n target: 'http://192.168.4.131:8082/',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/gateway-api/, ''),\r\n },\r\n '/third-api': {\r\n target: 'https://third-gw.giimall.net/',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/third-api/, ''),\r\n },\r\n '/basic-api': {\r\n target: 'http://192.168.4.171:9501/',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/basic-api/, ''),\r\n },\r\n '/amazon-agent-api': {\r\n target: 'http://192.168.4.125:10086/amazon-agent',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/amazon-agent-api/, ''),\r\n },\r\n '/product-center-api': {\r\n target: 'http://192.168.4.125:10086/product-center/',\r\n changeOrigin: true,\r\n rewrite: p => p.replace(/^\\/product-center-api/, ''),\r\n },\r\n};\r\n"],"names":[],"mappings":";;AAEO,MAAM,aAAuD,GAAA;AAAA;AAAA,EAElE,aAAe,EAAA;AAAA,IACb,MAAQ,EAAA,oCAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,iBAAiB,EAAE,CAAA;AAAA,GAC7C;AAAA,EACA,eAAiB,EAAA;AAAA,IACf,MAAQ,EAAA,2BAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,mBAAmB,EAAE,CAAA;AAAA,GAC/C;AAAA,EACA,iBAAmB,EAAA;AAAA,IACjB,MAAQ,EAAA,2BAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,qBAAqB,EAAE,CAAA;AAAA,GACjD;AAAA,EACA,cAAgB,EAAA;AAAA,IACd,MAAQ,EAAA,4BAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,kBAAkB,EAAE,CAAA;AAAA,GAC9C;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,MAAQ,EAAA,+BAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,gBAAgB,EAAE,CAAA;AAAA,GAC5C;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,MAAQ,EAAA,4BAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,gBAAgB,EAAE,CAAA;AAAA,GAC5C;AAAA,EACA,mBAAqB,EAAA;AAAA,IACnB,MAAQ,EAAA,yCAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,uBAAuB,EAAE,CAAA;AAAA,GACnD;AAAA,EACA,qBAAuB,EAAA;AAAA,IACrB,MAAQ,EAAA,4CAAA;AAAA,IACR,YAAc,EAAA,IAAA;AAAA,IACd,OAAS,EAAA,CAAA,CAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,yBAAyB,EAAE,CAAA;AAAA,GACrD;AACF;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "giime",
3
- "version": "0.4.9",
3
+ "version": "0.4.11",
4
4
  "description": "A Component Library for Vue 3",
5
5
  "keywords": [
6
6
  "giime",