giime 0.9.11 → 0.9.12
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 +2 -2
- package/es/api/resource/interface/apiTypes/Address.d.ts +9 -0
- package/es/api/resource/interface/apiTypes/Address.mjs +2 -0
- package/es/api/resource/interface/apiTypes/Address.mjs.map +1 -0
- package/es/api/resource/interface/apiTypes/AudioStream.d.ts +19 -0
- package/es/api/resource/interface/apiTypes/AudioStream.mjs +2 -0
- package/es/api/resource/interface/apiTypes/AudioStream.mjs.map +1 -0
- package/es/api/resource/interface/apiTypes/GenerateUploadUrlRequest.d.ts +3 -1
- package/es/api/resource/interface/apiTypes/ImageMetadata.d.ts +24 -0
- package/es/api/resource/interface/apiTypes/ImageMetadata.mjs +2 -0
- package/es/api/resource/interface/apiTypes/ImageMetadata.mjs.map +1 -0
- package/es/api/resource/interface/apiTypes/MediaInfo.d.ts +27 -0
- package/es/api/resource/interface/apiTypes/MediaInfo.mjs +2 -0
- package/es/api/resource/interface/apiTypes/MediaInfo.mjs.map +1 -0
- package/es/api/resource/interface/apiTypes/RResourceAttrDto.d.ts +10 -0
- package/es/api/resource/interface/apiTypes/RResourceAttrDto.mjs +2 -0
- package/es/api/resource/interface/apiTypes/RResourceAttrDto.mjs.map +1 -0
- package/es/api/resource/interface/apiTypes/RResourceAttrUrlResponse.d.ts +10 -0
- package/es/api/resource/interface/apiTypes/RResourceAttrUrlResponse.mjs +2 -0
- package/es/api/resource/interface/apiTypes/RResourceAttrUrlResponse.mjs.map +1 -0
- package/es/api/resource/interface/apiTypes/ResourceAttrDto.d.ts +5 -0
- package/es/api/resource/interface/apiTypes/ResourceAttrDto.mjs +2 -0
- package/es/api/resource/interface/apiTypes/ResourceAttrDto.mjs.map +1 -0
- package/es/api/resource/interface/apiTypes/ResourceAttrUrlResponse.d.ts +4 -0
- package/es/api/resource/interface/apiTypes/ResourceAttrUrlResponse.mjs +2 -0
- package/es/api/resource/interface/apiTypes/ResourceAttrUrlResponse.mjs.map +1 -0
- package/es/api/resource/interface/apiTypes/ResourceUploadNoticeRequest.d.ts +4 -0
- package/es/api/resource/interface/apiTypes/ResourceUploadNoticeRequest.mjs +2 -0
- package/es/api/resource/interface/apiTypes/ResourceUploadNoticeRequest.mjs.map +1 -0
- package/es/api/resource/interface/apiTypes/Subtitle.d.ts +14 -0
- package/es/api/resource/interface/apiTypes/Subtitle.mjs +2 -0
- package/es/api/resource/interface/apiTypes/Subtitle.mjs.map +1 -0
- package/es/api/resource/interface/apiTypes/VideoStream.d.ts +30 -0
- package/es/api/resource/interface/apiTypes/VideoStream.mjs +2 -0
- package/es/api/resource/interface/apiTypes/VideoStream.mjs.map +1 -0
- package/es/api/resource/interface/index.d.ts +25 -14
- package/es/api/resource/interface/index.mjs +25 -14
- package/es/api/resource/interface/index.mjs.map +1 -1
- package/es/components/src/business/uploadItem/UploadItem.vue.d.ts +9 -0
- package/es/components/src/business/uploadItem/index.d.ts +19 -0
- package/es/components/src/business/uploadItem/uploadItem.d.ts +4 -0
- package/es/components/src/business/uploadPro/UploadPro.vue.d.ts +9 -0
- package/es/components/src/business/uploadPro/UploadPro.vue.mjs +1 -1
- package/es/components/src/business/uploadPro/UploadPro.vue2.mjs +2 -1
- package/es/components/src/business/uploadPro/UploadPro.vue2.mjs.map +1 -1
- package/es/components/src/business/uploadPro/index.d.ts +19 -0
- package/es/components/src/business/uploadPro/uploadPro.d.ts +5 -0
- package/es/components/src/business/uploadPro/uploadPro.mjs +5 -0
- package/es/components/src/business/uploadPro/uploadPro.mjs.map +1 -1
- package/es/components/src/composite/uploadFile/UploadFile.vue.d.ts +9 -0
- package/es/components/src/composite/uploadFile/index.d.ts +19 -0
- package/es/components/src/composite/uploadFile/uploadFile.d.ts +4 -0
- 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 +2 -0
- package/es/hooks/base/useUploadFile/index.mjs +2 -1
- package/es/hooks/base/useUploadFile/index.mjs.map +1 -1
- package/es/index.css +2 -2
- package/lib/api/resource/interface/apiTypes/Address.d.ts +9 -0
- package/lib/api/resource/interface/apiTypes/Address.js +3 -0
- package/lib/api/resource/interface/apiTypes/Address.js.map +1 -0
- package/lib/api/resource/interface/apiTypes/AudioStream.d.ts +19 -0
- package/lib/api/resource/interface/apiTypes/AudioStream.js +3 -0
- package/lib/api/resource/interface/apiTypes/AudioStream.js.map +1 -0
- package/lib/api/resource/interface/apiTypes/GenerateUploadUrlRequest.d.ts +3 -1
- package/lib/api/resource/interface/apiTypes/ImageMetadata.d.ts +24 -0
- package/lib/api/resource/interface/apiTypes/ImageMetadata.js +3 -0
- package/lib/api/resource/interface/apiTypes/ImageMetadata.js.map +1 -0
- package/lib/api/resource/interface/apiTypes/MediaInfo.d.ts +27 -0
- package/lib/api/resource/interface/apiTypes/MediaInfo.js +3 -0
- package/lib/api/resource/interface/apiTypes/MediaInfo.js.map +1 -0
- package/lib/api/resource/interface/apiTypes/RResourceAttrDto.d.ts +10 -0
- package/lib/api/resource/interface/apiTypes/RResourceAttrDto.js +3 -0
- package/lib/api/resource/interface/apiTypes/RResourceAttrDto.js.map +1 -0
- package/lib/api/resource/interface/apiTypes/RResourceAttrUrlResponse.d.ts +10 -0
- package/lib/api/resource/interface/apiTypes/RResourceAttrUrlResponse.js +3 -0
- package/lib/api/resource/interface/apiTypes/RResourceAttrUrlResponse.js.map +1 -0
- package/lib/api/resource/interface/apiTypes/ResourceAttrDto.d.ts +5 -0
- package/lib/api/resource/interface/apiTypes/ResourceAttrDto.js +3 -0
- package/lib/api/resource/interface/apiTypes/ResourceAttrDto.js.map +1 -0
- package/lib/api/resource/interface/apiTypes/ResourceAttrUrlResponse.d.ts +4 -0
- package/lib/api/resource/interface/apiTypes/ResourceAttrUrlResponse.js +3 -0
- package/lib/api/resource/interface/apiTypes/ResourceAttrUrlResponse.js.map +1 -0
- package/lib/api/resource/interface/apiTypes/ResourceUploadNoticeRequest.d.ts +4 -0
- package/lib/api/resource/interface/apiTypes/ResourceUploadNoticeRequest.js +3 -0
- package/lib/api/resource/interface/apiTypes/ResourceUploadNoticeRequest.js.map +1 -0
- package/lib/api/resource/interface/apiTypes/Subtitle.d.ts +14 -0
- package/lib/api/resource/interface/apiTypes/Subtitle.js +3 -0
- package/lib/api/resource/interface/apiTypes/Subtitle.js.map +1 -0
- package/lib/api/resource/interface/apiTypes/VideoStream.d.ts +30 -0
- package/lib/api/resource/interface/apiTypes/VideoStream.js +3 -0
- package/lib/api/resource/interface/apiTypes/VideoStream.js.map +1 -0
- package/lib/api/resource/interface/index.d.ts +25 -14
- package/lib/api/resource/interface/index.js +25 -14
- package/lib/api/resource/interface/index.js.map +1 -1
- package/lib/components/src/business/uploadItem/UploadItem.vue.d.ts +9 -0
- package/lib/components/src/business/uploadItem/index.d.ts +19 -0
- package/lib/components/src/business/uploadItem/uploadItem.d.ts +4 -0
- package/lib/components/src/business/uploadPro/UploadPro.vue.d.ts +9 -0
- package/lib/components/src/business/uploadPro/UploadPro.vue.js +1 -1
- package/lib/components/src/business/uploadPro/UploadPro.vue2.js +2 -1
- package/lib/components/src/business/uploadPro/UploadPro.vue2.js.map +1 -1
- package/lib/components/src/business/uploadPro/index.d.ts +19 -0
- package/lib/components/src/business/uploadPro/uploadPro.d.ts +5 -0
- package/lib/components/src/business/uploadPro/uploadPro.js +5 -0
- package/lib/components/src/business/uploadPro/uploadPro.js.map +1 -1
- package/lib/components/src/composite/uploadFile/UploadFile.vue.d.ts +9 -0
- package/lib/components/src/composite/uploadFile/index.d.ts +19 -0
- package/lib/components/src/composite/uploadFile/uploadFile.d.ts +4 -0
- 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 +2 -0
- package/lib/hooks/base/useUploadFile/index.js +2 -1
- package/lib/hooks/base/useUploadFile/index.js.map +1 -1
- package/lib/index.css +2 -2
- package/package.json +1 -1
|
@@ -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 <slot name=\"fileActions\" :file=\"file\"></slot>\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 // 如果文件正在上传,取消上传请求\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 <slot name=\"fileActions\" :file=\"file\"></slot>\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 rename: props.rename,\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 // 如果文件正在上传,取消上传请求\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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkHA,IAAA,MAAM,QAAQ,QAAA,EAAS;AAEvB,IAAA,MAAM,KAAA,GAAQ,OAAA;AACd,IAAA,MAAM,IAAA,GAAO,MAAA;AAGb,IAAA,MAAM,QAAA,GAAWA,QAAA,UAA8B,UAA8B,CAAA;AAE7E,IAAA,MAAM,aAAA,GAAgBA,QAAA,CAAkB,OAAA,EAAC,eAAsC,CAAA;AAE/E,IAAA,MAAM,EAAE,UAAA,EAAY,YAAA,EAAa,GAAI,aAAA,EAAc;AAEnD,IAAA,MAAM,WAAA,GAAc,GAAA,iBAAiB,IAAI,GAAA,EAAK,CAAA;AAC9C,IAAA,MAAM,aAAA,GAAgB,SAAS,MAAM,KAAA,CAAM,eAAe,WAAA,CAAY,KAAA,CAAM,OAAO,CAAC,CAAA;AAGpF,IAAA,MAAM,WAAA,GAA0C,OAAM,OAAA,KAAW;AAC/D,MAAA,WAAA,CAAY,KAAA,CAAM,GAAA,CAAI,OAAA,CAAQ,IAAA,CAAK,GAAG,CAAA;AACtC,MAAA,OAAO,UAAA,CAAW,QAAQ,IAAA,EAAM;AAAA,QAC9B,YAAY,KAAA,CAAM,UAAA;AAAA,QAClB,WAAW,KAAA,CAAM,SAAA;AAAA,QACjB,QAAQ,KAAA,CAAM,MAAA;AAAA,QACd,KAAK,KAAA,CAAM,GAAA;AAAA,QACX,QAAQ,KAAA,CAAM,MAAA;AAAA,QACd,SAAA,EAAW;AAAA,OACZ,CAAA;AAAA,IACH,CAAA;AAGA,IAAA,MAAM,yBAAyB,MAAM;AACnC,MAAA,IAAI,WAAA,CAAY,KAAA,CAAM,IAAA,KAAS,CAAA,EAAG;AAEhC,QAAA,KAAA,CAAM,aAAA,IAAgB;AAAA,MACxB;AAAA,IACF,CAAA;AAEA,IAAA,MAAM,gBAAA,GAA6C,CAAC,QAAA,EAAuCC,WAAAA,EAAY,WAAA,KAAgB;AACrH,MAAA,WAAA,CAAY,KAAA,CAAM,MAAA,CAAOA,WAAAA,CAAW,GAAG,CAAA;AACvC,MAAAA,WAAAA,CAAW,MAAM,QAAA,CAAS,GAAA;AAC1B,MAAA,KAAA,CAAM,SAAA,GAAY,QAAA,EAAUA,WAAAA,EAAY,WAAW,CAAA;AAEnD,MAAA,sBAAA,EAAuB;AAAA,IACzB,CAAA;AAEA,IAAA,MAAM,cAAA,GAAyC,CAAC,KAAA,EAAOA,WAAAA,EAAY,WAAA,KAAgB;AACjF,MAAA,WAAA,CAAY,KAAA,CAAM,MAAA,CAAOA,WAAAA,CAAW,GAAG,CAAA;AACvC,MAAA,KAAA,CAAM,OAAA,GAAU,KAAA,EAAOA,WAAAA,EAAY,WAAW,CAAA;AAE9C,MAAA,sBAAA,EAAuB;AAAA,IACzB,CAAA;AAGA,IAAA,MAAM,YAAA,GAA4C,OAAO,IAAA,EAAM,KAAA,KAAU;AAEvE,MAAA,IAAI,IAAA,CAAK,WAAW,WAAA,IAAe,WAAA,CAAY,MAAM,GAAA,CAAI,IAAA,CAAK,GAAG,CAAA,EAAG;AAClE,QAAA,YAAA,CAAa,KAAK,GAAG,CAAA;AACrB,QAAA,WAAA,CAAY,KAAA,CAAM,MAAA,CAAO,IAAA,CAAK,GAAG,CAAA;AAEjC,QAAA,sBAAA,EAAuB;AAAA,MACzB;AACA,MAAA,OAAO,KAAA,CAAM,YAAA,GAAe,IAAA,EAAM,KAAK,CAAA,IAAK,IAAA;AAAA,IAC9C,CAAA;AAGA,IAAA,MAAM,UAAA,GAAa,CAAC,IAAA,EAAkB,WAAA,KAA6B;AAEjE,MAAA,IAAI,IAAA,CAAK,WAAW,WAAA,IAAe,WAAA,CAAY,MAAM,GAAA,CAAI,IAAA,CAAK,GAAG,CAAA,EAAG;AAClE,QAAA,YAAA,CAAa,KAAK,GAAG,CAAA;AACrB,QAAA,WAAA,CAAY,KAAA,CAAM,MAAA,CAAO,IAAA,CAAK,GAAG,CAAA;AAEjC,QAAA,sBAAA,EAAuB;AAAA,MACzB;AAEA,MAAA,MAAM,KAAA,GAAQ,QAAA,CAAS,KAAA,CAAM,OAAA,CAAQ,IAAI,CAAA;AACzC,MAAA,IAAI,QAAQ,CAAA,CAAA,EAAI;AACd,QAAA,QAAA,CAAS,KAAA,CAAM,MAAA,CAAO,KAAA,EAAO,CAAC,CAAA;AAC9B,QAAA,IAAA,CAAK,cAAA,EAAgB,EAAE,IAAA,EAAM,KAAA,EAAO,CAAA;AACpC,QAAA,OAAO,KAAA,CAAM,QAAA,GAAW,IAAA,EAAM,WAAW,CAAA;AAAA,MAC3C;AAAA,IACF,CAAA;AAEA,IAAA,MAAM,YAAA,GAAe,OAAO,IAAA,EAAkB,WAAA,KAAkC;AAC9E,MAAA,IAAI,MAAM,SAAA,EAAW;AACnB,QAAA,MAAM,YAAA,CAAa,EAAE,OAAA,EAAS,wDAAA,IAAe,YAAY;AAAA,QAAC,CAAC,CAAA;AAAA,MAC7D;AAEA,MAAA,UAAA,CAAW,MAAM,WAA0B,CAAA;AAAA,IAC7C,CAAA;AAEA,IAAA,MAAM,gBAAgB,GAAA,EAAoB;AAC1C,IAAA,MAAM,eAAe,CAAC,OAAA,EAAS,QAAA,EAAU,YAAA,EAAc,eAAe,cAAc,CAAA;AACpF,IAAA,MAAM,EAAE,SAAA,EAAU,GAAI,YAAA,CAAa,eAAe,YAAY,CAAA;AAE9D,IAAA,MAAM,eAAe,GAAA,EAAiB;AAGtC,IAAA,MAAM,aAAA,GAAgB,IAAI,KAAK,CAAA;AAC/B,IAAA,MAAM,SAAA,GAAY,IAAI,CAAC,CAAA;AAEvB,IAAA,MAAM,aAAA,GAAgB,CAAC,IAAA,KAAqB;AAC1C,MAAA,SAAA,CAAU,KAAA,GAAQ,QAAA,CAAS,KAAA,CAAM,OAAA,CAAQ,IAAI,CAAA;AAC7C,MAAA,aAAA,CAAc,KAAA,GAAQ,IAAA;AAAA,IACxB,CAAA;AAGA,IAAA,MAAM,EAAE,SAAA,EAAW,OAAA,EAAQ,GAAI,YAAA,CAAa,YAAA,EAAc,EAAE,MAAA,EAAQ,KAAA,CAAM,MAAA,EAAQ,QAAA,EAAU,KAAA,CAAM,UAAU,CAAA;AAC5G,IAAA,SAAA,CAAU,CAAC,KAAA,KAAkB;AAC3B,MAAA,IAAI,MAAM,QAAA,EAAU;AAClB,QAAA;AAAA,MACF;AACA,MAAA,IAAI,MAAM,OAAA,CAAQ,KAAK,CAAA,IAAK,KAAA,CAAM,SAAS,CAAA,EAAG;AAC5C,QAAA,KAAA,CAAM,QAAQ,CAAA,IAAA,KAAQ;AACpB,UAAA,IAAI,gBAAgB,IAAA,EAAM;AACxB,YAAA,MAAM,OAAA,GAAU,IAAA;AAChB,YAAA,aAAA,CAAc,KAAA,EAAO,YAAY,OAAO,CAAA;AAGxC,YAAA,IAAI,MAAM,UAAA,EAAY;AACpB,cAAA,aAAA,CAAc,OAAO,MAAA,EAAO;AAAA,YAC9B;AAAA,UACF;AAAA,QACF,CAAC,CAAA;AAAA,MACH;AAAA,IACF,CAAC,CAAA;AAED,IAAA,OAAA,CAAQ,CAAC,KAAA,KAAiB;AACxB,MAAA,OAAA,CAAQ,KAAA,CAAM,6BAAS,KAAK,CAAA;AAC5B,MAAA,YAAA,CAAa,KAAA,CAAM,KAAA,CAAM,OAAA,EAAS,cAAA,EAAM;AAAA,QACtC,IAAA,EAAM;AAAA,OACP,CAAA;AAAA,IACH,CAAC,CAAA;AACD,IAAA,QAAA,CAAa;AAAA,MACX,GAAG,SAAA;AAAA,MACH,aAAA;AAAA,MACA;AAAA,KACD,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -19,6 +19,10 @@ export declare const GmUploadPro: import("../../../../utils").SFCWithInstall<{
|
|
|
19
19
|
type: StringConstructor;
|
|
20
20
|
default: string;
|
|
21
21
|
};
|
|
22
|
+
rename: {
|
|
23
|
+
type: NumberConstructor;
|
|
24
|
+
default: number;
|
|
25
|
+
};
|
|
22
26
|
showLoading: {
|
|
23
27
|
type: BooleanConstructor;
|
|
24
28
|
default: boolean;
|
|
@@ -265,6 +269,10 @@ export declare const GmUploadPro: import("../../../../utils").SFCWithInstall<{
|
|
|
265
269
|
type: StringConstructor;
|
|
266
270
|
default: string;
|
|
267
271
|
};
|
|
272
|
+
rename: {
|
|
273
|
+
type: NumberConstructor;
|
|
274
|
+
default: number;
|
|
275
|
+
};
|
|
268
276
|
showLoading: {
|
|
269
277
|
type: BooleanConstructor;
|
|
270
278
|
default: boolean;
|
|
@@ -502,6 +510,7 @@ export declare const GmUploadPro: import("../../../../utils").SFCWithInstall<{
|
|
|
502
510
|
onProgress: (evt: import("element-plus").UploadProgressEvent, uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
|
|
503
511
|
accept: string;
|
|
504
512
|
acl: string;
|
|
513
|
+
rename: number;
|
|
505
514
|
beforeUpload: (rawFile: import("element-plus").UploadRawFile) => boolean | void | Blob | File | Promise<boolean | void | Blob | File | null | undefined> | null | undefined;
|
|
506
515
|
onRemove: (uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
|
|
507
516
|
onPreview: (uploadFile: import("element-plus").UploadFile) => void;
|
|
@@ -544,6 +553,10 @@ export declare const GmUploadPro: import("../../../../utils").SFCWithInstall<{
|
|
|
544
553
|
type: StringConstructor;
|
|
545
554
|
default: string;
|
|
546
555
|
};
|
|
556
|
+
rename: {
|
|
557
|
+
type: NumberConstructor;
|
|
558
|
+
default: number;
|
|
559
|
+
};
|
|
547
560
|
showLoading: {
|
|
548
561
|
type: BooleanConstructor;
|
|
549
562
|
default: boolean;
|
|
@@ -789,6 +802,7 @@ export declare const GmUploadPro: import("../../../../utils").SFCWithInstall<{
|
|
|
789
802
|
onProgress: (evt: import("element-plus").UploadProgressEvent, uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
|
|
790
803
|
accept: string;
|
|
791
804
|
acl: string;
|
|
805
|
+
rename: number;
|
|
792
806
|
beforeUpload: (rawFile: import("element-plus").UploadRawFile) => boolean | void | Blob | File | Promise<boolean | void | Blob | File | null | undefined> | null | undefined;
|
|
793
807
|
onRemove: (uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
|
|
794
808
|
onPreview: (uploadFile: import("element-plus").UploadFile) => void;
|
|
@@ -828,6 +842,10 @@ export declare const GmUploadPro: import("../../../../utils").SFCWithInstall<{
|
|
|
828
842
|
type: StringConstructor;
|
|
829
843
|
default: string;
|
|
830
844
|
};
|
|
845
|
+
rename: {
|
|
846
|
+
type: NumberConstructor;
|
|
847
|
+
default: number;
|
|
848
|
+
};
|
|
831
849
|
showLoading: {
|
|
832
850
|
type: BooleanConstructor;
|
|
833
851
|
default: boolean;
|
|
@@ -1080,6 +1098,7 @@ export declare const GmUploadPro: import("../../../../utils").SFCWithInstall<{
|
|
|
1080
1098
|
onProgress: (evt: import("element-plus").UploadProgressEvent, uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
|
|
1081
1099
|
accept: string;
|
|
1082
1100
|
acl: string;
|
|
1101
|
+
rename: number;
|
|
1083
1102
|
beforeUpload: (rawFile: import("element-plus").UploadRawFile) => boolean | void | Blob | File | Promise<boolean | void | Blob | File | null | undefined> | null | undefined;
|
|
1084
1103
|
onRemove: (uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
|
|
1085
1104
|
onPreview: (uploadFile: import("element-plus").UploadFile) => void;
|
|
@@ -23,6 +23,11 @@ export declare const uploadFileProProps: {
|
|
|
23
23
|
type: StringConstructor;
|
|
24
24
|
default: string;
|
|
25
25
|
};
|
|
26
|
+
/** 是否重命名文件 0 否 1 是,默认 0 */
|
|
27
|
+
rename: {
|
|
28
|
+
type: NumberConstructor;
|
|
29
|
+
default: number;
|
|
30
|
+
};
|
|
26
31
|
/**上传中是否loading */
|
|
27
32
|
showLoading: {
|
|
28
33
|
type: BooleanConstructor;
|
|
@@ -1 +1 @@
|
|
|
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,kBAAA,GAAqB;AAAA,EAChC,GAAG,WAAA;AAAA;AAAA,EAEH,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,IAAA,EAAM;AAAA,GACR;AAAA;AAAA,EAEA,SAAA,EAAW;AAAA,IACT,IAAA,EAAM;AAAA,GACR;AAAA;AAAA,EAEA,GAAA,EAAK;AAAA,IACH,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,kBAAA,EAAoB;AAAA,IAClB,IAAA,EAAM,KAAA;AAAA,IACN,OAAA,EAAS,MAAM;AAAC,GAClB;AAAA;AAAA,EAEA,SAAA,EAAW;AAAA,IACT,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,oBAAA,EAAsB;AAAA,IACpB,IAAA,EAAM,KAAA;AAAA,IACN,OAAA,EAAS,MAAM;AAAC,GAClB;AAAA;AAAA,EAEA,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,aAAA,EAAe;AAAA,IACb,IAAA,EAAM,QAAA;AAAA,IACN,SAAS,MAAM;AAAA,IAAC;AAAA;AAEpB;;;;"}
|
|
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 /** 是否重命名文件 0 否 1 是,默认 0 */\n rename: {\n type: Number,\n default: 0,\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,kBAAA,GAAqB;AAAA,EAChC,GAAG,WAAA;AAAA;AAAA,EAEH,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,IAAA,EAAM;AAAA,GACR;AAAA;AAAA,EAEA,SAAA,EAAW;AAAA,IACT,IAAA,EAAM;AAAA,GACR;AAAA;AAAA,EAEA,GAAA,EAAK;AAAA,IACH,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,kBAAA,EAAoB;AAAA,IAClB,IAAA,EAAM,KAAA;AAAA,IACN,OAAA,EAAS,MAAM;AAAC,GAClB;AAAA;AAAA,EAEA,SAAA,EAAW;AAAA,IACT,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,oBAAA,EAAsB;AAAA,IACpB,IAAA,EAAM,KAAA;AAAA,IACN,OAAA,EAAS,MAAM;AAAC,GAClB;AAAA;AAAA,EAEA,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,aAAA,EAAe;AAAA,IACb,IAAA,EAAM,QAAA;AAAA,IACN,SAAS,MAAM;AAAA,IAAC;AAAA;AAEpB;;;;"}
|
|
@@ -62,6 +62,10 @@ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<{
|
|
|
62
62
|
type: StringConstructor;
|
|
63
63
|
default: string;
|
|
64
64
|
};
|
|
65
|
+
rename: {
|
|
66
|
+
type: NumberConstructor;
|
|
67
|
+
default: number;
|
|
68
|
+
};
|
|
65
69
|
showLoading: {
|
|
66
70
|
type: BooleanConstructor;
|
|
67
71
|
default: boolean;
|
|
@@ -349,6 +353,10 @@ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<{
|
|
|
349
353
|
type: StringConstructor;
|
|
350
354
|
default: string;
|
|
351
355
|
};
|
|
356
|
+
rename: {
|
|
357
|
+
type: NumberConstructor;
|
|
358
|
+
default: number;
|
|
359
|
+
};
|
|
352
360
|
showLoading: {
|
|
353
361
|
type: BooleanConstructor;
|
|
354
362
|
default: boolean;
|
|
@@ -608,6 +616,7 @@ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<{
|
|
|
608
616
|
onProgress: (evt: import("element-plus").UploadProgressEvent, uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
|
|
609
617
|
accept: string;
|
|
610
618
|
acl: string;
|
|
619
|
+
rename: number;
|
|
611
620
|
controls: boolean;
|
|
612
621
|
oncontextmenu: boolean;
|
|
613
622
|
beforeUpload: (rawFile: UploadRawFile) => boolean | void | Blob | File | Promise<boolean | void | Blob | File | null | undefined> | null | undefined;
|
|
@@ -51,6 +51,10 @@ export declare const GmUploadFile: import("../../../../utils").SFCWithInstall<{
|
|
|
51
51
|
type: StringConstructor;
|
|
52
52
|
default: string;
|
|
53
53
|
};
|
|
54
|
+
rename: {
|
|
55
|
+
type: NumberConstructor;
|
|
56
|
+
default: number;
|
|
57
|
+
};
|
|
54
58
|
showLoading: {
|
|
55
59
|
type: BooleanConstructor;
|
|
56
60
|
default: boolean;
|
|
@@ -345,6 +349,10 @@ export declare const GmUploadFile: import("../../../../utils").SFCWithInstall<{
|
|
|
345
349
|
type: StringConstructor;
|
|
346
350
|
default: string;
|
|
347
351
|
};
|
|
352
|
+
rename: {
|
|
353
|
+
type: NumberConstructor;
|
|
354
|
+
default: number;
|
|
355
|
+
};
|
|
348
356
|
showLoading: {
|
|
349
357
|
type: BooleanConstructor;
|
|
350
358
|
default: boolean;
|
|
@@ -604,6 +612,7 @@ export declare const GmUploadFile: import("../../../../utils").SFCWithInstall<{
|
|
|
604
612
|
onProgress: (evt: import("element-plus").UploadProgressEvent, uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
|
|
605
613
|
accept: string;
|
|
606
614
|
acl: string;
|
|
615
|
+
rename: number;
|
|
607
616
|
controls: boolean;
|
|
608
617
|
oncontextmenu: boolean;
|
|
609
618
|
beforeUpload: (rawFile: import("element-plus").UploadRawFile) => boolean | void | Blob | File | Promise<boolean | void | Blob | File | null | undefined> | null | undefined;
|
|
@@ -687,6 +696,10 @@ export declare const GmUploadFile: import("../../../../utils").SFCWithInstall<{
|
|
|
687
696
|
type: StringConstructor;
|
|
688
697
|
default: string;
|
|
689
698
|
};
|
|
699
|
+
rename: {
|
|
700
|
+
type: NumberConstructor;
|
|
701
|
+
default: number;
|
|
702
|
+
};
|
|
690
703
|
showLoading: {
|
|
691
704
|
type: BooleanConstructor;
|
|
692
705
|
default: boolean;
|
|
@@ -952,6 +965,7 @@ export declare const GmUploadFile: import("../../../../utils").SFCWithInstall<{
|
|
|
952
965
|
onProgress: (evt: import("element-plus").UploadProgressEvent, uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
|
|
953
966
|
accept: string;
|
|
954
967
|
acl: string;
|
|
968
|
+
rename: number;
|
|
955
969
|
controls: boolean;
|
|
956
970
|
oncontextmenu: boolean;
|
|
957
971
|
beforeUpload: (rawFile: import("element-plus").UploadRawFile) => boolean | void | Blob | File | Promise<boolean | void | Blob | File | null | undefined> | null | undefined;
|
|
@@ -1032,6 +1046,10 @@ export declare const GmUploadFile: import("../../../../utils").SFCWithInstall<{
|
|
|
1032
1046
|
type: StringConstructor;
|
|
1033
1047
|
default: string;
|
|
1034
1048
|
};
|
|
1049
|
+
rename: {
|
|
1050
|
+
type: NumberConstructor;
|
|
1051
|
+
default: number;
|
|
1052
|
+
};
|
|
1035
1053
|
showLoading: {
|
|
1036
1054
|
type: BooleanConstructor;
|
|
1037
1055
|
default: boolean;
|
|
@@ -1304,6 +1322,7 @@ export declare const GmUploadFile: import("../../../../utils").SFCWithInstall<{
|
|
|
1304
1322
|
onProgress: (evt: import("element-plus").UploadProgressEvent, uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
|
|
1305
1323
|
accept: string;
|
|
1306
1324
|
acl: string;
|
|
1325
|
+
rename: number;
|
|
1307
1326
|
controls: boolean;
|
|
1308
1327
|
oncontextmenu: boolean;
|
|
1309
1328
|
beforeUpload: (rawFile: import("element-plus").UploadRawFile) => boolean | void | Blob | File | Promise<boolean | void | Blob | File | null | undefined> | null | undefined;
|
package/es/giime/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "0.9.
|
|
1
|
+
export declare const version = "0.9.12";
|
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.9.
|
|
1
|
+
{"version":3,"file":"version.mjs","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.9.12';\n"],"names":[],"mappings":"AAAO,MAAM,OAAA,GAAU;;;;"}
|
|
@@ -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 {\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":";;;;;;;;;
|
|
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 /** 是否重命名文件 0 否 1 是,默认 0 */\n rename?: number;\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 rename: options?.rename ?? 0,\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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"}
|
package/es/index.css
CHANGED
|
@@ -930,11 +930,11 @@ video {
|
|
|
930
930
|
margin: 0;
|
|
931
931
|
}
|
|
932
932
|
|
|
933
|
-
.gm-upload-pro-preview-dialog[data-v-
|
|
933
|
+
.gm-upload-pro-preview-dialog[data-v-fbc23b01] [data-v-fbc23b01] .el-dialog__body {
|
|
934
934
|
padding: 0;
|
|
935
935
|
}
|
|
936
936
|
|
|
937
|
-
.gm-upload-pro-file-picture-card[data-v-
|
|
937
|
+
.gm-upload-pro-file-picture-card[data-v-fbc23b01] [data-v-fbc23b01] .el-upload-list__item, .gm-upload-pro-file-picture-card[data-v-fbc23b01] [data-v-fbc23b01] .el-upload--picture-card {
|
|
938
938
|
width: auto;
|
|
939
939
|
height: auto;
|
|
940
940
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Address.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface AudioStream {
|
|
2
|
+
index?: number;
|
|
3
|
+
language?: string;
|
|
4
|
+
codecName?: string;
|
|
5
|
+
codecLongName?: string;
|
|
6
|
+
codecTimeBase?: string;
|
|
7
|
+
codecTagString?: string;
|
|
8
|
+
codecTag?: string;
|
|
9
|
+
timeBase?: string;
|
|
10
|
+
startTime?: number;
|
|
11
|
+
duration?: number;
|
|
12
|
+
bitrate?: number;
|
|
13
|
+
frameCount?: number;
|
|
14
|
+
lyric?: string;
|
|
15
|
+
sampleFormat?: string;
|
|
16
|
+
sampleRate?: number;
|
|
17
|
+
channels?: number;
|
|
18
|
+
channelLayout?: string;
|
|
19
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AudioStream.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
@@ -13,10 +13,12 @@ export interface GenerateUploadUrlRequest {
|
|
|
13
13
|
acl?: string;
|
|
14
14
|
/** 场景编码 */
|
|
15
15
|
sceneCode: string;
|
|
16
|
-
/**
|
|
16
|
+
/** 有效期限,时间秒数 */
|
|
17
17
|
expires?: number;
|
|
18
18
|
/** 是否覆盖同名文件 0 否 1 是 */
|
|
19
19
|
cover?: number;
|
|
20
|
+
/** 是否重命名名文件 0 否 1 是 */
|
|
21
|
+
rename?: number;
|
|
20
22
|
/** 元数据 */
|
|
21
23
|
metaData?: GenerateUploadUrlRequestMetaData;
|
|
22
24
|
/** 扩展数据 */
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export interface ImageMetadata {
|
|
2
|
+
compression?: number;
|
|
3
|
+
dateTime?: string;
|
|
4
|
+
exifTag?: string;
|
|
5
|
+
fileSize?: number;
|
|
6
|
+
format?: string;
|
|
7
|
+
gpsLatitude?: string;
|
|
8
|
+
gpsLatitudeRef?: string;
|
|
9
|
+
gpsLongitude?: string;
|
|
10
|
+
gpsLongitudeRef?: string;
|
|
11
|
+
gpsMapDatum?: string;
|
|
12
|
+
gpsTag?: number;
|
|
13
|
+
gpsVersionID?: string;
|
|
14
|
+
frameCount?: number;
|
|
15
|
+
imageHeight?: number;
|
|
16
|
+
imageWidth?: number;
|
|
17
|
+
jpegInterchangeFormat?: number;
|
|
18
|
+
jpegInterchangeFormatLength?: number;
|
|
19
|
+
orientation?: number;
|
|
20
|
+
resolutionUnit?: number;
|
|
21
|
+
software?: string;
|
|
22
|
+
xresolution?: string;
|
|
23
|
+
yresolution?: string;
|
|
24
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImageMetadata.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type VideoStream, type AudioStream, type Subtitle, type Address } from "../../interface";
|
|
2
|
+
export interface MediaInfo {
|
|
3
|
+
requestId?: string;
|
|
4
|
+
language?: string;
|
|
5
|
+
title?: string;
|
|
6
|
+
videoStreams?: VideoStream[];
|
|
7
|
+
audioStreams?: AudioStream[];
|
|
8
|
+
subtitles?: Subtitle[];
|
|
9
|
+
streamCount?: number;
|
|
10
|
+
programCount?: number;
|
|
11
|
+
formatName?: string;
|
|
12
|
+
formatLongName?: string;
|
|
13
|
+
size?: number;
|
|
14
|
+
startTime?: number;
|
|
15
|
+
bitrate?: number;
|
|
16
|
+
artist?: string;
|
|
17
|
+
albumArtist?: string;
|
|
18
|
+
composer?: string;
|
|
19
|
+
performer?: string;
|
|
20
|
+
album?: string;
|
|
21
|
+
duration?: number;
|
|
22
|
+
produceTime?: string;
|
|
23
|
+
latLong?: string;
|
|
24
|
+
videoWidth?: number;
|
|
25
|
+
videoHeight?: number;
|
|
26
|
+
addresses?: Address[];
|
|
27
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MediaInfo.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RResourceAttrDto.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RResourceAttrUrlResponse.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResourceAttrDto.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResourceAttrUrlResponse.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResourceUploadNoticeRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|