giime 0.6.4 → 0.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.css CHANGED
@@ -801,6 +801,11 @@ video {
801
801
  .gm-group:hover .group-hover\:gm-block {
802
802
  display: block;
803
803
  }
804
+
805
+ .gm-range-number .el-form-item[data-v-11c39847] {
806
+ margin: 0;
807
+ }
808
+
804
809
  .gm-flex-center[data-v-2a79bac9] {
805
810
  align-items: center;
806
811
  }
@@ -808,42 +813,23 @@ video {
808
813
  .gm-flex-justify-between[data-v-2a79bac9] {
809
814
  justify-content: space-between;
810
815
  }
811
- .gm-upload-preview-dialog[data-v-3bf7f50d] [data-v-3bf7f50d] .el-dialog__body {
812
- padding: 0;
813
- }
814
-
815
- .gm-upload-file-picture-card[data-v-3bf7f50d] [data-v-3bf7f50d] .el-upload-list__item, .gm-upload-file-picture-card[data-v-3bf7f50d] [data-v-3bf7f50d] .el-upload--picture-card {
816
- width: 120px;
817
- height: 120px;
818
- display: flex;
819
- align-items: center;
820
- justify-content: center;
821
- }
822
- .gm-upload-file {
823
- line-height: normal;
824
- }
825
- .gm-upload-file .el-checkbox {
826
- position: absolute;
827
- left: 10px;
828
- top: 0;
829
- z-index: 9;
830
- }
831
- .gm-upload-file .el-upload-list__item-file-name {
832
- line-height: normal;
816
+ .gm-number-interval-single[data-v-47a13fd0] {
817
+ border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
818
+ box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
819
+ background-color: var(--el-input-bg-color, var(--el-fill-color-blank));
833
820
  }
834
- .gm-upload-file .el-upload-dragger {
835
- padding: 0;
836
- border: none;
837
- width: 100%;
838
- height: 100%;
839
- display: flex;
821
+ .gm-number-interval-single[data-v-47a13fd0] [data-v-47a13fd0] .el-input__wrapper {
822
+ box-shadow: none;
823
+ background: none;
840
824
  }
841
825
 
842
- .gm-upload-file-disabled .el-upload--picture-card {
826
+ .gm-number-interval-close[data-v-47a13fd0] {
843
827
  display: none;
828
+ color: var(--el-input-icon-color, var(--el-text-color-placeholder));
844
829
  }
845
- .gm-upload-file-disabled .el-upload-list__item-status-label {
846
- display: none;
830
+
831
+ .gm-number-interval-single[data-v-47a13fd0]:hover .gm-number-interval-close[data-v-47a13fd0] {
832
+ display: flex;
847
833
  }
848
834
  .circular[data-v-b391445c] {
849
835
  animation: loading-rotate-b391445c 2s linear infinite;
@@ -876,15 +862,47 @@ video {
876
862
  stroke-dashoffset: -120px;
877
863
  }
878
864
  }
879
-
880
- .gm-range-number .el-form-item[data-v-11c39847] {
881
- margin: 0;
882
- }
883
-
884
865
  [data-v-7b6755e2] .gmSearchForm .el-form-item {
885
866
  margin-right: 0;
886
867
  margin-bottom: 4px;
887
868
  }
869
+ .gm-upload-file {
870
+ line-height: normal;
871
+ }
872
+ .gm-upload-file .el-checkbox {
873
+ position: absolute;
874
+ left: 10px;
875
+ top: 0;
876
+ z-index: 9;
877
+ }
878
+ .gm-upload-file .el-upload-list__item-file-name {
879
+ line-height: normal;
880
+ }
881
+ .gm-upload-file .el-upload-dragger {
882
+ padding: 0;
883
+ border: none;
884
+ width: 100%;
885
+ height: 100%;
886
+ display: flex;
887
+ }
888
+
889
+ .gm-upload-file-disabled .el-upload--picture-card {
890
+ display: none;
891
+ }
892
+ .gm-upload-file-disabled .el-upload-list__item-status-label {
893
+ display: none;
894
+ }
895
+ .gm-upload-preview-dialog[data-v-855a2d4b] [data-v-855a2d4b] .el-dialog__body {
896
+ padding: 0;
897
+ }
898
+
899
+ .gm-upload-file-picture-card[data-v-855a2d4b] [data-v-855a2d4b] .el-upload-list__item, .gm-upload-file-picture-card[data-v-855a2d4b] [data-v-855a2d4b] .el-upload--picture-card {
900
+ width: 120px;
901
+ height: 120px;
902
+ display: flex;
903
+ align-items: center;
904
+ justify-content: center;
905
+ }
888
906
  [data-v-668dc408] .gmTableNoBorder .el-table__body .el-table__cell {
889
907
  border-right: none;
890
908
  }
@@ -916,22 +934,3 @@ video {
916
934
  .pagination-container.hidden[data-v-19230954] {
917
935
  display: none;
918
936
  }
919
-
920
- .gm-number-interval-single[data-v-47a13fd0] {
921
- border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
922
- box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
923
- background-color: var(--el-input-bg-color, var(--el-fill-color-blank));
924
- }
925
- .gm-number-interval-single[data-v-47a13fd0] [data-v-47a13fd0] .el-input__wrapper {
926
- box-shadow: none;
927
- background: none;
928
- }
929
-
930
- .gm-number-interval-close[data-v-47a13fd0] {
931
- display: none;
932
- color: var(--el-input-icon-color, var(--el-text-color-placeholder));
933
- }
934
-
935
- .gm-number-interval-single[data-v-47a13fd0]:hover .gm-number-interval-close[data-v-47a13fd0] {
936
- display: flex;
937
- }
@@ -3,7 +3,7 @@ import './UploadFile.vue3.mjs';
3
3
  import './UploadFile.vue4.mjs';
4
4
  import _export_sfc from '../../../../_virtual/_plugin-vue_export-helper.mjs';
5
5
 
6
- var UploadFile = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-3bf7f50d"]]);
6
+ var UploadFile = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-855a2d4b"]]);
7
7
 
8
8
  export { UploadFile as default };
9
9
  //# sourceMappingURL=UploadFile.vue.mjs.map
@@ -8,7 +8,7 @@ import { GmFileComponent } from '../fileComponent/index.mjs';
8
8
  import { GmPreviewFile } from '../previewFile/index.mjs';
9
9
  import { uploadFileProps } from './uploadFile.mjs';
10
10
 
11
- const _withScopeId = (n) => (pushScopeId("data-v-3bf7f50d"), n = n(), popScopeId(), n);
11
+ const _withScopeId = (n) => (pushScopeId("data-v-855a2d4b"), n = n(), popScopeId(), n);
12
12
  const _hoisted_1 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode(
13
13
  "div",
14
14
  { class: "el-upload__text gm-text-center !gm-text-xs gm-text-gray-500" },
@@ -113,6 +113,9 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
113
113
  if (file instanceof File) {
114
114
  const rawFile = file;
115
115
  handleStart(rawFile);
116
+ if (props.autoUpload) {
117
+ submit();
118
+ }
116
119
  }
117
120
  });
118
121
  }
@@ -1 +1 @@
1
- {"version":3,"file":"UploadFile.vue2.mjs","sources":["../../../../../../../packages/components/src/composite/uploadFile/UploadFile.vue"],"sourcesContent":["<template>\r\n <div>\r\n <div\r\n ref=\"pasteFileRef\"\r\n :class=\"{ 'gm-upload-file-picture-card': listType === 'picture-card', 'gm-upload-file-disabled': disabled }\"\r\n class=\"gm-upload-file\"\r\n >\r\n <el-checkbox-group v-model=\"checkoutFiles\">\r\n <el-upload\r\n ref=\"uploadFileRef\"\r\n v-bind=\"props\"\r\n v-model:file-list=\"fileList\"\r\n :before-remove=\"beforeRemove\"\r\n action=\"\"\r\n :http-request=\"httpRequest\"\r\n >\r\n <slot v-if=\"!disabled\">\r\n <template v-if=\"listType === 'picture-card'\">\r\n <div\r\n class=\"gm-flex gm-flex-col gm-items-center gm-justify-center gm-rounded-md gm-p-1\"\r\n style=\"flex-direction: column\"\r\n :style=\"{ width: width + 'px', height: height + 'px' }\"\r\n >\r\n <el-icon :size=\"30\" color=\"#999\">\r\n <UploadFilled />\r\n </el-icon>\r\n <div class=\"el-upload__text gm-text-center !gm-text-xs gm-text-gray-500\">\r\n 将文件拖到此处,复制粘贴,或 <em class=\"gm-text-blue-700\">点击上传</em>\r\n </div>\r\n </div>\r\n </template>\r\n <template v-else>\r\n <el-button type=\"primary\" size=\"default\">点击上传</el-button>\r\n </template>\r\n </slot>\r\n <template v-if=\"showFileList && listType === 'picture-card'\" #file=\"{ file }\">\r\n <el-checkbox v-if=\"checkbox\" :value=\"file\" />\r\n <slot name=\"file\" :file=\"file\">\r\n <div class=\"gm-flex gm-items-center gm-justify-center gm-rounded-md\" :style=\"{ width: width + 'px', height: height + 'px' }\">\r\n <GmFileComponent :file=\"file\" :size=\"width - 40\" :url=\"url\" :controls=\"false\" />\r\n </div>\r\n <div class=\"el-upload-list__item-actions\">\r\n <span class=\"el-upload-list__item-preview\" @click=\"handlePreview(file)\">\r\n <el-icon><View /></el-icon>\r\n </span>\r\n <span v-if=\"showDelete\" class=\"el-upload-list__item-delete\" @click=\"handleRemove(file, fileList)\">\r\n <el-icon><Delete /></el-icon>\r\n </span>\r\n </div>\r\n </slot>\r\n </template>\r\n </el-upload>\r\n </el-checkbox-group>\r\n\r\n <GmPreviewFile\r\n v-model:dialogVisible=\"dialogVisible\"\r\n v-model:file-index=\"fileIndex\"\r\n :file-list=\"fileList\"\r\n :controls=\"controls\"\r\n :oncontextmenu=\"oncontextmenu\"\r\n :controlslist=\"controlslist\"\r\n :field=\"field\"\r\n />\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ref } from 'vue';\r\nimport { ElMessageBox } from 'element-plus';\r\nimport { useAliossHookStore } from '@giime/utils/src/alioss/aliossPutHook';\r\nimport { fileValidType } from '@giime/utils/src/file';\r\n// import { pasteFile } from '@giime/utils/src/pasteFile';\r\nimport { usePasteFile } from '@giime/hooks/base/usePasteFile';\r\nimport { Delete, UploadFilled, View } from '@element-plus/icons-vue';\r\nimport GmFileComponent from '../fileComponent';\r\nimport GmPreviewFile from '../previewFile';\r\nimport { uploadFileProps } from './uploadFile';\r\nimport type { UploadFile, UploadFiles, UploadInstance, UploadRawFile, UploadRequestOptions, UploadStatus } from 'element-plus';\r\nimport type { AliOssResponse } from '@giime/utils/src/alioss/aliossPutHook';\r\n\r\ndefineOptions({\r\n name: 'GmUploadFile',\r\n});\r\n\r\nconst props = defineProps(uploadFileProps);\r\nconst emit = defineEmits([\"handleRemove\", \"handleSaveFileSuccess\"]);\r\n\r\nconst { uploadFile, saveFileResult } = useAliossHookStore();\r\n\r\nsaveFileResult((res: AliOssResponse) => {\r\n emit('handleSaveFileSuccess', res);\r\n});\r\n\r\n/** 上传文件 */\r\nconst fileList = defineModel<UploadFile[]>('fileList', { required: true, default: () => [] });\r\n/** 多选数据 */\r\nconst checkoutFiles = defineModel<any[]>('checkoutFiles', { default: () => [] });\r\n\r\n/* 上传 */\r\nconst httpRequest = async (params: UploadRequestOptions) => {\r\n const { file } = params;\r\n\r\n // 验证文件类型\r\n if (props.accept && props.accept !== '*') {\r\n const isValidType = fileValidType(file, props.accept);\r\n if (!isValidType) {\r\n throw new Error(`文件类型不支持,请上传 ${props.accept} 格式的文件`);\r\n }\r\n }\r\n\r\n const res = await uploadFile({\r\n file,\r\n fileName: props.fileName,\r\n folder: props.folder,\r\n seat: props.seat,\r\n partSize: props.partSize,\r\n parallel: props.parallel,\r\n options: props.options,\r\n bucket: props.bucket,\r\n saveStore: props.saveStore,\r\n cdn: props.cdn,\r\n });\r\n return res;\r\n};\r\n\r\n/* 删除文件前 */\r\nconst beforeRemove = (file: UploadFile, files: UploadFiles) => {\r\n if (props.disabled) {\r\n return false;\r\n }\r\n return props.beforeRemove ? props.beforeRemove(file, files) : true;\r\n};\r\n\r\n/* 删除文件 */\r\nconst handleRemove = (file: UploadFile, uploadFiles: UploadFiles) => {\r\n ElMessageBox.confirm('确定删除该文件吗?', '提示', {\r\n confirmButtonText: '确定',\r\n cancelButtonText: '取消',\r\n type: 'warning',\r\n })\r\n .then(() => {\r\n const index = fileList.value.indexOf(file);\r\n if (index > -1) {\r\n fileList.value.splice(index, 1);\r\n emit('handleRemove', { file, index });\r\n return props.onRemove?.(file, uploadFiles);\r\n }\r\n })\r\n .catch(() => {});\r\n};\r\n\r\nconst uploadFileRef = ref<UploadInstance>();\r\nconst pasteFileRef = ref<HTMLElement>();\r\n/* 手动上传 */\r\nconst submit = () => {\r\n uploadFileRef.value!.submit();\r\n};\r\n\r\n/** 取消上传 */\r\nconst abort = (file: UploadFile) => {\r\n uploadFileRef.value!.abort(file);\r\n};\r\n\r\n/** 清空已上传的文件列表 */\r\nconst clearFiles = (status?: UploadStatus[]) => {\r\n uploadFileRef.value!.clearFiles(status);\r\n};\r\n\r\n/** 手动选择文件 */\r\nconst handleStart = (rawFile: UploadRawFile) => {\r\n uploadFileRef.value!.handleStart(rawFile);\r\n};\r\n\r\n/** 预览 */\r\nconst dialogVisible = ref(false);\r\nconst fileIndex = ref(0);\r\nconst handlePreview = (file: UploadFile) => {\r\n fileIndex.value = fileList.value.indexOf(file);\r\n dialogVisible.value = true;\r\n};\r\n\r\nconst { onSuccess, onError } = usePasteFile(pasteFileRef, { accept: props.accept, disabled: props.disabled });\r\nonSuccess((files: File[]) => {\r\n if (Array.isArray(files) && files.length > 0) {\r\n files.forEach(file => {\r\n if (file instanceof File) {\r\n const rawFile = file as UploadRawFile;\r\n handleStart(rawFile);\r\n }\r\n });\r\n }\r\n});\r\n\r\nonError((error: Error) => {\r\n console.error('粘贴错误:', error);\r\n ElMessageBox.alert(error.message, '提示', {\r\n type: 'error',\r\n });\r\n});\r\n\r\ndefineExpose({\r\n submit,\r\n abort,\r\n clearFiles,\r\n handleStart,\r\n uploadFileRef,\r\n});\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.gm-upload-preview-dialog {\r\n :deep(.el-dialog__body) {\r\n padding: 0;\r\n }\r\n}\r\n.gm-upload-file-picture-card {\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}\r\n</style>\r\n<style lang=\"scss\">\r\n.gm-upload-file {\r\n line-height: normal;\r\n .el-checkbox {\r\n position: absolute;\r\n left: 10px;\r\n top: 0;\r\n z-index: 9;\r\n }\r\n .el-upload-list__item-file-name {\r\n line-height: normal;\r\n }\r\n .el-upload-dragger {\r\n padding: 0;\r\n border: none;\r\n width: 100%;\r\n height: 100%;\r\n display: flex;\r\n }\r\n}\r\n.gm-upload-file-disabled {\r\n .el-upload--picture-card {\r\n display: none;\r\n }\r\n .el-upload-list__item-status-label {\r\n display: none;\r\n }\r\n}\r\n</style>\r\n"],"names":["_useModel"],"mappings":"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"}
1
+ {"version":3,"file":"UploadFile.vue2.mjs","sources":["../../../../../../../packages/components/src/composite/uploadFile/UploadFile.vue"],"sourcesContent":["<template>\r\n <div>\r\n <div\r\n ref=\"pasteFileRef\"\r\n :class=\"{ 'gm-upload-file-picture-card': listType === 'picture-card', 'gm-upload-file-disabled': disabled }\"\r\n class=\"gm-upload-file\"\r\n >\r\n <el-checkbox-group v-model=\"checkoutFiles\">\r\n <el-upload\r\n ref=\"uploadFileRef\"\r\n v-bind=\"props\"\r\n v-model:file-list=\"fileList\"\r\n :before-remove=\"beforeRemove\"\r\n action=\"\"\r\n :http-request=\"httpRequest\"\r\n >\r\n <slot v-if=\"!disabled\">\r\n <template v-if=\"listType === 'picture-card'\">\r\n <div\r\n class=\"gm-flex gm-flex-col gm-items-center gm-justify-center gm-rounded-md gm-p-1\"\r\n style=\"flex-direction: column\"\r\n :style=\"{ width: width + 'px', height: height + 'px' }\"\r\n >\r\n <el-icon :size=\"30\" color=\"#999\">\r\n <UploadFilled />\r\n </el-icon>\r\n <div class=\"el-upload__text gm-text-center !gm-text-xs gm-text-gray-500\">\r\n 将文件拖到此处,复制粘贴,或 <em class=\"gm-text-blue-700\">点击上传</em>\r\n </div>\r\n </div>\r\n </template>\r\n <template v-else>\r\n <el-button type=\"primary\" size=\"default\">点击上传</el-button>\r\n </template>\r\n </slot>\r\n <template v-if=\"showFileList && listType === 'picture-card'\" #file=\"{ file }\">\r\n <el-checkbox v-if=\"checkbox\" :value=\"file\" />\r\n <slot name=\"file\" :file=\"file\">\r\n <div class=\"gm-flex gm-items-center gm-justify-center gm-rounded-md\" :style=\"{ width: width + 'px', height: height + 'px' }\">\r\n <GmFileComponent :file=\"file\" :size=\"width - 40\" :url=\"url\" :controls=\"false\" />\r\n </div>\r\n <div class=\"el-upload-list__item-actions\">\r\n <span class=\"el-upload-list__item-preview\" @click=\"handlePreview(file)\">\r\n <el-icon><View /></el-icon>\r\n </span>\r\n <span v-if=\"showDelete\" class=\"el-upload-list__item-delete\" @click=\"handleRemove(file, fileList)\">\r\n <el-icon><Delete /></el-icon>\r\n </span>\r\n </div>\r\n </slot>\r\n </template>\r\n </el-upload>\r\n </el-checkbox-group>\r\n\r\n <GmPreviewFile\r\n v-model:dialogVisible=\"dialogVisible\"\r\n v-model:file-index=\"fileIndex\"\r\n :file-list=\"fileList\"\r\n :controls=\"controls\"\r\n :oncontextmenu=\"oncontextmenu\"\r\n :controlslist=\"controlslist\"\r\n :field=\"field\"\r\n />\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ref } from 'vue';\r\nimport { ElMessageBox } from 'element-plus';\r\nimport { useAliossHookStore } from '@giime/utils/src/alioss/aliossPutHook';\r\nimport { fileValidType } from '@giime/utils/src/file';\r\n// import { pasteFile } from '@giime/utils/src/pasteFile';\r\nimport { usePasteFile } from '@giime/hooks/base/usePasteFile';\r\nimport { Delete, UploadFilled, View } from '@element-plus/icons-vue';\r\nimport GmFileComponent from '../fileComponent';\r\nimport GmPreviewFile from '../previewFile';\r\nimport { uploadFileProps } from './uploadFile';\r\nimport type { UploadFile, UploadFiles, UploadInstance, UploadRawFile, UploadRequestOptions, UploadStatus } from 'element-plus';\r\nimport type { AliOssResponse } from '@giime/utils/src/alioss/aliossPutHook';\r\n\r\ndefineOptions({\r\n name: 'GmUploadFile',\r\n});\r\n\r\nconst props = defineProps(uploadFileProps);\r\nconst emit = defineEmits([\"handleRemove\", \"handleSaveFileSuccess\"]);\r\n\r\nconst { uploadFile, saveFileResult } = useAliossHookStore();\r\n\r\nsaveFileResult((res: AliOssResponse) => {\r\n emit('handleSaveFileSuccess', res);\r\n});\r\n\r\n/** 上传文件 */\r\nconst fileList = defineModel<UploadFile[]>('fileList', { required: true, default: () => [] });\r\n/** 多选数据 */\r\nconst checkoutFiles = defineModel<any[]>('checkoutFiles', { default: () => [] });\r\n\r\n/* 上传 */\r\nconst httpRequest = async (params: UploadRequestOptions) => {\r\n const { file } = params;\r\n\r\n // 验证文件类型\r\n if (props.accept && props.accept !== '*') {\r\n const isValidType = fileValidType(file, props.accept);\r\n if (!isValidType) {\r\n throw new Error(`文件类型不支持,请上传 ${props.accept} 格式的文件`);\r\n }\r\n }\r\n\r\n const res = await uploadFile({\r\n file,\r\n fileName: props.fileName,\r\n folder: props.folder,\r\n seat: props.seat,\r\n partSize: props.partSize,\r\n parallel: props.parallel,\r\n options: props.options,\r\n bucket: props.bucket,\r\n saveStore: props.saveStore,\r\n cdn: props.cdn,\r\n });\r\n return res;\r\n};\r\n\r\n/* 删除文件前 */\r\nconst beforeRemove = (file: UploadFile, files: UploadFiles) => {\r\n if (props.disabled) {\r\n return false;\r\n }\r\n return props.beforeRemove ? props.beforeRemove(file, files) : true;\r\n};\r\n\r\n/* 删除文件 */\r\nconst handleRemove = (file: UploadFile, uploadFiles: UploadFiles) => {\r\n ElMessageBox.confirm('确定删除该文件吗?', '提示', {\r\n confirmButtonText: '确定',\r\n cancelButtonText: '取消',\r\n type: 'warning',\r\n })\r\n .then(() => {\r\n const index = fileList.value.indexOf(file);\r\n if (index > -1) {\r\n fileList.value.splice(index, 1);\r\n emit('handleRemove', { file, index });\r\n return props.onRemove?.(file, uploadFiles);\r\n }\r\n })\r\n .catch(() => {});\r\n};\r\n\r\nconst uploadFileRef = ref<UploadInstance>();\r\nconst pasteFileRef = ref<HTMLElement>();\r\n/* 手动上传 */\r\nconst submit = () => {\r\n uploadFileRef.value!.submit();\r\n};\r\n\r\n/** 取消上传 */\r\nconst abort = (file: UploadFile) => {\r\n uploadFileRef.value!.abort(file);\r\n};\r\n\r\n/** 清空已上传的文件列表 */\r\nconst clearFiles = (status?: UploadStatus[]) => {\r\n uploadFileRef.value!.clearFiles(status);\r\n};\r\n\r\n/** 手动选择文件 */\r\nconst handleStart = (rawFile: UploadRawFile) => {\r\n uploadFileRef.value!.handleStart(rawFile);\r\n};\r\n\r\n/** 预览 */\r\nconst dialogVisible = ref(false);\r\nconst fileIndex = ref(0);\r\nconst handlePreview = (file: UploadFile) => {\r\n fileIndex.value = fileList.value.indexOf(file);\r\n dialogVisible.value = true;\r\n};\r\n\r\n//** 复制粘贴 */\r\nconst { onSuccess, onError } = usePasteFile(pasteFileRef, { accept: props.accept, disabled: props.disabled });\r\nonSuccess((files: File[]) => {\r\n if (Array.isArray(files) && files.length > 0) {\r\n files.forEach(file => {\r\n if (file instanceof File) {\r\n const rawFile = file as UploadRawFile;\r\n handleStart(rawFile);\r\n\r\n // 粘贴成功自动上传\r\n if (props.autoUpload) {\r\n submit();\r\n }\r\n }\r\n });\r\n }\r\n});\r\n\r\nonError((error: Error) => {\r\n console.error('粘贴错误:', error);\r\n ElMessageBox.alert(error.message, '提示', {\r\n type: 'error',\r\n });\r\n});\r\n\r\ndefineExpose({\r\n submit,\r\n abort,\r\n clearFiles,\r\n handleStart,\r\n uploadFileRef,\r\n});\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.gm-upload-preview-dialog {\r\n :deep(.el-dialog__body) {\r\n padding: 0;\r\n }\r\n}\r\n.gm-upload-file-picture-card {\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}\r\n</style>\r\n<style lang=\"scss\">\r\n.gm-upload-file {\r\n line-height: normal;\r\n .el-checkbox {\r\n position: absolute;\r\n left: 10px;\r\n top: 0;\r\n z-index: 9;\r\n }\r\n .el-upload-list__item-file-name {\r\n line-height: normal;\r\n }\r\n .el-upload-dragger {\r\n padding: 0;\r\n border: none;\r\n width: 100%;\r\n height: 100%;\r\n display: flex;\r\n }\r\n}\r\n.gm-upload-file-disabled {\r\n .el-upload--picture-card {\r\n display: none;\r\n }\r\n .el-upload-list__item-status-label {\r\n display: none;\r\n }\r\n}\r\n</style>\r\n"],"names":["_useModel"],"mappings":"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"}
@@ -1 +1 @@
1
- export declare const version = "0.6.4";
1
+ export declare const version = "0.6.5";
@@ -1,4 +1,4 @@
1
- const version = "0.6.4";
1
+ const version = "0.6.5";
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.6.4';\n"],"names":[],"mappings":"AAAO,MAAM,OAAU,GAAA;;;;"}
1
+ {"version":3,"file":"version.mjs","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.6.5';\n"],"names":[],"mappings":"AAAO,MAAM,OAAU,GAAA;;;;"}
package/es/index.css CHANGED
@@ -801,6 +801,11 @@ video {
801
801
  .gm-group:hover .group-hover\:gm-block {
802
802
  display: block;
803
803
  }
804
+
805
+ .gm-range-number .el-form-item[data-v-11c39847] {
806
+ margin: 0;
807
+ }
808
+
804
809
  .gm-flex-center[data-v-2a79bac9] {
805
810
  align-items: center;
806
811
  }
@@ -808,42 +813,23 @@ video {
808
813
  .gm-flex-justify-between[data-v-2a79bac9] {
809
814
  justify-content: space-between;
810
815
  }
811
- .gm-upload-preview-dialog[data-v-3bf7f50d] [data-v-3bf7f50d] .el-dialog__body {
812
- padding: 0;
813
- }
814
-
815
- .gm-upload-file-picture-card[data-v-3bf7f50d] [data-v-3bf7f50d] .el-upload-list__item, .gm-upload-file-picture-card[data-v-3bf7f50d] [data-v-3bf7f50d] .el-upload--picture-card {
816
- width: 120px;
817
- height: 120px;
818
- display: flex;
819
- align-items: center;
820
- justify-content: center;
821
- }
822
- .gm-upload-file {
823
- line-height: normal;
824
- }
825
- .gm-upload-file .el-checkbox {
826
- position: absolute;
827
- left: 10px;
828
- top: 0;
829
- z-index: 9;
830
- }
831
- .gm-upload-file .el-upload-list__item-file-name {
832
- line-height: normal;
816
+ .gm-number-interval-single[data-v-47a13fd0] {
817
+ border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
818
+ box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
819
+ background-color: var(--el-input-bg-color, var(--el-fill-color-blank));
833
820
  }
834
- .gm-upload-file .el-upload-dragger {
835
- padding: 0;
836
- border: none;
837
- width: 100%;
838
- height: 100%;
839
- display: flex;
821
+ .gm-number-interval-single[data-v-47a13fd0] [data-v-47a13fd0] .el-input__wrapper {
822
+ box-shadow: none;
823
+ background: none;
840
824
  }
841
825
 
842
- .gm-upload-file-disabled .el-upload--picture-card {
826
+ .gm-number-interval-close[data-v-47a13fd0] {
843
827
  display: none;
828
+ color: var(--el-input-icon-color, var(--el-text-color-placeholder));
844
829
  }
845
- .gm-upload-file-disabled .el-upload-list__item-status-label {
846
- display: none;
830
+
831
+ .gm-number-interval-single[data-v-47a13fd0]:hover .gm-number-interval-close[data-v-47a13fd0] {
832
+ display: flex;
847
833
  }
848
834
  .circular[data-v-b391445c] {
849
835
  animation: loading-rotate-b391445c 2s linear infinite;
@@ -876,15 +862,47 @@ video {
876
862
  stroke-dashoffset: -120px;
877
863
  }
878
864
  }
879
-
880
- .gm-range-number .el-form-item[data-v-11c39847] {
881
- margin: 0;
882
- }
883
-
884
865
  [data-v-7b6755e2] .gmSearchForm .el-form-item {
885
866
  margin-right: 0;
886
867
  margin-bottom: 4px;
887
868
  }
869
+ .gm-upload-file {
870
+ line-height: normal;
871
+ }
872
+ .gm-upload-file .el-checkbox {
873
+ position: absolute;
874
+ left: 10px;
875
+ top: 0;
876
+ z-index: 9;
877
+ }
878
+ .gm-upload-file .el-upload-list__item-file-name {
879
+ line-height: normal;
880
+ }
881
+ .gm-upload-file .el-upload-dragger {
882
+ padding: 0;
883
+ border: none;
884
+ width: 100%;
885
+ height: 100%;
886
+ display: flex;
887
+ }
888
+
889
+ .gm-upload-file-disabled .el-upload--picture-card {
890
+ display: none;
891
+ }
892
+ .gm-upload-file-disabled .el-upload-list__item-status-label {
893
+ display: none;
894
+ }
895
+ .gm-upload-preview-dialog[data-v-855a2d4b] [data-v-855a2d4b] .el-dialog__body {
896
+ padding: 0;
897
+ }
898
+
899
+ .gm-upload-file-picture-card[data-v-855a2d4b] [data-v-855a2d4b] .el-upload-list__item, .gm-upload-file-picture-card[data-v-855a2d4b] [data-v-855a2d4b] .el-upload--picture-card {
900
+ width: 120px;
901
+ height: 120px;
902
+ display: flex;
903
+ align-items: center;
904
+ justify-content: center;
905
+ }
888
906
  [data-v-668dc408] .gmTableNoBorder .el-table__body .el-table__cell {
889
907
  border-right: none;
890
908
  }
@@ -916,22 +934,3 @@ video {
916
934
  .pagination-container.hidden[data-v-19230954] {
917
935
  display: none;
918
936
  }
919
-
920
- .gm-number-interval-single[data-v-47a13fd0] {
921
- border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
922
- box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
923
- background-color: var(--el-input-bg-color, var(--el-fill-color-blank));
924
- }
925
- .gm-number-interval-single[data-v-47a13fd0] [data-v-47a13fd0] .el-input__wrapper {
926
- box-shadow: none;
927
- background: none;
928
- }
929
-
930
- .gm-number-interval-close[data-v-47a13fd0] {
931
- display: none;
932
- color: var(--el-input-icon-color, var(--el-text-color-placeholder));
933
- }
934
-
935
- .gm-number-interval-single[data-v-47a13fd0]:hover .gm-number-interval-close[data-v-47a13fd0] {
936
- display: flex;
937
- }
@@ -4,6 +4,7 @@ export interface CreateAxiosConfig extends CreateAxiosDefaults {
4
4
  /**服务器调用成功的code 一般是 0 或 200 */
5
5
  successCode: number;
6
6
  hideAuthorization?: boolean;
7
+ isUseParamsToken?: boolean;
7
8
  }
8
9
  export declare const createAxios: (config: CreateAxiosConfig, options?: {
9
10
  requestInterceptors?: ((config: InternalAxiosRequestConfig<any>) => any) | undefined;
@@ -9,6 +9,7 @@ import { responseErrorMessage } from './errorMessage.mjs';
9
9
  const createAxios = (config, options) => {
10
10
  const successCode = config.successCode ?? 0;
11
11
  const hideAuthorization = config.hideAuthorization ?? false;
12
+ const isUseParamsToken = config.isUseParamsToken ?? false;
12
13
  const service = axios.create({
13
14
  withCredentials: true,
14
15
  // send cookies when cross-domain requests
@@ -28,8 +29,10 @@ const createAxios = (config, options) => {
28
29
  config2.params = {};
29
30
  }
30
31
  if (!hideAuthorization) {
31
- config2.params._token = _token;
32
- config2.params._user = _user;
32
+ if (isUseParamsToken) {
33
+ config2.params._token = _token;
34
+ config2.params._user = _user;
35
+ }
33
36
  if (_token) {
34
37
  config2.headers.Authorization = `Bearer ${_token}`;
35
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createAxios.mjs","sources":["../../../../../../packages/utils/src/http/createAxios.ts"],"sourcesContent":["import axios from 'axios';\nimport { ElMessage } from 'element-plus';\nimport Cookies from 'js-cookie';\nimport { useLoginStore } from '@giime/hooks/store/useLogin';\nimport { isNumber } from '../is';\nimport { res401Interceptors } from './interceptors';\nimport { responseErrorMessage } from './errorMessage';\nimport type { AxiosError, CreateAxiosDefaults, InternalAxiosRequestConfig } from 'axios';\nexport interface CreateAxiosConfig extends CreateAxiosDefaults {\n baseURL: string;\n /**服务器调用成功的code 一般是 0 或 200 */\n successCode: number;\n // 是否隐藏Authorization\n hideAuthorization?: boolean;\n}\n\nexport const createAxios = (\n config: CreateAxiosConfig,\n options?: {\n requestInterceptors?: (config: InternalAxiosRequestConfig<any>) => any;\n },\n) => {\n const successCode = config.successCode ?? 0;\n const hideAuthorization = config.hideAuthorization ?? false;\n const service = axios.create({\n withCredentials: true, // send cookies when cross-domain requests\n timeout: 120_000,\n headers: {\n 'content-type': 'application/json',\n Accept: '*/*',\n },\n ...config,\n });\n\n // 请求拦截器\n service.interceptors.request.use(\n async config => {\n const logingStore = useLoginStore();\n const _token = Cookies.get('token') ?? logingStore.userToken;\n const _user = Cookies.get('sso_user_id') ?? logingStore.userId;\n if (!config.params) {\n config.params = {};\n }\n if (!hideAuthorization) {\n config.params._token = _token;\n config.params._user = _user;\n if (_token) {\n config.headers.Authorization = `Bearer ${_token}`;\n }\n }\n\n await options?.requestInterceptors?.(config);\n return config;\n },\n error => {\n console.error('请求错误', error); // for debug\n return Promise.reject(error);\n },\n );\n // 添加响应拦截器\n service.interceptors.response.use(\n async response => {\n // 对响应数据做点什么\n const res = response.data;\n const msg = (res?.comment ?? res?.message ?? res?.errMsg ?? res?.msg) || '接口请求错误';\n if (!isNumber(res?.code)) {\n return response;\n }\n // 成功情况\n else if (res.code === successCode || res.errCode === successCode) {\n return response;\n }\n // 401\n else if (res.code === 401) {\n const res = await res401Interceptors(service, response.config);\n return res;\n }\n ElMessage({\n message: msg,\n type: 'error',\n grouping: true,\n duration: 5 * 1000,\n showClose: true,\n });\n return Promise.reject(response);\n // return response;\n },\n async (err: AxiosError) => {\n console.error(err);\n if (err?.response?.status === 401 && !err.message.includes('timeout')) {\n const res = await res401Interceptors(service, err.config!);\n return res;\n } else {\n // 对响应错误做点什么\n responseErrorMessage(err);\n return Promise.reject(err);\n }\n },\n );\n\n return {\n service,\n };\n};\n"],"names":["config","res"],"mappings":";;;;;;;;AAgBa,MAAA,WAAA,GAAc,CACzB,MAAA,EACA,OAGG,KAAA;AACH,EAAM,MAAA,WAAA,GAAc,OAAO,WAAe,IAAA,CAAA,CAAA;AAC1C,EAAM,MAAA,iBAAA,GAAoB,OAAO,iBAAqB,IAAA,KAAA,CAAA;AACtD,EAAM,MAAA,OAAA,GAAU,MAAM,MAAO,CAAA;AAAA,IAC3B,eAAiB,EAAA,IAAA;AAAA;AAAA,IACjB,OAAS,EAAA,IAAA;AAAA,IACT,OAAS,EAAA;AAAA,MACP,cAAgB,EAAA,kBAAA;AAAA,MAChB,MAAQ,EAAA,KAAA;AAAA,KACV;AAAA,IACA,GAAG,MAAA;AAAA,GACJ,CAAA,CAAA;AAGD,EAAA,OAAA,CAAQ,aAAa,OAAQ,CAAA,GAAA;AAAA,IAC3B,OAAMA,OAAU,KAAA;AACd,MAAA,MAAM,cAAc,aAAc,EAAA,CAAA;AAClC,MAAA,MAAM,MAAS,GAAA,OAAA,CAAQ,GAAI,CAAA,OAAO,KAAK,WAAY,CAAA,SAAA,CAAA;AACnD,MAAA,MAAM,KAAQ,GAAA,OAAA,CAAQ,GAAI,CAAA,aAAa,KAAK,WAAY,CAAA,MAAA,CAAA;AACxD,MAAI,IAAA,CAACA,QAAO,MAAQ,EAAA;AAClB,QAAAA,OAAAA,CAAO,SAAS,EAAC,CAAA;AAAA,OACnB;AACA,MAAA,IAAI,CAAC,iBAAmB,EAAA;AACtB,QAAAA,OAAAA,CAAO,OAAO,MAAS,GAAA,MAAA,CAAA;AACvB,QAAAA,OAAAA,CAAO,OAAO,KAAQ,GAAA,KAAA,CAAA;AACtB,QAAA,IAAI,MAAQ,EAAA;AACV,UAAAA,OAAO,CAAA,OAAA,CAAQ,aAAgB,GAAA,CAAA,OAAA,EAAU,MAAM,CAAA,CAAA,CAAA;AAAA,SACjD;AAAA,OACF;AAEA,MAAM,MAAA,OAAA,EAAS,sBAAsBA,OAAM,CAAA,CAAA;AAC3C,MAAOA,OAAAA,OAAAA,CAAAA;AAAA,KACT;AAAA,IACA,CAAS,KAAA,KAAA;AACP,MAAQ,OAAA,CAAA,KAAA,CAAM,4BAAQ,KAAK,CAAA,CAAA;AAC3B,MAAO,OAAA,OAAA,CAAQ,OAAO,KAAK,CAAA,CAAA;AAAA,KAC7B;AAAA,GACF,CAAA;AAEA,EAAA,OAAA,CAAQ,aAAa,QAAS,CAAA,GAAA;AAAA,IAC5B,OAAM,QAAY,KAAA;AAEhB,MAAA,MAAM,MAAM,QAAS,CAAA,IAAA,CAAA;AACrB,MAAM,MAAA,GAAA,GAAA,CAAO,KAAK,OAAW,IAAA,GAAA,EAAK,WAAW,GAAK,EAAA,MAAA,IAAU,KAAK,GAAQ,KAAA,sCAAA,CAAA;AACzE,MAAA,IAAI,CAAC,QAAA,CAAS,GAAK,EAAA,IAAI,CAAG,EAAA;AACxB,QAAO,OAAA,QAAA,CAAA;AAAA,iBAGA,GAAI,CAAA,IAAA,KAAS,WAAe,IAAA,GAAA,CAAI,YAAY,WAAa,EAAA;AAChE,QAAO,OAAA,QAAA,CAAA;AAAA,OACT,MAAA,IAES,GAAI,CAAA,IAAA,KAAS,GAAK,EAAA;AACzB,QAAA,MAAMC,IAAM,GAAA,MAAM,kBAAmB,CAAA,OAAA,EAAS,SAAS,MAAM,CAAA,CAAA;AAC7D,QAAOA,OAAAA,IAAAA,CAAAA;AAAA,OACT;AACA,MAAU,SAAA,CAAA;AAAA,QACR,OAAS,EAAA,GAAA;AAAA,QACT,IAAM,EAAA,OAAA;AAAA,QACN,QAAU,EAAA,IAAA;AAAA,QACV,UAAU,CAAI,GAAA,GAAA;AAAA,QACd,SAAW,EAAA,IAAA;AAAA,OACZ,CAAA,CAAA;AACD,MAAO,OAAA,OAAA,CAAQ,OAAO,QAAQ,CAAA,CAAA;AAAA,KAEhC;AAAA,IACA,OAAO,GAAoB,KAAA;AACzB,MAAA,OAAA,CAAQ,MAAM,GAAG,CAAA,CAAA;AACjB,MAAI,IAAA,GAAA,EAAK,UAAU,MAAW,KAAA,GAAA,IAAO,CAAC,GAAI,CAAA,OAAA,CAAQ,QAAS,CAAA,SAAS,CAAG,EAAA;AACrE,QAAA,MAAM,GAAM,GAAA,MAAM,kBAAmB,CAAA,OAAA,EAAS,IAAI,MAAO,CAAA,CAAA;AACzD,QAAO,OAAA,GAAA,CAAA;AAAA,OACF,MAAA;AAEL,QAAA,oBAAA,CAAqB,GAAG,CAAA,CAAA;AACxB,QAAO,OAAA,OAAA,CAAQ,OAAO,GAAG,CAAA,CAAA;AAAA,OAC3B;AAAA,KACF;AAAA,GACF,CAAA;AAEA,EAAO,OAAA;AAAA,IACL,OAAA;AAAA,GACF,CAAA;AACF;;;;"}
1
+ {"version":3,"file":"createAxios.mjs","sources":["../../../../../../packages/utils/src/http/createAxios.ts"],"sourcesContent":["import axios from 'axios';\nimport { ElMessage } from 'element-plus';\nimport Cookies from 'js-cookie';\nimport { useLoginStore } from '@giime/hooks/store/useLogin';\nimport { isNumber } from '../is';\nimport { res401Interceptors } from './interceptors';\nimport { responseErrorMessage } from './errorMessage';\nimport type { AxiosError, CreateAxiosDefaults, InternalAxiosRequestConfig } from 'axios';\nexport interface CreateAxiosConfig extends CreateAxiosDefaults {\n baseURL: string;\n /**服务器调用成功的code 一般是 0 或 200 */\n successCode: number;\n // 是否隐藏Authorization\n hideAuthorization?: boolean;\n // 是否使用params传递token\n isUseParamsToken?: boolean;\n}\n\nexport const createAxios = (\n config: CreateAxiosConfig,\n options?: {\n requestInterceptors?: (config: InternalAxiosRequestConfig<any>) => any;\n },\n) => {\n const successCode = config.successCode ?? 0;\n const hideAuthorization = config.hideAuthorization ?? false;\n const isUseParamsToken = config.isUseParamsToken ?? false;\n const service = axios.create({\n withCredentials: true, // send cookies when cross-domain requests\n timeout: 120_000,\n headers: {\n 'content-type': 'application/json',\n Accept: '*/*',\n },\n ...config,\n });\n\n // 请求拦截器\n service.interceptors.request.use(\n async config => {\n const logingStore = useLoginStore();\n const _token = Cookies.get('token') ?? logingStore.userToken;\n const _user = Cookies.get('sso_user_id') ?? logingStore.userId;\n if (!config.params) {\n config.params = {};\n }\n // 是否隐藏Authorization\n if (!hideAuthorization) {\n // 是否使用params传递token\n if (isUseParamsToken) {\n config.params._token = _token;\n config.params._user = _user;\n }\n\n if (_token) {\n config.headers.Authorization = `Bearer ${_token}`;\n }\n }\n\n await options?.requestInterceptors?.(config);\n return config;\n },\n error => {\n console.error('请求错误', error); // for debug\n return Promise.reject(error);\n },\n );\n // 添加响应拦截器\n service.interceptors.response.use(\n async response => {\n // 对响应数据做点什么\n const res = response.data;\n const msg = (res?.comment ?? res?.message ?? res?.errMsg ?? res?.msg) || '接口请求错误';\n if (!isNumber(res?.code)) {\n return response;\n }\n // 成功情况\n else if (res.code === successCode || res.errCode === successCode) {\n return response;\n }\n // 401\n else if (res.code === 401) {\n const res = await res401Interceptors(service, response.config);\n return res;\n }\n ElMessage({\n message: msg,\n type: 'error',\n grouping: true,\n duration: 5 * 1000,\n showClose: true,\n });\n return Promise.reject(response);\n // return response;\n },\n async (err: AxiosError) => {\n console.error(err);\n if (err?.response?.status === 401 && !err.message.includes('timeout')) {\n const res = await res401Interceptors(service, err.config!);\n return res;\n } else {\n // 对响应错误做点什么\n responseErrorMessage(err);\n return Promise.reject(err);\n }\n },\n );\n\n return {\n service,\n };\n};\n"],"names":["config","res"],"mappings":"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"}
@@ -7,7 +7,7 @@ require('./UploadFile.vue3.js');
7
7
  require('./UploadFile.vue4.js');
8
8
  var _pluginVue_exportHelper = require('../../../../_virtual/_plugin-vue_export-helper.js');
9
9
 
10
- var UploadFile = /* @__PURE__ */ _pluginVue_exportHelper.default(UploadFile_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-3bf7f50d"]]);
10
+ var UploadFile = /* @__PURE__ */ _pluginVue_exportHelper.default(UploadFile_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-855a2d4b"]]);
11
11
 
12
12
  exports.default = UploadFile;
13
13
  //# sourceMappingURL=UploadFile.vue.js.map
@@ -12,7 +12,7 @@ var index$1 = require('../fileComponent/index.js');
12
12
  var index$2 = require('../previewFile/index.js');
13
13
  var uploadFile = require('./uploadFile.js');
14
14
 
15
- const _withScopeId = (n) => (vue.pushScopeId("data-v-3bf7f50d"), n = n(), vue.popScopeId(), n);
15
+ const _withScopeId = (n) => (vue.pushScopeId("data-v-855a2d4b"), n = n(), vue.popScopeId(), n);
16
16
  const _hoisted_1 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode(
17
17
  "div",
18
18
  { class: "el-upload__text gm-text-center !gm-text-xs gm-text-gray-500" },
@@ -117,6 +117,9 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
117
117
  if (file instanceof File) {
118
118
  const rawFile = file;
119
119
  handleStart(rawFile);
120
+ if (props.autoUpload) {
121
+ submit();
122
+ }
120
123
  }
121
124
  });
122
125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"UploadFile.vue2.js","sources":["../../../../../../../packages/components/src/composite/uploadFile/UploadFile.vue"],"sourcesContent":["<template>\r\n <div>\r\n <div\r\n ref=\"pasteFileRef\"\r\n :class=\"{ 'gm-upload-file-picture-card': listType === 'picture-card', 'gm-upload-file-disabled': disabled }\"\r\n class=\"gm-upload-file\"\r\n >\r\n <el-checkbox-group v-model=\"checkoutFiles\">\r\n <el-upload\r\n ref=\"uploadFileRef\"\r\n v-bind=\"props\"\r\n v-model:file-list=\"fileList\"\r\n :before-remove=\"beforeRemove\"\r\n action=\"\"\r\n :http-request=\"httpRequest\"\r\n >\r\n <slot v-if=\"!disabled\">\r\n <template v-if=\"listType === 'picture-card'\">\r\n <div\r\n class=\"gm-flex gm-flex-col gm-items-center gm-justify-center gm-rounded-md gm-p-1\"\r\n style=\"flex-direction: column\"\r\n :style=\"{ width: width + 'px', height: height + 'px' }\"\r\n >\r\n <el-icon :size=\"30\" color=\"#999\">\r\n <UploadFilled />\r\n </el-icon>\r\n <div class=\"el-upload__text gm-text-center !gm-text-xs gm-text-gray-500\">\r\n 将文件拖到此处,复制粘贴,或 <em class=\"gm-text-blue-700\">点击上传</em>\r\n </div>\r\n </div>\r\n </template>\r\n <template v-else>\r\n <el-button type=\"primary\" size=\"default\">点击上传</el-button>\r\n </template>\r\n </slot>\r\n <template v-if=\"showFileList && listType === 'picture-card'\" #file=\"{ file }\">\r\n <el-checkbox v-if=\"checkbox\" :value=\"file\" />\r\n <slot name=\"file\" :file=\"file\">\r\n <div class=\"gm-flex gm-items-center gm-justify-center gm-rounded-md\" :style=\"{ width: width + 'px', height: height + 'px' }\">\r\n <GmFileComponent :file=\"file\" :size=\"width - 40\" :url=\"url\" :controls=\"false\" />\r\n </div>\r\n <div class=\"el-upload-list__item-actions\">\r\n <span class=\"el-upload-list__item-preview\" @click=\"handlePreview(file)\">\r\n <el-icon><View /></el-icon>\r\n </span>\r\n <span v-if=\"showDelete\" class=\"el-upload-list__item-delete\" @click=\"handleRemove(file, fileList)\">\r\n <el-icon><Delete /></el-icon>\r\n </span>\r\n </div>\r\n </slot>\r\n </template>\r\n </el-upload>\r\n </el-checkbox-group>\r\n\r\n <GmPreviewFile\r\n v-model:dialogVisible=\"dialogVisible\"\r\n v-model:file-index=\"fileIndex\"\r\n :file-list=\"fileList\"\r\n :controls=\"controls\"\r\n :oncontextmenu=\"oncontextmenu\"\r\n :controlslist=\"controlslist\"\r\n :field=\"field\"\r\n />\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ref } from 'vue';\r\nimport { ElMessageBox } from 'element-plus';\r\nimport { useAliossHookStore } from '@giime/utils/src/alioss/aliossPutHook';\r\nimport { fileValidType } from '@giime/utils/src/file';\r\n// import { pasteFile } from '@giime/utils/src/pasteFile';\r\nimport { usePasteFile } from '@giime/hooks/base/usePasteFile';\r\nimport { Delete, UploadFilled, View } from '@element-plus/icons-vue';\r\nimport GmFileComponent from '../fileComponent';\r\nimport GmPreviewFile from '../previewFile';\r\nimport { uploadFileProps } from './uploadFile';\r\nimport type { UploadFile, UploadFiles, UploadInstance, UploadRawFile, UploadRequestOptions, UploadStatus } from 'element-plus';\r\nimport type { AliOssResponse } from '@giime/utils/src/alioss/aliossPutHook';\r\n\r\ndefineOptions({\r\n name: 'GmUploadFile',\r\n});\r\n\r\nconst props = defineProps(uploadFileProps);\r\nconst emit = defineEmits([\"handleRemove\", \"handleSaveFileSuccess\"]);\r\n\r\nconst { uploadFile, saveFileResult } = useAliossHookStore();\r\n\r\nsaveFileResult((res: AliOssResponse) => {\r\n emit('handleSaveFileSuccess', res);\r\n});\r\n\r\n/** 上传文件 */\r\nconst fileList = defineModel<UploadFile[]>('fileList', { required: true, default: () => [] });\r\n/** 多选数据 */\r\nconst checkoutFiles = defineModel<any[]>('checkoutFiles', { default: () => [] });\r\n\r\n/* 上传 */\r\nconst httpRequest = async (params: UploadRequestOptions) => {\r\n const { file } = params;\r\n\r\n // 验证文件类型\r\n if (props.accept && props.accept !== '*') {\r\n const isValidType = fileValidType(file, props.accept);\r\n if (!isValidType) {\r\n throw new Error(`文件类型不支持,请上传 ${props.accept} 格式的文件`);\r\n }\r\n }\r\n\r\n const res = await uploadFile({\r\n file,\r\n fileName: props.fileName,\r\n folder: props.folder,\r\n seat: props.seat,\r\n partSize: props.partSize,\r\n parallel: props.parallel,\r\n options: props.options,\r\n bucket: props.bucket,\r\n saveStore: props.saveStore,\r\n cdn: props.cdn,\r\n });\r\n return res;\r\n};\r\n\r\n/* 删除文件前 */\r\nconst beforeRemove = (file: UploadFile, files: UploadFiles) => {\r\n if (props.disabled) {\r\n return false;\r\n }\r\n return props.beforeRemove ? props.beforeRemove(file, files) : true;\r\n};\r\n\r\n/* 删除文件 */\r\nconst handleRemove = (file: UploadFile, uploadFiles: UploadFiles) => {\r\n ElMessageBox.confirm('确定删除该文件吗?', '提示', {\r\n confirmButtonText: '确定',\r\n cancelButtonText: '取消',\r\n type: 'warning',\r\n })\r\n .then(() => {\r\n const index = fileList.value.indexOf(file);\r\n if (index > -1) {\r\n fileList.value.splice(index, 1);\r\n emit('handleRemove', { file, index });\r\n return props.onRemove?.(file, uploadFiles);\r\n }\r\n })\r\n .catch(() => {});\r\n};\r\n\r\nconst uploadFileRef = ref<UploadInstance>();\r\nconst pasteFileRef = ref<HTMLElement>();\r\n/* 手动上传 */\r\nconst submit = () => {\r\n uploadFileRef.value!.submit();\r\n};\r\n\r\n/** 取消上传 */\r\nconst abort = (file: UploadFile) => {\r\n uploadFileRef.value!.abort(file);\r\n};\r\n\r\n/** 清空已上传的文件列表 */\r\nconst clearFiles = (status?: UploadStatus[]) => {\r\n uploadFileRef.value!.clearFiles(status);\r\n};\r\n\r\n/** 手动选择文件 */\r\nconst handleStart = (rawFile: UploadRawFile) => {\r\n uploadFileRef.value!.handleStart(rawFile);\r\n};\r\n\r\n/** 预览 */\r\nconst dialogVisible = ref(false);\r\nconst fileIndex = ref(0);\r\nconst handlePreview = (file: UploadFile) => {\r\n fileIndex.value = fileList.value.indexOf(file);\r\n dialogVisible.value = true;\r\n};\r\n\r\nconst { onSuccess, onError } = usePasteFile(pasteFileRef, { accept: props.accept, disabled: props.disabled });\r\nonSuccess((files: File[]) => {\r\n if (Array.isArray(files) && files.length > 0) {\r\n files.forEach(file => {\r\n if (file instanceof File) {\r\n const rawFile = file as UploadRawFile;\r\n handleStart(rawFile);\r\n }\r\n });\r\n }\r\n});\r\n\r\nonError((error: Error) => {\r\n console.error('粘贴错误:', error);\r\n ElMessageBox.alert(error.message, '提示', {\r\n type: 'error',\r\n });\r\n});\r\n\r\ndefineExpose({\r\n submit,\r\n abort,\r\n clearFiles,\r\n handleStart,\r\n uploadFileRef,\r\n});\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.gm-upload-preview-dialog {\r\n :deep(.el-dialog__body) {\r\n padding: 0;\r\n }\r\n}\r\n.gm-upload-file-picture-card {\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}\r\n</style>\r\n<style lang=\"scss\">\r\n.gm-upload-file {\r\n line-height: normal;\r\n .el-checkbox {\r\n position: absolute;\r\n left: 10px;\r\n top: 0;\r\n z-index: 9;\r\n }\r\n .el-upload-list__item-file-name {\r\n line-height: normal;\r\n }\r\n .el-upload-dragger {\r\n padding: 0;\r\n border: none;\r\n width: 100%;\r\n height: 100%;\r\n display: flex;\r\n }\r\n}\r\n.gm-upload-file-disabled {\r\n .el-upload--picture-card {\r\n display: none;\r\n }\r\n .el-upload-list__item-status-label {\r\n display: none;\r\n }\r\n}\r\n</style>\r\n"],"names":["useAliossHookStore","_useModel","file","fileValidType","ElMessageBox","ref","usePasteFile"],"mappings":"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"}
1
+ {"version":3,"file":"UploadFile.vue2.js","sources":["../../../../../../../packages/components/src/composite/uploadFile/UploadFile.vue"],"sourcesContent":["<template>\r\n <div>\r\n <div\r\n ref=\"pasteFileRef\"\r\n :class=\"{ 'gm-upload-file-picture-card': listType === 'picture-card', 'gm-upload-file-disabled': disabled }\"\r\n class=\"gm-upload-file\"\r\n >\r\n <el-checkbox-group v-model=\"checkoutFiles\">\r\n <el-upload\r\n ref=\"uploadFileRef\"\r\n v-bind=\"props\"\r\n v-model:file-list=\"fileList\"\r\n :before-remove=\"beforeRemove\"\r\n action=\"\"\r\n :http-request=\"httpRequest\"\r\n >\r\n <slot v-if=\"!disabled\">\r\n <template v-if=\"listType === 'picture-card'\">\r\n <div\r\n class=\"gm-flex gm-flex-col gm-items-center gm-justify-center gm-rounded-md gm-p-1\"\r\n style=\"flex-direction: column\"\r\n :style=\"{ width: width + 'px', height: height + 'px' }\"\r\n >\r\n <el-icon :size=\"30\" color=\"#999\">\r\n <UploadFilled />\r\n </el-icon>\r\n <div class=\"el-upload__text gm-text-center !gm-text-xs gm-text-gray-500\">\r\n 将文件拖到此处,复制粘贴,或 <em class=\"gm-text-blue-700\">点击上传</em>\r\n </div>\r\n </div>\r\n </template>\r\n <template v-else>\r\n <el-button type=\"primary\" size=\"default\">点击上传</el-button>\r\n </template>\r\n </slot>\r\n <template v-if=\"showFileList && listType === 'picture-card'\" #file=\"{ file }\">\r\n <el-checkbox v-if=\"checkbox\" :value=\"file\" />\r\n <slot name=\"file\" :file=\"file\">\r\n <div class=\"gm-flex gm-items-center gm-justify-center gm-rounded-md\" :style=\"{ width: width + 'px', height: height + 'px' }\">\r\n <GmFileComponent :file=\"file\" :size=\"width - 40\" :url=\"url\" :controls=\"false\" />\r\n </div>\r\n <div class=\"el-upload-list__item-actions\">\r\n <span class=\"el-upload-list__item-preview\" @click=\"handlePreview(file)\">\r\n <el-icon><View /></el-icon>\r\n </span>\r\n <span v-if=\"showDelete\" class=\"el-upload-list__item-delete\" @click=\"handleRemove(file, fileList)\">\r\n <el-icon><Delete /></el-icon>\r\n </span>\r\n </div>\r\n </slot>\r\n </template>\r\n </el-upload>\r\n </el-checkbox-group>\r\n\r\n <GmPreviewFile\r\n v-model:dialogVisible=\"dialogVisible\"\r\n v-model:file-index=\"fileIndex\"\r\n :file-list=\"fileList\"\r\n :controls=\"controls\"\r\n :oncontextmenu=\"oncontextmenu\"\r\n :controlslist=\"controlslist\"\r\n :field=\"field\"\r\n />\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ref } from 'vue';\r\nimport { ElMessageBox } from 'element-plus';\r\nimport { useAliossHookStore } from '@giime/utils/src/alioss/aliossPutHook';\r\nimport { fileValidType } from '@giime/utils/src/file';\r\n// import { pasteFile } from '@giime/utils/src/pasteFile';\r\nimport { usePasteFile } from '@giime/hooks/base/usePasteFile';\r\nimport { Delete, UploadFilled, View } from '@element-plus/icons-vue';\r\nimport GmFileComponent from '../fileComponent';\r\nimport GmPreviewFile from '../previewFile';\r\nimport { uploadFileProps } from './uploadFile';\r\nimport type { UploadFile, UploadFiles, UploadInstance, UploadRawFile, UploadRequestOptions, UploadStatus } from 'element-plus';\r\nimport type { AliOssResponse } from '@giime/utils/src/alioss/aliossPutHook';\r\n\r\ndefineOptions({\r\n name: 'GmUploadFile',\r\n});\r\n\r\nconst props = defineProps(uploadFileProps);\r\nconst emit = defineEmits([\"handleRemove\", \"handleSaveFileSuccess\"]);\r\n\r\nconst { uploadFile, saveFileResult } = useAliossHookStore();\r\n\r\nsaveFileResult((res: AliOssResponse) => {\r\n emit('handleSaveFileSuccess', res);\r\n});\r\n\r\n/** 上传文件 */\r\nconst fileList = defineModel<UploadFile[]>('fileList', { required: true, default: () => [] });\r\n/** 多选数据 */\r\nconst checkoutFiles = defineModel<any[]>('checkoutFiles', { default: () => [] });\r\n\r\n/* 上传 */\r\nconst httpRequest = async (params: UploadRequestOptions) => {\r\n const { file } = params;\r\n\r\n // 验证文件类型\r\n if (props.accept && props.accept !== '*') {\r\n const isValidType = fileValidType(file, props.accept);\r\n if (!isValidType) {\r\n throw new Error(`文件类型不支持,请上传 ${props.accept} 格式的文件`);\r\n }\r\n }\r\n\r\n const res = await uploadFile({\r\n file,\r\n fileName: props.fileName,\r\n folder: props.folder,\r\n seat: props.seat,\r\n partSize: props.partSize,\r\n parallel: props.parallel,\r\n options: props.options,\r\n bucket: props.bucket,\r\n saveStore: props.saveStore,\r\n cdn: props.cdn,\r\n });\r\n return res;\r\n};\r\n\r\n/* 删除文件前 */\r\nconst beforeRemove = (file: UploadFile, files: UploadFiles) => {\r\n if (props.disabled) {\r\n return false;\r\n }\r\n return props.beforeRemove ? props.beforeRemove(file, files) : true;\r\n};\r\n\r\n/* 删除文件 */\r\nconst handleRemove = (file: UploadFile, uploadFiles: UploadFiles) => {\r\n ElMessageBox.confirm('确定删除该文件吗?', '提示', {\r\n confirmButtonText: '确定',\r\n cancelButtonText: '取消',\r\n type: 'warning',\r\n })\r\n .then(() => {\r\n const index = fileList.value.indexOf(file);\r\n if (index > -1) {\r\n fileList.value.splice(index, 1);\r\n emit('handleRemove', { file, index });\r\n return props.onRemove?.(file, uploadFiles);\r\n }\r\n })\r\n .catch(() => {});\r\n};\r\n\r\nconst uploadFileRef = ref<UploadInstance>();\r\nconst pasteFileRef = ref<HTMLElement>();\r\n/* 手动上传 */\r\nconst submit = () => {\r\n uploadFileRef.value!.submit();\r\n};\r\n\r\n/** 取消上传 */\r\nconst abort = (file: UploadFile) => {\r\n uploadFileRef.value!.abort(file);\r\n};\r\n\r\n/** 清空已上传的文件列表 */\r\nconst clearFiles = (status?: UploadStatus[]) => {\r\n uploadFileRef.value!.clearFiles(status);\r\n};\r\n\r\n/** 手动选择文件 */\r\nconst handleStart = (rawFile: UploadRawFile) => {\r\n uploadFileRef.value!.handleStart(rawFile);\r\n};\r\n\r\n/** 预览 */\r\nconst dialogVisible = ref(false);\r\nconst fileIndex = ref(0);\r\nconst handlePreview = (file: UploadFile) => {\r\n fileIndex.value = fileList.value.indexOf(file);\r\n dialogVisible.value = true;\r\n};\r\n\r\n//** 复制粘贴 */\r\nconst { onSuccess, onError } = usePasteFile(pasteFileRef, { accept: props.accept, disabled: props.disabled });\r\nonSuccess((files: File[]) => {\r\n if (Array.isArray(files) && files.length > 0) {\r\n files.forEach(file => {\r\n if (file instanceof File) {\r\n const rawFile = file as UploadRawFile;\r\n handleStart(rawFile);\r\n\r\n // 粘贴成功自动上传\r\n if (props.autoUpload) {\r\n submit();\r\n }\r\n }\r\n });\r\n }\r\n});\r\n\r\nonError((error: Error) => {\r\n console.error('粘贴错误:', error);\r\n ElMessageBox.alert(error.message, '提示', {\r\n type: 'error',\r\n });\r\n});\r\n\r\ndefineExpose({\r\n submit,\r\n abort,\r\n clearFiles,\r\n handleStart,\r\n uploadFileRef,\r\n});\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.gm-upload-preview-dialog {\r\n :deep(.el-dialog__body) {\r\n padding: 0;\r\n }\r\n}\r\n.gm-upload-file-picture-card {\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}\r\n</style>\r\n<style lang=\"scss\">\r\n.gm-upload-file {\r\n line-height: normal;\r\n .el-checkbox {\r\n position: absolute;\r\n left: 10px;\r\n top: 0;\r\n z-index: 9;\r\n }\r\n .el-upload-list__item-file-name {\r\n line-height: normal;\r\n }\r\n .el-upload-dragger {\r\n padding: 0;\r\n border: none;\r\n width: 100%;\r\n height: 100%;\r\n display: flex;\r\n }\r\n}\r\n.gm-upload-file-disabled {\r\n .el-upload--picture-card {\r\n display: none;\r\n }\r\n .el-upload-list__item-status-label {\r\n display: none;\r\n }\r\n}\r\n</style>\r\n"],"names":["useAliossHookStore","_useModel","file","fileValidType","ElMessageBox","ref","usePasteFile"],"mappings":"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"}
@@ -1 +1 @@
1
- export declare const version = "0.6.4";
1
+ export declare const version = "0.6.5";
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const version = "0.6.4";
3
+ const version = "0.6.5";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.6.4';\n"],"names":[],"mappings":";;AAAO,MAAM,OAAU,GAAA;;;;"}
1
+ {"version":3,"file":"version.js","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.6.5';\n"],"names":[],"mappings":";;AAAO,MAAM,OAAU,GAAA;;;;"}
package/lib/index.css CHANGED
@@ -801,6 +801,11 @@ video {
801
801
  .gm-group:hover .group-hover\:gm-block {
802
802
  display: block;
803
803
  }
804
+
805
+ .gm-range-number .el-form-item[data-v-11c39847] {
806
+ margin: 0;
807
+ }
808
+
804
809
  .gm-flex-center[data-v-2a79bac9] {
805
810
  align-items: center;
806
811
  }
@@ -808,42 +813,23 @@ video {
808
813
  .gm-flex-justify-between[data-v-2a79bac9] {
809
814
  justify-content: space-between;
810
815
  }
811
- .gm-upload-preview-dialog[data-v-3bf7f50d] [data-v-3bf7f50d] .el-dialog__body {
812
- padding: 0;
813
- }
814
-
815
- .gm-upload-file-picture-card[data-v-3bf7f50d] [data-v-3bf7f50d] .el-upload-list__item, .gm-upload-file-picture-card[data-v-3bf7f50d] [data-v-3bf7f50d] .el-upload--picture-card {
816
- width: 120px;
817
- height: 120px;
818
- display: flex;
819
- align-items: center;
820
- justify-content: center;
821
- }
822
- .gm-upload-file {
823
- line-height: normal;
824
- }
825
- .gm-upload-file .el-checkbox {
826
- position: absolute;
827
- left: 10px;
828
- top: 0;
829
- z-index: 9;
830
- }
831
- .gm-upload-file .el-upload-list__item-file-name {
832
- line-height: normal;
816
+ .gm-number-interval-single[data-v-47a13fd0] {
817
+ border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
818
+ box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
819
+ background-color: var(--el-input-bg-color, var(--el-fill-color-blank));
833
820
  }
834
- .gm-upload-file .el-upload-dragger {
835
- padding: 0;
836
- border: none;
837
- width: 100%;
838
- height: 100%;
839
- display: flex;
821
+ .gm-number-interval-single[data-v-47a13fd0] [data-v-47a13fd0] .el-input__wrapper {
822
+ box-shadow: none;
823
+ background: none;
840
824
  }
841
825
 
842
- .gm-upload-file-disabled .el-upload--picture-card {
826
+ .gm-number-interval-close[data-v-47a13fd0] {
843
827
  display: none;
828
+ color: var(--el-input-icon-color, var(--el-text-color-placeholder));
844
829
  }
845
- .gm-upload-file-disabled .el-upload-list__item-status-label {
846
- display: none;
830
+
831
+ .gm-number-interval-single[data-v-47a13fd0]:hover .gm-number-interval-close[data-v-47a13fd0] {
832
+ display: flex;
847
833
  }
848
834
  .circular[data-v-b391445c] {
849
835
  animation: loading-rotate-b391445c 2s linear infinite;
@@ -876,15 +862,47 @@ video {
876
862
  stroke-dashoffset: -120px;
877
863
  }
878
864
  }
879
-
880
- .gm-range-number .el-form-item[data-v-11c39847] {
881
- margin: 0;
882
- }
883
-
884
865
  [data-v-7b6755e2] .gmSearchForm .el-form-item {
885
866
  margin-right: 0;
886
867
  margin-bottom: 4px;
887
868
  }
869
+ .gm-upload-file {
870
+ line-height: normal;
871
+ }
872
+ .gm-upload-file .el-checkbox {
873
+ position: absolute;
874
+ left: 10px;
875
+ top: 0;
876
+ z-index: 9;
877
+ }
878
+ .gm-upload-file .el-upload-list__item-file-name {
879
+ line-height: normal;
880
+ }
881
+ .gm-upload-file .el-upload-dragger {
882
+ padding: 0;
883
+ border: none;
884
+ width: 100%;
885
+ height: 100%;
886
+ display: flex;
887
+ }
888
+
889
+ .gm-upload-file-disabled .el-upload--picture-card {
890
+ display: none;
891
+ }
892
+ .gm-upload-file-disabled .el-upload-list__item-status-label {
893
+ display: none;
894
+ }
895
+ .gm-upload-preview-dialog[data-v-855a2d4b] [data-v-855a2d4b] .el-dialog__body {
896
+ padding: 0;
897
+ }
898
+
899
+ .gm-upload-file-picture-card[data-v-855a2d4b] [data-v-855a2d4b] .el-upload-list__item, .gm-upload-file-picture-card[data-v-855a2d4b] [data-v-855a2d4b] .el-upload--picture-card {
900
+ width: 120px;
901
+ height: 120px;
902
+ display: flex;
903
+ align-items: center;
904
+ justify-content: center;
905
+ }
888
906
  [data-v-668dc408] .gmTableNoBorder .el-table__body .el-table__cell {
889
907
  border-right: none;
890
908
  }
@@ -916,22 +934,3 @@ video {
916
934
  .pagination-container.hidden[data-v-19230954] {
917
935
  display: none;
918
936
  }
919
-
920
- .gm-number-interval-single[data-v-47a13fd0] {
921
- border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
922
- box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
923
- background-color: var(--el-input-bg-color, var(--el-fill-color-blank));
924
- }
925
- .gm-number-interval-single[data-v-47a13fd0] [data-v-47a13fd0] .el-input__wrapper {
926
- box-shadow: none;
927
- background: none;
928
- }
929
-
930
- .gm-number-interval-close[data-v-47a13fd0] {
931
- display: none;
932
- color: var(--el-input-icon-color, var(--el-text-color-placeholder));
933
- }
934
-
935
- .gm-number-interval-single[data-v-47a13fd0]:hover .gm-number-interval-close[data-v-47a13fd0] {
936
- display: flex;
937
- }
@@ -4,6 +4,7 @@ export interface CreateAxiosConfig extends CreateAxiosDefaults {
4
4
  /**服务器调用成功的code 一般是 0 或 200 */
5
5
  successCode: number;
6
6
  hideAuthorization?: boolean;
7
+ isUseParamsToken?: boolean;
7
8
  }
8
9
  export declare const createAxios: (config: CreateAxiosConfig, options?: {
9
10
  requestInterceptors?: ((config: InternalAxiosRequestConfig<any>) => any) | undefined;
@@ -11,6 +11,7 @@ var errorMessage = require('./errorMessage.js');
11
11
  const createAxios = (config, options) => {
12
12
  const successCode = config.successCode ?? 0;
13
13
  const hideAuthorization = config.hideAuthorization ?? false;
14
+ const isUseParamsToken = config.isUseParamsToken ?? false;
14
15
  const service = axios.create({
15
16
  withCredentials: true,
16
17
  // send cookies when cross-domain requests
@@ -30,8 +31,10 @@ const createAxios = (config, options) => {
30
31
  config2.params = {};
31
32
  }
32
33
  if (!hideAuthorization) {
33
- config2.params._token = _token;
34
- config2.params._user = _user;
34
+ if (isUseParamsToken) {
35
+ config2.params._token = _token;
36
+ config2.params._user = _user;
37
+ }
35
38
  if (_token) {
36
39
  config2.headers.Authorization = `Bearer ${_token}`;
37
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createAxios.js","sources":["../../../../../../packages/utils/src/http/createAxios.ts"],"sourcesContent":["import axios from 'axios';\nimport { ElMessage } from 'element-plus';\nimport Cookies from 'js-cookie';\nimport { useLoginStore } from '@giime/hooks/store/useLogin';\nimport { isNumber } from '../is';\nimport { res401Interceptors } from './interceptors';\nimport { responseErrorMessage } from './errorMessage';\nimport type { AxiosError, CreateAxiosDefaults, InternalAxiosRequestConfig } from 'axios';\nexport interface CreateAxiosConfig extends CreateAxiosDefaults {\n baseURL: string;\n /**服务器调用成功的code 一般是 0 或 200 */\n successCode: number;\n // 是否隐藏Authorization\n hideAuthorization?: boolean;\n}\n\nexport const createAxios = (\n config: CreateAxiosConfig,\n options?: {\n requestInterceptors?: (config: InternalAxiosRequestConfig<any>) => any;\n },\n) => {\n const successCode = config.successCode ?? 0;\n const hideAuthorization = config.hideAuthorization ?? false;\n const service = axios.create({\n withCredentials: true, // send cookies when cross-domain requests\n timeout: 120_000,\n headers: {\n 'content-type': 'application/json',\n Accept: '*/*',\n },\n ...config,\n });\n\n // 请求拦截器\n service.interceptors.request.use(\n async config => {\n const logingStore = useLoginStore();\n const _token = Cookies.get('token') ?? logingStore.userToken;\n const _user = Cookies.get('sso_user_id') ?? logingStore.userId;\n if (!config.params) {\n config.params = {};\n }\n if (!hideAuthorization) {\n config.params._token = _token;\n config.params._user = _user;\n if (_token) {\n config.headers.Authorization = `Bearer ${_token}`;\n }\n }\n\n await options?.requestInterceptors?.(config);\n return config;\n },\n error => {\n console.error('请求错误', error); // for debug\n return Promise.reject(error);\n },\n );\n // 添加响应拦截器\n service.interceptors.response.use(\n async response => {\n // 对响应数据做点什么\n const res = response.data;\n const msg = (res?.comment ?? res?.message ?? res?.errMsg ?? res?.msg) || '接口请求错误';\n if (!isNumber(res?.code)) {\n return response;\n }\n // 成功情况\n else if (res.code === successCode || res.errCode === successCode) {\n return response;\n }\n // 401\n else if (res.code === 401) {\n const res = await res401Interceptors(service, response.config);\n return res;\n }\n ElMessage({\n message: msg,\n type: 'error',\n grouping: true,\n duration: 5 * 1000,\n showClose: true,\n });\n return Promise.reject(response);\n // return response;\n },\n async (err: AxiosError) => {\n console.error(err);\n if (err?.response?.status === 401 && !err.message.includes('timeout')) {\n const res = await res401Interceptors(service, err.config!);\n return res;\n } else {\n // 对响应错误做点什么\n responseErrorMessage(err);\n return Promise.reject(err);\n }\n },\n );\n\n return {\n service,\n };\n};\n"],"names":["config","useLoginStore","isNumber","res","res401Interceptors","ElMessage","responseErrorMessage"],"mappings":"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"}
1
+ {"version":3,"file":"createAxios.js","sources":["../../../../../../packages/utils/src/http/createAxios.ts"],"sourcesContent":["import axios from 'axios';\nimport { ElMessage } from 'element-plus';\nimport Cookies from 'js-cookie';\nimport { useLoginStore } from '@giime/hooks/store/useLogin';\nimport { isNumber } from '../is';\nimport { res401Interceptors } from './interceptors';\nimport { responseErrorMessage } from './errorMessage';\nimport type { AxiosError, CreateAxiosDefaults, InternalAxiosRequestConfig } from 'axios';\nexport interface CreateAxiosConfig extends CreateAxiosDefaults {\n baseURL: string;\n /**服务器调用成功的code 一般是 0 或 200 */\n successCode: number;\n // 是否隐藏Authorization\n hideAuthorization?: boolean;\n // 是否使用params传递token\n isUseParamsToken?: boolean;\n}\n\nexport const createAxios = (\n config: CreateAxiosConfig,\n options?: {\n requestInterceptors?: (config: InternalAxiosRequestConfig<any>) => any;\n },\n) => {\n const successCode = config.successCode ?? 0;\n const hideAuthorization = config.hideAuthorization ?? false;\n const isUseParamsToken = config.isUseParamsToken ?? false;\n const service = axios.create({\n withCredentials: true, // send cookies when cross-domain requests\n timeout: 120_000,\n headers: {\n 'content-type': 'application/json',\n Accept: '*/*',\n },\n ...config,\n });\n\n // 请求拦截器\n service.interceptors.request.use(\n async config => {\n const logingStore = useLoginStore();\n const _token = Cookies.get('token') ?? logingStore.userToken;\n const _user = Cookies.get('sso_user_id') ?? logingStore.userId;\n if (!config.params) {\n config.params = {};\n }\n // 是否隐藏Authorization\n if (!hideAuthorization) {\n // 是否使用params传递token\n if (isUseParamsToken) {\n config.params._token = _token;\n config.params._user = _user;\n }\n\n if (_token) {\n config.headers.Authorization = `Bearer ${_token}`;\n }\n }\n\n await options?.requestInterceptors?.(config);\n return config;\n },\n error => {\n console.error('请求错误', error); // for debug\n return Promise.reject(error);\n },\n );\n // 添加响应拦截器\n service.interceptors.response.use(\n async response => {\n // 对响应数据做点什么\n const res = response.data;\n const msg = (res?.comment ?? res?.message ?? res?.errMsg ?? res?.msg) || '接口请求错误';\n if (!isNumber(res?.code)) {\n return response;\n }\n // 成功情况\n else if (res.code === successCode || res.errCode === successCode) {\n return response;\n }\n // 401\n else if (res.code === 401) {\n const res = await res401Interceptors(service, response.config);\n return res;\n }\n ElMessage({\n message: msg,\n type: 'error',\n grouping: true,\n duration: 5 * 1000,\n showClose: true,\n });\n return Promise.reject(response);\n // return response;\n },\n async (err: AxiosError) => {\n console.error(err);\n if (err?.response?.status === 401 && !err.message.includes('timeout')) {\n const res = await res401Interceptors(service, err.config!);\n return res;\n } else {\n // 对响应错误做点什么\n responseErrorMessage(err);\n return Promise.reject(err);\n }\n },\n );\n\n return {\n service,\n };\n};\n"],"names":["config","useLoginStore","isNumber","res","res401Interceptors","ElMessage","responseErrorMessage"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "giime",
3
- "version": "0.6.4",
3
+ "version": "0.6.5",
4
4
  "description": "A Component Library for Vue 3",
5
5
  "keywords": [
6
6
  "giime",