giime 0.7.6 → 0.7.7
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 +105 -105
- package/es/api/resource/controller/ZiYuanGuanLi/index.d.ts +0 -2
- package/es/api/resource/controller/ZiYuanGuanLi/index.mjs +0 -2
- package/es/api/resource/controller/ZiYuanGuanLi/index.mjs.map +1 -1
- package/es/api/resource/controller/ZiYuanGuanLi/postResourceV1ResourcesUrl.d.ts +5 -1
- package/es/api/resource/controller/ZiYuanGuanLi/postResourceV1ResourcesUrl.mjs.map +1 -1
- package/es/api/resource/controller/ZiYuanGuanLi/usePostResourceV1ResourcesUrl.d.ts +81 -1
- package/es/api/resource/controller/ZiYuanGuanLi/usePostResourceV1ResourcesUrl.mjs.map +1 -1
- package/es/api/resource/controller/index.mjs +0 -2
- package/es/api/resource/controller/index.mjs.map +1 -1
- package/es/api/resource/interface/apiTypes/GenerateUploadUrlRequest.d.ts +1 -1
- package/es/api/resource/interface/apiTypes/RMapStringObject.d.ts +13 -0
- package/es/api/resource/interface/apiTypes/RMapStringObject.mjs +2 -0
- package/es/api/resource/interface/apiTypes/RMapStringObject.mjs.map +1 -0
- package/es/api/resource/interface/apiTypes/ResourceUrlResponse.d.ts +8 -0
- package/es/api/resource/interface/apiTypes/Rurl.d.ts +10 -0
- package/es/api/resource/interface/apiTypes/Rurl.mjs +2 -0
- package/es/api/resource/interface/apiTypes/Rurl.mjs.map +1 -0
- package/es/api/resource/interface/index.d.ts +2 -0
- package/es/api/resource/interface/index.mjs +2 -0
- package/es/api/resource/interface/index.mjs.map +1 -1
- package/es/components/src/business/uploadPro/UploadPro.vue.d.ts +225 -225
- package/es/components/src/business/uploadPro/UploadPro.vue.mjs +1 -1
- package/es/components/src/business/uploadPro/UploadPro.vue2.mjs +1 -1
- package/es/components/src/business/uploadPro/UploadPro.vue2.mjs.map +1 -1
- package/es/components/src/business/uploadPro/index.d.ts +16 -16
- package/es/components/src/business/uploadPro/uploadPro.d.ts +31 -31
- package/es/components/src/business/uploadPro/uploadPro.mjs.map +1 -1
- package/es/components/src/composite/uploadFile/UploadFile.vue.d.ts +1 -1
- package/es/components/src/composite/uploadFile/index.d.ts +3 -3
- package/es/giime/version.d.ts +1 -1
- package/es/giime/version.mjs +1 -1
- package/es/giime/version.mjs.map +1 -1
- package/es/hooks/base/useUploadFile/index.d.ts +15 -1
- package/es/hooks/base/useUploadFile/index.mjs +1 -0
- package/es/hooks/base/useUploadFile/index.mjs.map +1 -1
- package/es/index.css +105 -105
- package/lib/api/resource/controller/ZiYuanGuanLi/index.d.ts +0 -2
- package/lib/api/resource/controller/ZiYuanGuanLi/index.js +0 -4
- package/lib/api/resource/controller/ZiYuanGuanLi/index.js.map +1 -1
- package/lib/api/resource/controller/ZiYuanGuanLi/postResourceV1ResourcesUrl.d.ts +5 -1
- package/lib/api/resource/controller/ZiYuanGuanLi/postResourceV1ResourcesUrl.js.map +1 -1
- package/lib/api/resource/controller/ZiYuanGuanLi/usePostResourceV1ResourcesUrl.d.ts +81 -1
- package/lib/api/resource/controller/ZiYuanGuanLi/usePostResourceV1ResourcesUrl.js.map +1 -1
- package/lib/api/resource/controller/index.js +0 -4
- package/lib/api/resource/controller/index.js.map +1 -1
- package/lib/api/resource/interface/apiTypes/GenerateUploadUrlRequest.d.ts +1 -1
- package/lib/api/resource/interface/apiTypes/RMapStringObject.d.ts +13 -0
- package/lib/api/resource/interface/apiTypes/RMapStringObject.js +3 -0
- package/lib/api/resource/interface/apiTypes/RMapStringObject.js.map +1 -0
- package/lib/api/resource/interface/apiTypes/ResourceUrlResponse.d.ts +8 -0
- package/lib/api/resource/interface/apiTypes/Rurl.d.ts +10 -0
- package/lib/api/resource/interface/apiTypes/Rurl.js +3 -0
- package/lib/api/resource/interface/apiTypes/Rurl.js.map +1 -0
- package/lib/api/resource/interface/index.d.ts +2 -0
- package/lib/api/resource/interface/index.js +2 -0
- package/lib/api/resource/interface/index.js.map +1 -1
- package/lib/components/src/business/uploadPro/UploadPro.vue.d.ts +225 -225
- package/lib/components/src/business/uploadPro/UploadPro.vue.js +1 -1
- package/lib/components/src/business/uploadPro/UploadPro.vue2.js +1 -1
- package/lib/components/src/business/uploadPro/UploadPro.vue2.js.map +1 -1
- package/lib/components/src/business/uploadPro/index.d.ts +16 -16
- package/lib/components/src/business/uploadPro/uploadPro.d.ts +31 -31
- package/lib/components/src/business/uploadPro/uploadPro.js.map +1 -1
- package/lib/components/src/composite/uploadFile/UploadFile.vue.d.ts +1 -1
- package/lib/components/src/composite/uploadFile/index.d.ts +3 -3
- package/lib/giime/version.d.ts +1 -1
- package/lib/giime/version.js +1 -1
- package/lib/giime/version.js.map +1 -1
- package/lib/hooks/base/useUploadFile/index.d.ts +15 -1
- package/lib/hooks/base/useUploadFile/index.js +1 -0
- package/lib/hooks/base/useUploadFile/index.js.map +1 -1
- package/lib/index.css +105 -105
- package/package.json +1 -1
- package/es/api/resource/controller/ZiYuanGuanLi/getResourceV1ResourcesUrl.d.ts +0 -46
- package/es/api/resource/controller/ZiYuanGuanLi/getResourceV1ResourcesUrl.mjs +0 -24
- package/es/api/resource/controller/ZiYuanGuanLi/getResourceV1ResourcesUrl.mjs.map +0 -1
- package/es/api/resource/controller/ZiYuanGuanLi/useGetResourceV1ResourcesUrl.d.ts +0 -225
- package/es/api/resource/controller/ZiYuanGuanLi/useGetResourceV1ResourcesUrl.mjs +0 -34
- package/es/api/resource/controller/ZiYuanGuanLi/useGetResourceV1ResourcesUrl.mjs.map +0 -1
- package/lib/api/resource/controller/ZiYuanGuanLi/getResourceV1ResourcesUrl.d.ts +0 -46
- package/lib/api/resource/controller/ZiYuanGuanLi/getResourceV1ResourcesUrl.js +0 -26
- package/lib/api/resource/controller/ZiYuanGuanLi/getResourceV1ResourcesUrl.js.map +0 -1
- package/lib/api/resource/controller/ZiYuanGuanLi/useGetResourceV1ResourcesUrl.d.ts +0 -225
- package/lib/api/resource/controller/ZiYuanGuanLi/useGetResourceV1ResourcesUrl.js +0 -36
- package/lib/api/resource/controller/ZiYuanGuanLi/useGetResourceV1ResourcesUrl.js.map +0 -1
|
@@ -3,7 +3,7 @@ import './UploadPro.vue3.mjs';
|
|
|
3
3
|
import './UploadPro.vue4.mjs';
|
|
4
4
|
import _export_sfc from '../../../../_virtual/_plugin-vue_export-helper.mjs';
|
|
5
5
|
|
|
6
|
-
var UploadPro = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
6
|
+
var UploadPro = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-40d129e4"]]);
|
|
7
7
|
|
|
8
8
|
export { UploadPro as default };
|
|
9
9
|
//# sourceMappingURL=UploadPro.vue.mjs.map
|
|
@@ -9,7 +9,7 @@ import { uploadFileProProps } from './uploadPro.mjs';
|
|
|
9
9
|
import { getGmExports } from '../../../../utils/src/elementPlus/exports.mjs';
|
|
10
10
|
import { useUploadFile } from '../../../../hooks/base/useUploadFile/index.mjs';
|
|
11
11
|
|
|
12
|
-
const _withScopeId = (n) => (pushScopeId("data-v-
|
|
12
|
+
const _withScopeId = (n) => (pushScopeId("data-v-40d129e4"), n = n(), popScopeId(), n);
|
|
13
13
|
const _hoisted_1 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode(
|
|
14
14
|
"div",
|
|
15
15
|
{ class: "el-upload__text gm-text-center !gm-text-xs gm-text-gray-500" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadPro.vue2.mjs","sources":["../../../../../../../packages/components/src/business/uploadPro/UploadPro.vue"],"sourcesContent":["<template>\n <div>\n <div\n v-loading=\"uploadLoading\"\n ref=\"pasteFileRef\"\n :class=\"{ 'gm-upload-pro-file-picture-card': listType === 'picture-card', 'gm-upload-pro-file-disabled': disabled }\"\n class=\"gm-upload-pro-file\"\n >\n <el-checkbox-group v-model=\"checkoutFiles\">\n <el-upload\n ref=\"uploadFileRef\"\n v-bind=\"props\"\n v-model:file-list=\"fileList\"\n :before-remove=\"beforeRemove\"\n action=\"\"\n :http-request=\"httpRequest\"\n :on-success=\"coverFileSuccess\"\n :on-error=\"coverFileError\"\n >\n <slot v-if=\"!disabled\">\n <template v-if=\"listType === 'picture-card'\">\n <div\n class=\"gm-flex gm-flex-col gm-items-center gm-justify-center gm-rounded-md gm-border gm-border-dashed gm-p-1\"\n style=\"flex-direction: column\"\n :style=\"{ width: width + 'px', height: height + 'px' }\"\n >\n <el-icon :size=\"30\" color=\"#999\">\n <UploadFilled />\n </el-icon>\n <div class=\"el-upload__text gm-text-center !gm-text-xs gm-text-gray-500\">\n 将文件拖到此处,复制粘贴,或 <em class=\"gm-text-blue-700\">点击上传</em>\n </div>\n </div>\n </template>\n <template v-else>\n <el-button type=\"primary\" size=\"default\">点击上传</el-button>\n </template>\n </slot>\n <template v-if=\"showFileList && listType === 'picture-card'\" #file=\"{ file }\">\n <el-checkbox v-if=\"checkbox && !disabledCheckboxUids.includes(file.uid)\" :value=\"file\" />\n\n <slot name=\"file\" :file=\"file\">\n <div class=\"gm-flex gm-items-center gm-justify-center gm-rounded-md\" :style=\"{ width: width + 'px', height: height + 'px' }\">\n <el-progress\n v-if=\"file.status === 'uploading' || loadingUids.has(file.uid)\"\n :type=\"listType === 'picture-card' ? 'circle' : 'line'\"\n :stroke-width=\"listType === 'picture-card' ? 6 : 2\"\n :percentage=\"Number(file.percentage)\"\n :style=\"\n listType === 'picture-card'\n ? {\n width: width - 20 + 'px',\n height: width - 20 + 'px',\n }\n : 'margin-top: 0.5rem'\n \"\n :width=\"width - 20\"\n />\n\n <GmFileComponent v-else :file=\"file\" :size=\"width - 40\" :controls=\"false\" :show-icon=\"true\" />\n </div>\n <div class=\"el-upload-list__item-actions\">\n <span class=\"el-upload-list__item-preview\" @click=\"handlePreview(file)\">\n <el-icon><View /></el-icon>\n </span>\n <span\n v-if=\"showDelete && !disabledDeleteUids.includes(file.uid)\"\n class=\"el-upload-list__item-delete\"\n @click=\"handleRemove(file, fileList)\"\n >\n <el-icon><Delete /></el-icon>\n </span>\n </div>\n </slot>\n </template>\n <template v-else #file=\"slotValue\">\n <slot name=\"file\" v-bind=\"slotValue\" />\n </template>\n <template v-if=\"slots.trigger\" #trigger>\n <slot name=\"trigger\" />\n </template>\n <template v-if=\"slots.tip\" #tip>\n <div class=\"gm-text-sm\">\n <slot name=\"tip\" />\n </div>\n </template>\n </el-upload>\n </el-checkbox-group>\n\n <GmPreviewFile v-model:dialogVisible=\"dialogVisible\" v-model:file-index=\"fileIndex\" :file-list=\"fileList\" />\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ElMessageBox } from 'element-plus';\nimport { computed, ref, useSlots } from 'vue';\n// import { fileValidType } from '@giime/utils/src/file';\n// import { pasteFile } from '@giime/utils/src/pasteFile';\nimport { usePasteFile } from '@giime/hooks/base/usePasteFile';\nimport { GmConfirmBox } from '@giime/components/src/plugins/confirmBox';\nimport { Delete, UploadFilled, View } from '@element-plus/icons-vue';\nimport GmFileComponent from '../../composite/fileComponent';\nimport GmPreviewFile from '../../composite/previewFile';\nimport { GmUploadProUserFile, GmUploadProUserFileResponse, uploadFileProProps } from './uploadPro';\nimport type { UploadFile, UploadFiles, UploadInstance, UploadProps, UploadRawFile, UploadUserFile } from 'element-plus';\nimport { getGmExports } from '@giime/utils/src/elementPlus/exports';\nimport { useUploadFile } from '@giime/hooks/base/useUploadFile';\n\ndefineOptions({\n name: 'GmUploadPro',\n});\nconst slots = useSlots();\n\nconst props = defineProps(uploadFileProProps);\nconst emit = defineEmits([\"handleRemove\"]);\n\n/** 上传文件 */\nconst fileList = defineModel<UploadUserFile[]>('fileList', { required: true });\n/** 多选数据 */\nconst checkoutFiles = defineModel<any[]>('checkoutFiles', { default: () => [] });\n/**上传功能 */\nconst { uploadFile, cancelUpload } = useUploadFile();\n\nconst loadingUids = ref<Set<number>>(new Set());\nconst uploadLoading = computed(() => props.showLoading && loadingUids.value.size > 0);\n\n/* 上传 */\nconst httpRequest: UploadProps['httpRequest'] = async options => {\n loadingUids.value.add(options.file.uid);\n return uploadFile(options.file, {\n domainCode: props.domainCode,\n sceneCode: props.sceneCode,\n accept: props.accept,\n acl: props.acl,\n elOptions: options,\n });\n};\n\n/**判断是否全部上传完成 并触发事件 */\nconst checkAllUploadComplete = () => {\n if (loadingUids.value.size === 0) {\n // 全部文件上传完成\n props.onAllComplete?.();\n }\n};\n// 上传成功\nconst coverFileSuccess: UploadProps['onSuccess'] = (response: GmUploadProUserFileResponse, uploadFile, uploadFiles) => {\n loadingUids.value.delete(uploadFile.uid);\n uploadFile.url = response.url;\n props.onSuccess?.(response, uploadFile, uploadFiles);\n // 判断是否全部上传完成\n checkAllUploadComplete();\n};\n// 上传失败\nconst coverFileError: UploadProps['onError'] = (error, uploadFile, uploadFiles) => {\n loadingUids.value.delete(uploadFile.uid);\n props.onError?.(error, uploadFile, uploadFiles);\n // 判断是否全部上传完成\n checkAllUploadComplete();\n};\n\n/* 删除文件前 */\nconst beforeRemove: UploadProps['beforeRemove'] = async (file, files) => {\n if (props.disabled) {\n return false;\n }\n if (props.deleteTip) {\n await GmConfirmBox({ message: '确定删除该文件吗?' }, async () => {});\n }\n // 如果文件正在上传,取消上传请求\n if (file.status === 'uploading' || loadingUids.value.has(file.uid)) {\n cancelUpload(file.uid);\n loadingUids.value.delete(file.uid);\n // 判断是否全部上传完成\n checkAllUploadComplete();\n }\n return props.beforeRemove?.(file, files) ?? true;\n};\n\n/* 删除文件 */\nconst removeFile = (file: UploadFile, uploadFiles: UploadFiles) => {\n // 如果文件正在上传,取消上传请求\n if (file.status === 'uploading' || loadingUids.value.has(file.uid)) {\n cancelUpload(file.uid);\n loadingUids.value.delete(file.uid);\n // 判断是否全部上传完成\n checkAllUploadComplete();\n }\n\n const index = fileList.value.indexOf(file);\n if (index > -1) {\n fileList.value.splice(index, 1);\n emit('handleRemove', { file, index });\n return props.onRemove?.(file, uploadFiles);\n }\n};\n/**点击删除图标 */\nconst handleRemove = async (file: UploadFile, uploadFiles: UploadUserFile[]) => {\n if (props.deleteTip) {\n await GmConfirmBox({ message: '确定删除该文件吗?' }, async () => {});\n }\n\n removeFile(file, uploadFiles as UploadFiles);\n};\n\nconst uploadFileRef = ref<UploadInstance>();\nconst exposeEvents = ['abort', 'submit', 'clearFiles', 'handleStart', 'handleRemove'] as const;\nconst { exposeFns } = getGmExports(uploadFileRef, exposeEvents);\n\nconst pasteFileRef = ref<HTMLElement>();\n\n/** 预览 */\nconst dialogVisible = ref(false);\nconst fileIndex = ref(0);\n/**点击预览 */\nconst handlePreview = (file: UploadFile) => {\n fileIndex.value = fileList.value.indexOf(file);\n dialogVisible.value = true;\n};\n\n//** 复制粘贴 */\nconst { onSuccess, onError } = usePasteFile(pasteFileRef, { accept: props.accept, disabled: props.disabled });\nonSuccess((files: File[]) => {\n if (props.disabled) {\n return;\n }\n if (Array.isArray(files) && files.length > 0) {\n files.forEach(file => {\n if (file instanceof File) {\n const rawFile = file as UploadRawFile;\n uploadFileRef.value?.handleStart(rawFile);\n\n // 粘贴成功自动上传\n if (props.autoUpload) {\n uploadFileRef.value?.submit();\n }\n }\n });\n }\n});\n/**粘贴失败 */\nonError((error: Error) => {\n console.error('粘贴错误:', error);\n ElMessageBox.alert(error.message, '提示', {\n type: 'error',\n });\n});\ndefineExpose({\n ...exposeFns,\n uploadFileRef,\n loadingUids,\n});\n</script>\n\n<style scoped lang=\"scss\">\n.gm-upload-pro-preview-dialog {\n :deep(.el-dialog__body) {\n padding: 0;\n }\n}\n.gm-upload-pro-file-picture-card {\n :deep(.el-upload-list__item),\n :deep(.el-upload--picture-card) {\n width: auto;\n height: auto;\n }\n}\n</style>\n<style lang=\"scss\">\n.gm-upload-pro-file {\n line-height: normal;\n .el-checkbox-group {\n font-size: unset;\n }\n .el-checkbox {\n position: absolute;\n left: 10px;\n top: 0;\n z-index: 9;\n }\n .el-upload-list--picture-card {\n gap: 10px;\n }\n .el-upload-list__item {\n margin: 0;\n }\n .el-upload-list__item-file-name {\n line-height: 1.7;\n }\n .el-upload-dragger {\n padding: 0;\n border: none;\n width: 100%;\n height: 100%;\n display: flex;\n }\n .el-upload--picture-card {\n border: none;\n }\n}\n.gm-upload-pro-file-disabled {\n .el-upload--picture-card {\n display: none;\n }\n .el-upload-list__item-status-label {\n display: none;\n }\n}\n</style>\n"],"names":["_useModel","uploadFile"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"UploadPro.vue2.mjs","sources":["../../../../../../../packages/components/src/business/uploadPro/UploadPro.vue"],"sourcesContent":["<template>\n <div>\n <div\n v-loading=\"uploadLoading\"\n ref=\"pasteFileRef\"\n :class=\"{ 'gm-upload-pro-file-picture-card': listType === 'picture-card', 'gm-upload-pro-file-disabled': disabled }\"\n class=\"gm-upload-pro-file\"\n >\n <el-checkbox-group v-model=\"checkoutFiles\">\n <el-upload\n ref=\"uploadFileRef\"\n v-bind=\"props\"\n v-model:file-list=\"fileList\"\n :before-remove=\"beforeRemove\"\n action=\"\"\n :http-request=\"httpRequest\"\n :on-success=\"coverFileSuccess\"\n :on-error=\"coverFileError\"\n >\n <slot v-if=\"!disabled\">\n <template v-if=\"listType === 'picture-card'\">\n <div\n class=\"gm-flex gm-flex-col gm-items-center gm-justify-center gm-rounded-md gm-border gm-border-dashed gm-p-1\"\n style=\"flex-direction: column\"\n :style=\"{ width: width + 'px', height: height + 'px' }\"\n >\n <el-icon :size=\"30\" color=\"#999\">\n <UploadFilled />\n </el-icon>\n <div class=\"el-upload__text gm-text-center !gm-text-xs gm-text-gray-500\">\n 将文件拖到此处,复制粘贴,或 <em class=\"gm-text-blue-700\">点击上传</em>\n </div>\n </div>\n </template>\n <template v-else>\n <el-button type=\"primary\" size=\"default\">点击上传</el-button>\n </template>\n </slot>\n <template v-if=\"showFileList && listType === 'picture-card'\" #file=\"{ file }\">\n <el-checkbox v-if=\"checkbox && !disabledCheckboxUids.includes(file.uid)\" :value=\"file\" />\n\n <slot name=\"file\" :file=\"file\">\n <div class=\"gm-flex gm-items-center gm-justify-center gm-rounded-md\" :style=\"{ width: width + 'px', height: height + 'px' }\">\n <el-progress\n v-if=\"file.status === 'uploading' || loadingUids.has(file.uid)\"\n :type=\"listType === 'picture-card' ? 'circle' : 'line'\"\n :stroke-width=\"listType === 'picture-card' ? 6 : 2\"\n :percentage=\"Number(file.percentage)\"\n :style=\"\n listType === 'picture-card'\n ? {\n width: width - 20 + 'px',\n height: width - 20 + 'px',\n }\n : 'margin-top: 0.5rem'\n \"\n :width=\"width - 20\"\n />\n\n <GmFileComponent v-else :file=\"file\" :size=\"width - 40\" :controls=\"false\" :show-icon=\"true\" />\n </div>\n <div class=\"el-upload-list__item-actions\">\n <span class=\"el-upload-list__item-preview\" @click=\"handlePreview(file)\">\n <el-icon><View /></el-icon>\n </span>\n <span\n v-if=\"showDelete && !disabledDeleteUids.includes(file.uid)\"\n class=\"el-upload-list__item-delete\"\n @click=\"handleRemove(file, fileList)\"\n >\n <el-icon><Delete /></el-icon>\n </span>\n </div>\n </slot>\n </template>\n <template v-else #file=\"slotValue\">\n <slot name=\"file\" v-bind=\"slotValue\" />\n </template>\n <template v-if=\"slots.trigger\" #trigger>\n <slot name=\"trigger\" />\n </template>\n <template v-if=\"slots.tip\" #tip>\n <div class=\"gm-text-sm\">\n <slot name=\"tip\" />\n </div>\n </template>\n </el-upload>\n </el-checkbox-group>\n\n <GmPreviewFile v-model:dialogVisible=\"dialogVisible\" v-model:file-index=\"fileIndex\" :file-list=\"fileList\" />\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ElMessageBox } from 'element-plus';\nimport { computed, ref, useSlots } from 'vue';\n// import { fileValidType } from '@giime/utils/src/file';\n// import { pasteFile } from '@giime/utils/src/pasteFile';\nimport { usePasteFile } from '@giime/hooks/base/usePasteFile';\nimport { GmConfirmBox } from '@giime/components/src/plugins/confirmBox';\nimport { Delete, UploadFilled, View } from '@element-plus/icons-vue';\nimport GmFileComponent from '../../composite/fileComponent';\nimport GmPreviewFile from '../../composite/previewFile';\nimport { GmUploadProUserFile, GmUploadProUserFileResponse, uploadFileProProps } from './uploadPro';\nimport type { UploadInstance, UploadProps } from 'element-plus';\nimport type { UploadFile, UploadFiles, UploadRawFile, UploadUserFile } from '@giime/hooks/base/useUploadFile';\nimport { getGmExports } from '@giime/utils/src/elementPlus/exports';\nimport { useUploadFile } from '@giime/hooks/base/useUploadFile';\n\ndefineOptions({\n name: 'GmUploadPro',\n});\nconst slots = useSlots();\n\nconst props = defineProps(uploadFileProProps);\nconst emit = defineEmits([\"handleRemove\"]);\n\n/** 上传文件 */\nconst fileList = defineModel<UploadUserFile[]>('fileList', { required: true });\n/** 多选数据 */\nconst checkoutFiles = defineModel<any[]>('checkoutFiles', { default: () => [] });\n/**上传功能 */\nconst { uploadFile, cancelUpload } = useUploadFile();\n\nconst loadingUids = ref<Set<number>>(new Set());\nconst uploadLoading = computed(() => props.showLoading && loadingUids.value.size > 0);\n\n/* 上传 */\nconst httpRequest: UploadProps['httpRequest'] = async options => {\n loadingUids.value.add(options.file.uid);\n return uploadFile(options.file, {\n domainCode: props.domainCode,\n sceneCode: props.sceneCode,\n accept: props.accept,\n acl: props.acl,\n elOptions: options,\n });\n};\n\n/**判断是否全部上传完成 并触发事件 */\nconst checkAllUploadComplete = () => {\n if (loadingUids.value.size === 0) {\n // 全部文件上传完成\n props.onAllComplete?.();\n }\n};\n// 上传成功\nconst coverFileSuccess: UploadProps['onSuccess'] = (response: GmUploadProUserFileResponse, uploadFile, uploadFiles) => {\n loadingUids.value.delete(uploadFile.uid);\n uploadFile.url = response.url;\n props.onSuccess?.(response, uploadFile, uploadFiles);\n // 判断是否全部上传完成\n checkAllUploadComplete();\n};\n// 上传失败\nconst coverFileError: UploadProps['onError'] = (error, uploadFile, uploadFiles) => {\n loadingUids.value.delete(uploadFile.uid);\n props.onError?.(error, uploadFile, uploadFiles);\n // 判断是否全部上传完成\n checkAllUploadComplete();\n};\n\n/* 删除文件前 */\nconst beforeRemove: UploadProps['beforeRemove'] = async (file, files) => {\n if (props.disabled) {\n return false;\n }\n if (props.deleteTip) {\n await GmConfirmBox({ message: '确定删除该文件吗?' }, async () => {});\n }\n // 如果文件正在上传,取消上传请求\n if (file.status === 'uploading' || loadingUids.value.has(file.uid)) {\n cancelUpload(file.uid);\n loadingUids.value.delete(file.uid);\n // 判断是否全部上传完成\n checkAllUploadComplete();\n }\n return props.beforeRemove?.(file, files) ?? true;\n};\n\n/* 删除文件 */\nconst removeFile = (file: UploadFile, uploadFiles: UploadFiles) => {\n // 如果文件正在上传,取消上传请求\n if (file.status === 'uploading' || loadingUids.value.has(file.uid)) {\n cancelUpload(file.uid);\n loadingUids.value.delete(file.uid);\n // 判断是否全部上传完成\n checkAllUploadComplete();\n }\n\n const index = fileList.value.indexOf(file);\n if (index > -1) {\n fileList.value.splice(index, 1);\n emit('handleRemove', { file, index });\n return props.onRemove?.(file, uploadFiles);\n }\n};\n/**点击删除图标 */\nconst handleRemove = async (file: UploadFile, uploadFiles: UploadUserFile[]) => {\n if (props.deleteTip) {\n await GmConfirmBox({ message: '确定删除该文件吗?' }, async () => {});\n }\n\n removeFile(file, uploadFiles as UploadFiles);\n};\n\nconst uploadFileRef = ref<UploadInstance>();\nconst exposeEvents = ['abort', 'submit', 'clearFiles', 'handleStart', 'handleRemove'] as const;\nconst { exposeFns } = getGmExports(uploadFileRef, exposeEvents);\n\nconst pasteFileRef = ref<HTMLElement>();\n\n/** 预览 */\nconst dialogVisible = ref(false);\nconst fileIndex = ref(0);\n/**点击预览 */\nconst handlePreview = (file: UploadFile) => {\n fileIndex.value = fileList.value.indexOf(file);\n dialogVisible.value = true;\n};\n\n//** 复制粘贴 */\nconst { onSuccess, onError } = usePasteFile(pasteFileRef, { accept: props.accept, disabled: props.disabled });\nonSuccess((files: File[]) => {\n if (props.disabled) {\n return;\n }\n if (Array.isArray(files) && files.length > 0) {\n files.forEach(file => {\n if (file instanceof File) {\n const rawFile = file as UploadRawFile;\n uploadFileRef.value?.handleStart(rawFile);\n\n // 粘贴成功自动上传\n if (props.autoUpload) {\n uploadFileRef.value?.submit();\n }\n }\n });\n }\n});\n/**粘贴失败 */\nonError((error: Error) => {\n console.error('粘贴错误:', error);\n ElMessageBox.alert(error.message, '提示', {\n type: 'error',\n });\n});\ndefineExpose({\n ...exposeFns,\n uploadFileRef,\n loadingUids,\n});\n</script>\n\n<style scoped lang=\"scss\">\n.gm-upload-pro-preview-dialog {\n :deep(.el-dialog__body) {\n padding: 0;\n }\n}\n.gm-upload-pro-file-picture-card {\n :deep(.el-upload-list__item),\n :deep(.el-upload--picture-card) {\n width: auto;\n height: auto;\n }\n}\n</style>\n<style lang=\"scss\">\n.gm-upload-pro-file {\n line-height: normal;\n .el-checkbox-group {\n font-size: unset;\n }\n .el-checkbox {\n position: absolute;\n left: 10px;\n top: 0;\n z-index: 9;\n }\n .el-upload-list--picture-card {\n gap: 10px;\n }\n .el-upload-list__item {\n margin: 0;\n }\n .el-upload-list__item-file-name {\n line-height: 1.7;\n }\n .el-upload-dragger {\n padding: 0;\n border: none;\n width: 100%;\n height: 100%;\n display: flex;\n }\n .el-upload--picture-card {\n border: none;\n }\n}\n.gm-upload-pro-file-disabled {\n .el-upload--picture-card {\n display: none;\n }\n .el-upload-list__item-status-label {\n display: none;\n }\n}\n</style>\n"],"names":["_useModel","uploadFile"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ export declare const GmUploadPro: import("../../../../utils").SFCWithInstall<{
|
|
|
3
3
|
new (...args: any[]): import("vue").CreateComponentPublicInstance<Readonly<import("vue").ExtractPropTypes<{
|
|
4
4
|
fileList: {
|
|
5
5
|
required: true;
|
|
6
|
-
type: import("vue").PropType<import("
|
|
6
|
+
type: import("vue").PropType<import("../../../../hooks/index.js").UploadUserFile[]>;
|
|
7
7
|
};
|
|
8
8
|
checkoutFiles: import("vue").PropType<any[]>;
|
|
9
9
|
listType: {
|
|
@@ -171,9 +171,9 @@ export declare const GmUploadPro: import("../../../../utils").SFCWithInstall<{
|
|
|
171
171
|
disabled: BooleanConstructor;
|
|
172
172
|
limit: NumberConstructor;
|
|
173
173
|
}>> & {
|
|
174
|
-
"onUpdate:fileList"?: ((fileList: import("
|
|
174
|
+
"onUpdate:fileList"?: ((fileList: import("../../../../hooks/index.js").UploadUserFile[]) => any) | undefined;
|
|
175
175
|
onHandleRemove?: ((file: {
|
|
176
|
-
file: import("
|
|
176
|
+
file: import("../../../../hooks/index.js").UploadFile;
|
|
177
177
|
index: number;
|
|
178
178
|
}) => any) | undefined;
|
|
179
179
|
"onUpdate:checkoutFiles"?: ((checkoutFiles: any[]) => any) | undefined;
|
|
@@ -660,16 +660,16 @@ export declare const GmUploadPro: import("../../../../utils").SFCWithInstall<{
|
|
|
660
660
|
handleStart: (rawFile: import("element-plus").UploadRawFile) => void;
|
|
661
661
|
handleRemove: (file: import("element-plus").UploadRawFile | import("element-plus").UploadFile, rawFile?: import("element-plus").UploadRawFile | undefined) => void;
|
|
662
662
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
663
|
-
"update:fileList": (fileList: import("
|
|
663
|
+
"update:fileList": (fileList: import("../../../../hooks/index.js").UploadUserFile[]) => void;
|
|
664
664
|
"update:checkoutFiles": (checkoutFiles: any[]) => void;
|
|
665
665
|
handleRemove: (file: {
|
|
666
|
-
file: import("
|
|
666
|
+
file: import("../../../../hooks/index.js").UploadFile;
|
|
667
667
|
index: number;
|
|
668
668
|
}) => void;
|
|
669
669
|
}, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
|
|
670
670
|
fileList: {
|
|
671
671
|
required: true;
|
|
672
|
-
type: import("vue").PropType<import("
|
|
672
|
+
type: import("vue").PropType<import("../../../../hooks/index.js").UploadUserFile[]>;
|
|
673
673
|
};
|
|
674
674
|
checkoutFiles: import("vue").PropType<any[]>;
|
|
675
675
|
listType: {
|
|
@@ -837,9 +837,9 @@ export declare const GmUploadPro: import("../../../../utils").SFCWithInstall<{
|
|
|
837
837
|
disabled: BooleanConstructor;
|
|
838
838
|
limit: NumberConstructor;
|
|
839
839
|
}>> & {
|
|
840
|
-
"onUpdate:fileList"?: ((fileList: import("
|
|
840
|
+
"onUpdate:fileList"?: ((fileList: import("../../../../hooks/index.js").UploadUserFile[]) => any) | undefined;
|
|
841
841
|
onHandleRemove?: ((file: {
|
|
842
|
-
file: import("
|
|
842
|
+
file: import("../../../../hooks/index.js").UploadFile;
|
|
843
843
|
index: number;
|
|
844
844
|
}) => any) | undefined;
|
|
845
845
|
"onUpdate:checkoutFiles"?: ((checkoutFiles: any[]) => any) | undefined;
|
|
@@ -885,7 +885,7 @@ export declare const GmUploadPro: import("../../../../utils").SFCWithInstall<{
|
|
|
885
885
|
}, Readonly<import("vue").ExtractPropTypes<{
|
|
886
886
|
fileList: {
|
|
887
887
|
required: true;
|
|
888
|
-
type: import("vue").PropType<import("
|
|
888
|
+
type: import("vue").PropType<import("../../../../hooks/index.js").UploadUserFile[]>;
|
|
889
889
|
};
|
|
890
890
|
checkoutFiles: import("vue").PropType<any[]>;
|
|
891
891
|
listType: {
|
|
@@ -1053,9 +1053,9 @@ export declare const GmUploadPro: import("../../../../utils").SFCWithInstall<{
|
|
|
1053
1053
|
disabled: BooleanConstructor;
|
|
1054
1054
|
limit: NumberConstructor;
|
|
1055
1055
|
}>> & {
|
|
1056
|
-
"onUpdate:fileList"?: ((fileList: import("
|
|
1056
|
+
"onUpdate:fileList"?: ((fileList: import("../../../../hooks/index.js").UploadUserFile[]) => any) | undefined;
|
|
1057
1057
|
onHandleRemove?: ((file: {
|
|
1058
|
-
file: import("
|
|
1058
|
+
file: import("../../../../hooks/index.js").UploadFile;
|
|
1059
1059
|
index: number;
|
|
1060
1060
|
}) => any) | undefined;
|
|
1061
1061
|
"onUpdate:checkoutFiles"?: ((checkoutFiles: any[]) => any) | undefined;
|
|
@@ -1580,7 +1580,7 @@ export declare const GmUploadPro: import("../../../../utils").SFCWithInstall<{
|
|
|
1580
1580
|
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
|
|
1581
1581
|
fileList: {
|
|
1582
1582
|
required: true;
|
|
1583
|
-
type: import("vue").PropType<import("
|
|
1583
|
+
type: import("vue").PropType<import("../../../../hooks/index.js").UploadUserFile[]>;
|
|
1584
1584
|
};
|
|
1585
1585
|
checkoutFiles: import("vue").PropType<any[]>;
|
|
1586
1586
|
listType: {
|
|
@@ -1748,9 +1748,9 @@ export declare const GmUploadPro: import("../../../../utils").SFCWithInstall<{
|
|
|
1748
1748
|
disabled: BooleanConstructor;
|
|
1749
1749
|
limit: NumberConstructor;
|
|
1750
1750
|
}>> & {
|
|
1751
|
-
"onUpdate:fileList"?: ((fileList: import("
|
|
1751
|
+
"onUpdate:fileList"?: ((fileList: import("../../../../hooks/index.js").UploadUserFile[]) => any) | undefined;
|
|
1752
1752
|
onHandleRemove?: ((file: {
|
|
1753
|
-
file: import("
|
|
1753
|
+
file: import("../../../../hooks/index.js").UploadFile;
|
|
1754
1754
|
index: number;
|
|
1755
1755
|
}) => any) | undefined;
|
|
1756
1756
|
"onUpdate:checkoutFiles"?: ((checkoutFiles: any[]) => any) | undefined;
|
|
@@ -2237,10 +2237,10 @@ export declare const GmUploadPro: import("../../../../utils").SFCWithInstall<{
|
|
|
2237
2237
|
handleStart: (rawFile: import("element-plus").UploadRawFile) => void;
|
|
2238
2238
|
handleRemove: (file: import("element-plus").UploadRawFile | import("element-plus").UploadFile, rawFile?: import("element-plus").UploadRawFile | undefined) => void;
|
|
2239
2239
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
2240
|
-
"update:fileList": (fileList: import("
|
|
2240
|
+
"update:fileList": (fileList: import("../../../../hooks/index.js").UploadUserFile[]) => void;
|
|
2241
2241
|
"update:checkoutFiles": (checkoutFiles: any[]) => void;
|
|
2242
2242
|
handleRemove: (file: {
|
|
2243
|
-
file: import("
|
|
2243
|
+
file: import("../../../../hooks/index.js").UploadFile;
|
|
2244
2244
|
index: number;
|
|
2245
2245
|
}) => void;
|
|
2246
2246
|
}, string, {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type PropType } from 'vue';
|
|
2
|
-
import
|
|
2
|
+
import type { UploadUserFile } from '../../../../hooks/base/useUploadFile';
|
|
3
3
|
import type { ResourceUrlResponse } from '../../../../api/resource/interface';
|
|
4
4
|
export declare const uploadFileProProps: {
|
|
5
5
|
listType: {
|
|
@@ -78,71 +78,71 @@ export declare const uploadFileProProps: {
|
|
|
78
78
|
readonly prototype: any;
|
|
79
79
|
})[], unknown, unknown, () => void, boolean>;
|
|
80
80
|
beforeRemove: {
|
|
81
|
-
readonly type: PropType<(uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => import("element-plus/es/utils").Awaitable<boolean>>;
|
|
81
|
+
readonly type: PropType<(uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => import("element-plus/es/utils").Awaitable<boolean>>;
|
|
82
82
|
readonly required: false;
|
|
83
83
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
84
84
|
__epPropKey: true;
|
|
85
85
|
};
|
|
86
|
-
onRemove: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | (() => (uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
|
|
87
|
-
(): (uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
|
|
86
|
+
onRemove: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | (() => (uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
|
|
87
|
+
(): (uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
|
|
88
88
|
new (): any;
|
|
89
89
|
readonly prototype: any;
|
|
90
|
-
} | ((new (...args: any[]) => (uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | (() => (uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
|
|
91
|
-
(): (uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
|
|
90
|
+
} | ((new (...args: any[]) => (uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | (() => (uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
|
|
91
|
+
(): (uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
|
|
92
92
|
new (): any;
|
|
93
93
|
readonly prototype: any;
|
|
94
94
|
})[], unknown, unknown, () => void, boolean>;
|
|
95
|
-
onChange: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | (() => (uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
|
|
96
|
-
(): (uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
|
|
95
|
+
onChange: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | (() => (uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
|
|
96
|
+
(): (uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
|
|
97
97
|
new (): any;
|
|
98
98
|
readonly prototype: any;
|
|
99
|
-
} | ((new (...args: any[]) => (uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | (() => (uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
|
|
100
|
-
(): (uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
|
|
99
|
+
} | ((new (...args: any[]) => (uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | (() => (uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
|
|
100
|
+
(): (uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
|
|
101
101
|
new (): any;
|
|
102
102
|
readonly prototype: any;
|
|
103
103
|
})[], unknown, unknown, () => void, boolean>;
|
|
104
|
-
onPreview: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (uploadFile: UploadFile) => void) | (() => (uploadFile: UploadFile) => void) | {
|
|
105
|
-
(): (uploadFile: UploadFile) => void;
|
|
104
|
+
onPreview: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (uploadFile: import("element-plus").UploadFile) => void) | (() => (uploadFile: import("element-plus").UploadFile) => void) | {
|
|
105
|
+
(): (uploadFile: import("element-plus").UploadFile) => void;
|
|
106
106
|
new (): any;
|
|
107
107
|
readonly prototype: any;
|
|
108
|
-
} | ((new (...args: any[]) => (uploadFile: UploadFile) => void) | (() => (uploadFile: UploadFile) => void) | {
|
|
109
|
-
(): (uploadFile: UploadFile) => void;
|
|
108
|
+
} | ((new (...args: any[]) => (uploadFile: import("element-plus").UploadFile) => void) | (() => (uploadFile: import("element-plus").UploadFile) => void) | {
|
|
109
|
+
(): (uploadFile: import("element-plus").UploadFile) => void;
|
|
110
110
|
new (): any;
|
|
111
111
|
readonly prototype: any;
|
|
112
112
|
})[], unknown, unknown, () => void, boolean>;
|
|
113
|
-
onSuccess: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (response: any, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | (() => (response: any, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
|
|
114
|
-
(): (response: any, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
|
|
113
|
+
onSuccess: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (response: any, uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | (() => (response: any, uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
|
|
114
|
+
(): (response: any, uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
|
|
115
115
|
new (): any;
|
|
116
116
|
readonly prototype: any;
|
|
117
|
-
} | ((new (...args: any[]) => (response: any, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | (() => (response: any, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
|
|
118
|
-
(): (response: any, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
|
|
117
|
+
} | ((new (...args: any[]) => (response: any, uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | (() => (response: any, uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
|
|
118
|
+
(): (response: any, uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
|
|
119
119
|
new (): any;
|
|
120
120
|
readonly prototype: any;
|
|
121
121
|
})[], unknown, unknown, () => void, boolean>;
|
|
122
|
-
onProgress: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (evt: import("element-plus").UploadProgressEvent, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | (() => (evt: import("element-plus").UploadProgressEvent, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
|
|
123
|
-
(): (evt: import("element-plus").UploadProgressEvent, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
|
|
122
|
+
onProgress: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (evt: import("element-plus").UploadProgressEvent, uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | (() => (evt: import("element-plus").UploadProgressEvent, uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
|
|
123
|
+
(): (evt: import("element-plus").UploadProgressEvent, uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
|
|
124
124
|
new (): any;
|
|
125
125
|
readonly prototype: any;
|
|
126
|
-
} | ((new (...args: any[]) => (evt: import("element-plus").UploadProgressEvent, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | (() => (evt: import("element-plus").UploadProgressEvent, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
|
|
127
|
-
(): (evt: import("element-plus").UploadProgressEvent, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
|
|
126
|
+
} | ((new (...args: any[]) => (evt: import("element-plus").UploadProgressEvent, uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | (() => (evt: import("element-plus").UploadProgressEvent, uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
|
|
127
|
+
(): (evt: import("element-plus").UploadProgressEvent, uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
|
|
128
128
|
new (): any;
|
|
129
129
|
readonly prototype: any;
|
|
130
130
|
})[], unknown, unknown, () => void, boolean>;
|
|
131
|
-
onError: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (error: Error, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | (() => (error: Error, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
|
|
132
|
-
(): (error: Error, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
|
|
131
|
+
onError: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (error: Error, uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | (() => (error: Error, uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
|
|
132
|
+
(): (error: Error, uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
|
|
133
133
|
new (): any;
|
|
134
134
|
readonly prototype: any;
|
|
135
|
-
} | ((new (...args: any[]) => (error: Error, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | (() => (error: Error, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
|
|
136
|
-
(): (error: Error, uploadFile: UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
|
|
135
|
+
} | ((new (...args: any[]) => (error: Error, uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | (() => (error: Error, uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
|
|
136
|
+
(): (error: Error, uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
|
|
137
137
|
new (): any;
|
|
138
138
|
readonly prototype: any;
|
|
139
139
|
})[], unknown, unknown, () => void, boolean>;
|
|
140
|
-
onExceed: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (files: File[], uploadFiles: UploadUserFile[]) => void) | (() => (files: File[], uploadFiles: UploadUserFile[]) => void) | {
|
|
141
|
-
(): (files: File[], uploadFiles: UploadUserFile[]) => void;
|
|
140
|
+
onExceed: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (files: File[], uploadFiles: import("element-plus").UploadUserFile[]) => void) | (() => (files: File[], uploadFiles: import("element-plus").UploadUserFile[]) => void) | {
|
|
141
|
+
(): (files: File[], uploadFiles: import("element-plus").UploadUserFile[]) => void;
|
|
142
142
|
new (): any;
|
|
143
143
|
readonly prototype: any;
|
|
144
|
-
} | ((new (...args: any[]) => (files: File[], uploadFiles: UploadUserFile[]) => void) | (() => (files: File[], uploadFiles: UploadUserFile[]) => void) | {
|
|
145
|
-
(): (files: File[], uploadFiles: UploadUserFile[]) => void;
|
|
144
|
+
} | ((new (...args: any[]) => (files: File[], uploadFiles: import("element-plus").UploadUserFile[]) => void) | (() => (files: File[], uploadFiles: import("element-plus").UploadUserFile[]) => void) | {
|
|
145
|
+
(): (files: File[], uploadFiles: import("element-plus").UploadUserFile[]) => void;
|
|
146
146
|
new (): any;
|
|
147
147
|
readonly prototype: any;
|
|
148
148
|
})[], unknown, unknown, () => void, boolean>;
|
|
@@ -166,7 +166,7 @@ export declare const uploadFileProProps: {
|
|
|
166
166
|
withCredentials: BooleanConstructor;
|
|
167
167
|
showFileList: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
168
168
|
accept: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
169
|
-
fileList: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => UploadUserFile[]) | (() => UploadUserFile[]) | ((new (...args: any[]) => UploadUserFile[]) | (() => UploadUserFile[]))[], unknown, unknown, () => [], boolean>;
|
|
169
|
+
fileList: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("element-plus").UploadUserFile[]) | (() => import("element-plus").UploadUserFile[]) | ((new (...args: any[]) => import("element-plus").UploadUserFile[]) | (() => import("element-plus").UploadUserFile[]))[], unknown, unknown, () => [], boolean>;
|
|
170
170
|
autoUpload: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
171
171
|
httpRequest: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("element-plus").UploadRequestHandler) | (() => import("element-plus").UploadRequestHandler) | {
|
|
172
172
|
(): import("element-plus").UploadRequestHandler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploadPro.mjs","sources":["../../../../../../../packages/components/src/business/uploadPro/uploadPro.ts"],"sourcesContent":["import { type PropType } from 'vue';\nimport { type
|
|
1
|
+
{"version":3,"file":"uploadPro.mjs","sources":["../../../../../../../packages/components/src/business/uploadPro/uploadPro.ts"],"sourcesContent":["import { type PropType } from 'vue';\nimport { type UploadProps, uploadProps } from 'element-plus';\nimport type { UploadUserFile } from '@giime/hooks/base/useUploadFile';\nimport type { ResourceUrlResponse } from '@giime/api/resource/interface';\n// import { previewFileProps } from '../../composite/previewFile/previewFile';\n\nexport const uploadFileProProps = {\n ...uploadProps,\n // ...previewFileProps,\n listType: {\n type: String as PropType<UploadProps['listType']>,\n default: 'picture-card',\n },\n drag: {\n type: Boolean,\n default: true,\n },\n /**领域编码 */\n domainCode: {\n type: String,\n },\n /**场景编码 */\n sceneCode: {\n type: String,\n },\n /** 文件权限,默认继承桶 */\n acl: {\n type: String,\n default: 'default',\n },\n /**上传中是否loading */\n showLoading: {\n type: Boolean,\n default: false,\n },\n /** 是否展示删除按钮 */\n showDelete: {\n type: Boolean,\n default: true,\n },\n /**禁用删除按钮的uid列表 */\n disabledDeleteUids: {\n type: Array as PropType<number[]>,\n default: () => [],\n },\n /** 删除时提示 */\n deleteTip: {\n type: Boolean,\n default: false,\n },\n /** 是否开启文件多选 */\n checkbox: {\n type: Boolean,\n default: false,\n },\n /**禁用多选按钮的uid列表 */\n disabledCheckboxUids: {\n type: Array as PropType<number[]>,\n default: () => [],\n },\n /** 缩略图宽度 */\n width: {\n type: Number,\n default: 120,\n },\n /** 缩略图高度 */\n height: {\n type: Number,\n default: 120,\n },\n /**全部文件上传完成事件 */\n onAllComplete: {\n type: Function as PropType<() => void>,\n default: () => {},\n },\n};\n\nexport type GmUploadProUserFileResponse = ResourceUrlResponse;\n\nexport type GmUploadProUserFile = Omit<UploadUserFile, 'response'> & { response?: GmUploadProUserFileResponse };\n"],"names":[],"mappings":";;AAMO,MAAM,kBAAqB,GAAA;AAAA,EAChC,GAAG,WAAA;AAAA;AAAA,EAEH,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,cAAA;AAAA,GACX;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA;AAAA,EAEA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,MAAA;AAAA,GACR;AAAA;AAAA,EAEA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,MAAA;AAAA,GACR;AAAA;AAAA,EAEA,GAAK,EAAA;AAAA,IACH,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,SAAA;AAAA,GACX;AAAA;AAAA,EAEA,WAAa,EAAA;AAAA,IACX,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA;AAAA,EAEA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA;AAAA,EAEA,kBAAoB,EAAA;AAAA,IAClB,IAAM,EAAA,KAAA;AAAA,IACN,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA;AAAA,EAEA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA;AAAA,EAEA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA;AAAA,EAEA,oBAAsB,EAAA;AAAA,IACpB,IAAM,EAAA,KAAA;AAAA,IACN,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA;AAAA,EAEA,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,GAAA;AAAA,GACX;AAAA;AAAA,EAEA,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,GAAA;AAAA,GACX;AAAA;AAAA,EAEA,aAAe,EAAA;AAAA,IACb,IAAM,EAAA,QAAA;AAAA,IACN,SAAS,MAAM;AAAA,KAAC;AAAA,GAClB;AACF;;;;"}
|
|
@@ -1028,6 +1028,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
1028
1028
|
autoUpload: boolean;
|
|
1029
1029
|
listType: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "text" | "picture" | "picture-card", unknown>;
|
|
1030
1030
|
httpRequest: import("element-plus").UploadRequestHandler;
|
|
1031
|
+
fileName: string;
|
|
1031
1032
|
acl: string;
|
|
1032
1033
|
showLoading: boolean;
|
|
1033
1034
|
showDelete: boolean;
|
|
@@ -1043,7 +1044,6 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
1043
1044
|
parallel: number;
|
|
1044
1045
|
partSize: number;
|
|
1045
1046
|
bucket: string;
|
|
1046
|
-
fileName: string;
|
|
1047
1047
|
saveStore: boolean;
|
|
1048
1048
|
platform: string;
|
|
1049
1049
|
cdn: string;
|
|
@@ -1034,6 +1034,7 @@ export declare const GmUploadFile: import("../../../../utils").SFCWithInstall<{
|
|
|
1034
1034
|
autoUpload: boolean;
|
|
1035
1035
|
listType: import("element-plus/es/utils/index.js").EpPropMergeType<StringConstructor, "text" | "picture" | "picture-card", unknown>;
|
|
1036
1036
|
httpRequest: import("element-plus").UploadRequestHandler;
|
|
1037
|
+
fileName: string;
|
|
1037
1038
|
acl: string;
|
|
1038
1039
|
showLoading: boolean;
|
|
1039
1040
|
showDelete: boolean;
|
|
@@ -1049,7 +1050,6 @@ export declare const GmUploadFile: import("../../../../utils").SFCWithInstall<{
|
|
|
1049
1050
|
parallel: number;
|
|
1050
1051
|
partSize: number;
|
|
1051
1052
|
bucket: string;
|
|
1052
|
-
fileName: string;
|
|
1053
1053
|
saveStore: boolean;
|
|
1054
1054
|
platform: string;
|
|
1055
1055
|
cdn: string;
|
|
@@ -1829,6 +1829,7 @@ export declare const GmUploadFile: import("../../../../utils").SFCWithInstall<{
|
|
|
1829
1829
|
autoUpload: boolean;
|
|
1830
1830
|
listType: import("element-plus/es/utils/index.js").EpPropMergeType<StringConstructor, "text" | "picture" | "picture-card", unknown>;
|
|
1831
1831
|
httpRequest: import("element-plus").UploadRequestHandler;
|
|
1832
|
+
fileName: string;
|
|
1832
1833
|
acl: string;
|
|
1833
1834
|
showLoading: boolean;
|
|
1834
1835
|
showDelete: boolean;
|
|
@@ -1844,7 +1845,6 @@ export declare const GmUploadFile: import("../../../../utils").SFCWithInstall<{
|
|
|
1844
1845
|
parallel: number;
|
|
1845
1846
|
partSize: number;
|
|
1846
1847
|
bucket: string;
|
|
1847
|
-
fileName: string;
|
|
1848
1848
|
saveStore: boolean;
|
|
1849
1849
|
platform: string;
|
|
1850
1850
|
cdn: string;
|
|
@@ -2628,6 +2628,7 @@ export declare const GmUploadFile: import("../../../../utils").SFCWithInstall<{
|
|
|
2628
2628
|
autoUpload: boolean;
|
|
2629
2629
|
listType: import("element-plus/es/utils/index.js").EpPropMergeType<StringConstructor, "text" | "picture" | "picture-card", unknown>;
|
|
2630
2630
|
httpRequest: import("element-plus").UploadRequestHandler;
|
|
2631
|
+
fileName: string;
|
|
2631
2632
|
acl: string;
|
|
2632
2633
|
showLoading: boolean;
|
|
2633
2634
|
showDelete: boolean;
|
|
@@ -2643,7 +2644,6 @@ export declare const GmUploadFile: import("../../../../utils").SFCWithInstall<{
|
|
|
2643
2644
|
parallel: number;
|
|
2644
2645
|
partSize: number;
|
|
2645
2646
|
bucket: string;
|
|
2646
|
-
fileName: string;
|
|
2647
2647
|
saveStore: boolean;
|
|
2648
2648
|
platform: string;
|
|
2649
2649
|
cdn: string;
|
package/es/giime/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "0.7.
|
|
1
|
+
export declare const version = "0.7.7";
|
package/es/giime/version.mjs
CHANGED
package/es/giime/version.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.mjs","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.7.
|
|
1
|
+
{"version":3,"file":"version.mjs","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.7.7';\n"],"names":[],"mappings":"AAAO,MAAM,OAAU,GAAA;;;;"}
|
|
@@ -1,4 +1,14 @@
|
|
|
1
|
-
import type { UploadRawFile, UploadRequestOptions } from 'element-plus';
|
|
1
|
+
import type { UploadRawFile as ElUploadRawFile, UploadFile as ElUploadFile, UploadUserFile as ElUploadUserFile, UploadRequestOptions } from 'element-plus';
|
|
2
|
+
export interface UploadRawFile extends ElUploadRawFile {
|
|
3
|
+
md5?: string;
|
|
4
|
+
}
|
|
5
|
+
export type UploadFile = Omit<ElUploadFile, 'raw'> & {
|
|
6
|
+
raw?: UploadRawFile;
|
|
7
|
+
};
|
|
8
|
+
export type UploadFiles = UploadFile[];
|
|
9
|
+
export type UploadUserFile = Omit<ElUploadUserFile, 'raw'> & {
|
|
10
|
+
raw?: UploadRawFile;
|
|
11
|
+
};
|
|
2
12
|
export interface UseUploadFileOptions {
|
|
3
13
|
/**领域编码 */
|
|
4
14
|
domainCode?: string;
|
|
@@ -20,6 +30,10 @@ export declare const useUploadFile: () => {
|
|
|
20
30
|
exists: boolean;
|
|
21
31
|
uploadUrl: string;
|
|
22
32
|
key: string;
|
|
33
|
+
fileName: string;
|
|
34
|
+
md5: string;
|
|
35
|
+
contentType: string;
|
|
36
|
+
size: number;
|
|
23
37
|
}>;
|
|
24
38
|
cancelUpload: (fileUid: number) => void;
|
|
25
39
|
cancelAllUploads: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../../packages/hooks/base/useUploadFile/index.ts"],"sourcesContent":["import axios from 'axios';\nimport { ref } from 'vue';\nimport { postResourceV1ResourcesUrl } from '@giime/api/resource/controller';\nimport { fileMd5, fileValidType, genFileId } from '@giime/utils/src/file';\nimport { GmMessage } from '@giime/components/src/plugins/message';\nimport { useGlobalConfig } from '@giime/hooks/base/useGlobalConfig';\nimport type {
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../../packages/hooks/base/useUploadFile/index.ts"],"sourcesContent":["import axios from 'axios';\nimport { ref } from 'vue';\nimport { postResourceV1ResourcesUrl } from '@giime/api/resource/controller';\nimport { fileMd5, fileValidType, genFileId } from '@giime/utils/src/file';\nimport { GmMessage } from '@giime/components/src/plugins/message';\nimport { useGlobalConfig } from '@giime/hooks/base/useGlobalConfig';\nimport type {\n UploadProgressEvent,\n UploadRawFile as ElUploadRawFile,\n UploadFile as ElUploadFile,\n UploadUserFile as ElUploadUserFile,\n UploadRequestOptions,\n} from 'element-plus';\n\nexport interface UploadRawFile extends ElUploadRawFile {\n md5?: string;\n}\n\nexport type UploadFile = Omit<ElUploadFile, 'raw'> & { raw?: UploadRawFile };\nexport type UploadFiles = UploadFile[];\n\nexport type UploadUserFile = Omit<ElUploadUserFile, 'raw'> & { raw?: UploadRawFile };\n\nexport interface UseUploadFileOptions {\n /**领域编码 */\n domainCode?: string;\n /**场景编码 */\n sceneCode?: string;\n /**接受上传的文件类型 */\n accept?: string;\n /**文件权限,默认继承桶 */\n acl?: string;\n /**是否禁止上传文件到存储桶 */\n disablePutFile?: boolean;\n /** */\n elOptions?: UploadRequestOptions;\n}\n\nexport const useUploadFile = () => {\n const isLoading = ref(false);\n const domainCode = useGlobalConfig('domainCode');\n const sceneCode = useGlobalConfig('sceneCode');\n // 存储每个文件的取消控制器\n const abortControllers = ref<Map<number, AbortController>>(new Map());\n\n const uploadFile = async (file: UploadRawFile, options?: UseUploadFileOptions) => {\n // 领域编码\n const uploadDomainCode = options?.domainCode ?? domainCode.value;\n const uploadSceneCode = (options?.sceneCode ?? sceneCode.value) || 'internal_oss';\n if (!uploadDomainCode) {\n GmMessage.error('领域编码不能为空');\n throw new Error('领域编码不能为空');\n }\n\n // 创建取消控制器\n const abortController = new AbortController();\n const fileKey = file.uid ?? genFileId();\n abortControllers.value.set(fileKey, abortController);\n\n try {\n isLoading.value = true;\n // 验证文件类型\n if (options?.accept && options?.accept !== '*') {\n const isValidType = fileValidType(file, options.accept);\n if (!isValidType) {\n GmMessage.error(`文件类型不支持,请上传 ${options.accept} 格式的文件`);\n throw new Error(`文件类型不支持,请上传 ${options.accept} 格式的文件`);\n }\n }\n const md5 = await fileMd5(file);\n file.md5 = md5;\n const acl = options?.acl || 'default';\n const contentType = file.type || 'application/octet-stream';\n const { data } = await postResourceV1ResourcesUrl({\n domainCode: uploadDomainCode, // 领域编码\n sceneCode: uploadSceneCode, // 场景编码\n fileName: file.name,\n contentType,\n md5,\n size: file.size,\n acl, // 文件权限\n });\n\n if (data.data.uploadUrl) {\n try {\n await axios.put(data.data.uploadUrl, file, {\n headers: {\n 'Content-Type': contentType,\n 'x-oss-object-acl ': acl,\n 'Cache-Control': 'max-age=2592000',\n },\n signal: abortController.signal,\n onUploadProgress: progressEvent => {\n const progressEvt = progressEvent.event as UploadProgressEvent;\n progressEvt.percent = progressEvt.total > 0 ? (progressEvt.loaded / progressEvt.total) * 100 : 0;\n options?.elOptions?.onProgress(progressEvent.event);\n },\n });\n } catch (error: any) {\n // 如果是取消请求,不显示错误信息\n if (axios.isCancel(error) || error?.name === 'AbortError') {\n console.log('上传请求已取消');\n throw error;\n }\n GmMessage.error('推送至存储桶失败,请重试');\n throw error;\n }\n }\n\n return data.data;\n } finally {\n // 清理取消控制器\n abortControllers.value.delete(fileKey);\n isLoading.value = false;\n }\n };\n // 取消上传请求\n const cancelUpload = (fileUid: number) => {\n const abortController = abortControllers.value.get(fileUid);\n if (abortController) {\n abortController.abort();\n abortControllers.value.delete(fileUid);\n }\n };\n\n // 取消所有上传请求\n const cancelAllUploads = () => {\n abortControllers.value.forEach(controller => {\n controller.abort();\n });\n abortControllers.value.clear();\n };\n\n return {\n isLoading,\n uploadFile,\n cancelUpload,\n cancelAllUploads,\n };\n};\n"],"names":[],"mappings":"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"}
|