qidian-vue-ui 1.1.53 → 1.1.54

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.
@@ -1,7 +1,7 @@
1
1
  import _sfc_main from "./index.vue2.mjs";
2
2
  /* empty css */
3
3
  import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e86a1393"]]);
4
+ const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-386a89ff"]]);
5
5
  export {
6
6
  index as default
7
7
  };
@@ -420,11 +420,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
420
420
  watch(
421
421
  reModelValue,
422
422
  async (newVal, oldVal) => {
423
+ if (checkSameObject(newVal, oldVal)) return;
423
424
  if (!newVal.length) {
424
425
  fileList.value = [];
425
426
  return;
426
427
  }
427
- if (checkSameObject(newVal, oldVal) || fileList.value.length) return;
428
+ if (fileList.value.length === newVal.length) return;
428
429
  const { valueMode } = reProps.value;
429
430
  const apiFn = valueMode === "url" ? getOssByUrls : getOssByIds;
430
431
  const [err, res] = await to(apiFn(newVal));
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue2.mjs","sources":["../../../src/components/upload/index.vue"],"sourcesContent":["<template>\n <t-upload\n ref=\"upload\"\n :class=\"[\n 'qd-upload',\n `qd-upload--${reProps.theme}`,\n reProps.onlyView ? 'qd-upload--only-view' : '',\n !reProps.uploadOptions.showUploadProgress && reProps.onlyView\n ? 'qd-upload--hide-progress'\n : '',\n !reProps.uploadOptions.autoUpload && reProps.showManualButton\n ? ''\n : 'qd-upload--hide-manual-upload',\n reProps.uploadOptions.disabled ? 'qd-upload--disabled' : ''\n ]\"\n v-model:files=\"fileList\"\n :tabindex=\"reProps.onlyView || reProps.uploadOptions.disabled ? '' : '0'\"\n v-bind=\"reProps.uploadOptions\"\n >\n <template v-if=\"['btn-file-popup', 'btn-image-popup'].includes(theme)\">\n <t-space align=\"center\" size=\"small\">\n <t-button\n v-if=\"!reProps.onlyView\"\n variant=\"outline\"\n :disabled=\"reProps.uploadOptions.disabled\"\n >\n <template #icon><upload-icon /></template>\n {{\n !fileList.length\n ? t('triggerUploadText').fileInput\n : reProps.uploadOptions.max === 1 || !reProps.uploadOptions.multiple\n ? t('triggerUploadText').reupload\n : t('triggerUploadText').continueUpload\n }}\n </t-button>\n\n <t-popup v-if=\"fileList.length\" show-arrow trigger=\"click\">\n <t-badge :count=\"fileList.length\" size=\"small\" :offset=\"[2, 2]\" @click.stop>\n <t-button variant=\"outline\">\n <template #icon><browse-icon /></template>\n {{ t('viewFileText') }}\n </t-button>\n </t-badge>\n\n <template #content>\n <t-upload\n :class=\"[\n 'qd-upload__popup-upload',\n reProps.uploadOptions.disabled ? 'qd-upload__popup-upload--disabled' : ''\n ]\"\n v-model:files=\"popupFileList\"\n :theme=\"popupUploadTheme\"\n :disabled=\"reProps.uploadOptions.disabled\"\n :on-remove=\"reProps.handlePopupRemove\"\n :show-thumbnail=\"reProps.uploadOptions.showThumbnail\"\n :show-image-file-name=\"reProps.uploadOptions.showImageFileName\"\n :show-upload-progress=\"reProps.uploadOptions.showUploadProgress\"\n >\n <template #trigger><span style=\"display: none\"></span></template>\n </t-upload>\n </template>\n </t-popup>\n </t-space>\n </template>\n\n <template v-for=\"(_, name) in $slots\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </t-upload>\n</template>\n\n<script\n setup\n lang=\"ts\"\n generic=\"\n F extends UploadFile = UploadFile,\n OR = unknown,\n OP extends string | number | (string | number)[] = string | number | (string | number)[],\n TOP = OP,\n UR = unknown,\n UP extends string | string[] = string | string[],\n TUP = UP,\n DR = unknown,\n DP extends string | number | (string | number)[] = string | number | (string | number)[],\n TDP = DP\n \"\n>\n import type {\n SizeLimitObj,\n TdUploadProps,\n UploadFile,\n UploadInstanceFunctions\n } from 'tdesign-vue-next'\n import type {\n QdUploadDeleteResult,\n QdUploadInstanceFunctions,\n QdUploadListOssByIdsResult,\n QdUploadProps\n } from './types'\n import { qdUploadProps, qdUploadSizeLimit } from './props'\n import { useVModels } from '@vueuse/core'\n import { computed, inject, onMounted, useTemplateRef, ref, watch } from 'vue'\n import {\n Upload as TUpload,\n Button as TButton,\n Popup as TPopup,\n Space as TSpace,\n Badge as TBadge\n } from 'tdesign-vue-next'\n import { UploadIcon, BrowseIcon } from 'tdesign-icons-vue-next'\n import {\n checkSameObject,\n easyCopy,\n isEmpty,\n isTypeByName,\n suspectedWrapperPromise,\n to,\n useTimer\n } from 'qidian-shared'\n import dayjs from 'dayjs'\n import { PROVIDE_UPLOAD } from '../config-provider/config'\n import { useConfig } from '../config-provider/useConfig'\n import { useModal, useDisabled, useReadonly } from '../../hooks'\n import { PROVIDE_FORM_ADD_BEFORE_SUBMIT_QUEUE } from '../form'\n import { qdUploadAcceptMap } from './config'\n import { qdDictConvStrSeparator } from '../dict/tag/props'\n\n defineOptions({\n name: 'QdUpload'\n })\n\n type Props = QdUploadProps<F, OR, OP, TOP, UR, UP, TUP, DR, DP, TDP>\n\n const props = withDefaults(defineProps<Props>(), qdUploadProps)\n const emit = defineEmits<{\n 'update:modelValue': [Props['modelValue']]\n 'update:files': [Props['files']]\n }>()\n const { modelValue, files: fileList } = useVModels<typeof props, keyof typeof emit>(props, emit, {\n passive: true\n })\n\n const reModelValue = computed({\n get: () => {\n const { convStr } = reProps.value\n const value = modelValue.value\n if (isEmpty(value)) return []\n if (typeof value === 'string') {\n return value.split((typeof convStr === 'string' ? convStr : '') || qdDictConvStrSeparator)\n }\n\n return value\n },\n set: (val) => {\n const { convStr } = reProps.value\n if (convStr) {\n modelValue.value = val.join(\n (typeof convStr === 'string' ? convStr : '') || qdDictConvStrSeparator\n )\n return\n }\n\n modelValue.value = val\n }\n })\n\n const formAddBeforeSubmitQueue = inject(PROVIDE_FORM_ADD_BEFORE_SUBMIT_QUEUE, undefined)\n const { t } = useConfig('upload')\n const tdReadonly = useReadonly()\n const tdDisabled = useDisabled()\n const { msgError, msgWarning } = useModal()\n const uploadRef = useTemplateRef<UploadInstanceFunctions>('upload')\n const { timer: uploadTimer, clearTimer: clearUploadTimer } = useTimer('interval')\n\n const delList = ref<(string | number)[]>([])\n\n const popupFileList = computed(() => [...fileList.value])\n\n const globalUploadProps = inject(\n PROVIDE_UPLOAD,\n computed(() => undefined)\n )\n const reProps = computed(() => {\n const {\n modelValue,\n files,\n convStr,\n valueMode,\n theme,\n sizeLimit,\n accept,\n multiple,\n disabled,\n beforeUpload,\n onValidate,\n formatResponse,\n onSuccess,\n onRemove,\n\n onlyView,\n listOssByIds,\n listOssByUrls,\n del,\n\n action,\n bucketConfigKey,\n showImageFileName,\n showUploadProgress,\n showThumbnail,\n draggable,\n\n showManualButton,\n ...uploadOptions\n } = props\n const globalUploadPropsV = globalUploadProps.value\n\n const reAction = action || globalUploadPropsV?.action\n const actionUrl = typeof reAction === 'string' ? reAction : reAction?.(bucketConfigKey)\n\n const reSizeLimit = easyCopy(qdUploadSizeLimit) as SizeLimitObj | undefined\n if (reSizeLimit) {\n if (typeof sizeLimit === 'number') {\n reSizeLimit.size = sizeLimit\n reSizeLimit.message = t('sizeLimitMessage')\n } else {\n Object.assign(reSizeLimit, { message: t('sizeLimitMessage') }, sizeLimit)\n }\n }\n\n const reAccept = accept\n ? accept\n : theme.includes('image')\n ? qdUploadAcceptMap.image\n : qdUploadAcceptMap.default\n const acceptStr = reAccept.join(',')\n\n const reBeforeUpload: typeof beforeUpload = (file) => {\n if (beforeUpload) return beforeUpload(file)\n\n if (reAccept && !isTypeByName(file.name, reAccept)) {\n msgError(\n `${t('fileFormatNotSupportedMessage')[0]} ${reAccept} ${t('fileFormatNotSupportedMessage')[1]}`\n )\n return false\n }\n\n return true\n }\n\n const reOnValidate: typeof onValidate = (context) => {\n if (onValidate) {\n onValidate(context)\n return\n }\n\n switch (context.type) {\n case 'FILES_OVER_LENGTH_LIMIT':\n msgWarning(`${t('maxUploadMessage')[0]}${props.max}${t('maxUploadMessage')[1]}`)\n break\n case 'FILTER_FILE_SAME_NAME':\n msgWarning(t('sameNameMessage'))\n break\n case 'FILE_OVER_SIZE_LIMIT':\n msgWarning(`${context.files.map((t) => t.name).join(',')} ${t('fileSizeExceedsLimit')}`)\n break\n }\n }\n\n const reFormatResponse: typeof formatResponse = (res, context) => {\n if (formatResponse) return formatResponse(res, context)\n\n if (res.code === 200) {\n const { url, ossId, fileName, uploadTime } = res.data || {}\n return {\n success: true,\n url,\n name: fileName,\n ossId,\n uploadTime: uploadTime || dayjs().format('YYYY-MM-DD HH:mm:ss')\n }\n }\n\n return { status: 'fail', error: res.message || res.msg || t('fileUploadFailed') }\n }\n\n const reOnSuccess: typeof onSuccess = (context) => {\n onSuccess?.(context)\n updateModelValue(fileList.value)\n }\n\n const reOnRemove: typeof onRemove = (context) => {\n onRemove?.(context)\n const { ossId } = context.file?.response || {}\n\n if (ossId) {\n if (props.autoUpload) to(handleDel(ossId))\n else addDel(ossId)\n }\n\n updateModelValue(fileList.value)\n }\n\n const handlePopupRemove: typeof onRemove = (context) => {\n reOnRemove(context)\n if (isEmpty(context.index)) return\n\n fileList.value.splice(context.index, 1)\n }\n\n const reUploadOptions = {\n action: actionUrl,\n theme: ['custom', 'file', 'file-input', 'file-flow', 'image', 'image-flow'].includes(theme)\n ? theme\n : 'custom',\n sizeLimit: reSizeLimit,\n accept: acceptStr,\n multiple: multiple ?? props.max !== 1,\n disabled: onlyView ? true : (disabled ?? (tdDisabled.value || tdReadonly.value)),\n beforeUpload: reBeforeUpload,\n onValidate: reOnValidate,\n formatResponse: reFormatResponse,\n onSuccess: reOnSuccess,\n onRemove: reOnRemove,\n showImageFileName: onlyView ? false : showImageFileName,\n showUploadProgress: onlyView ? false : showUploadProgress,\n showThumbnail: onlyView ? true : showThumbnail,\n draggable: onlyView ? false : draggable,\n ...uploadOptions\n } as TdUploadProps\n\n if (globalUploadPropsV) {\n Object.entries(globalUploadPropsV).forEach(([key, value]) => {\n if (['action'].includes(key) || isEmpty(value)) return\n ;(reUploadOptions as Record<string, unknown>)[key] = value\n })\n }\n\n return {\n theme,\n convStr,\n valueMode,\n accept,\n handlePopupRemove,\n onlyView,\n listOssByIds: {\n ...globalUploadPropsV?.listOssByIds,\n ...listOssByIds\n } as Props['listOssByIds'],\n listOssByUrls: {\n ...globalUploadPropsV?.listOssByUrls,\n ...listOssByUrls\n } as Props['listOssByUrls'],\n del: { ...globalUploadPropsV?.del, ...del } as Props['del'],\n showManualButton,\n uploadOptions: reUploadOptions,\n models: {\n modelValue,\n files\n }\n }\n })\n\n const popupUploadTheme = computed(() => {\n switch (props.theme) {\n case 'btn-image-popup':\n return 'image'\n default:\n return 'file-flow'\n }\n })\n\n const expose = {} as QdUploadInstanceFunctions\n\n const uploadFiles: QdUploadInstanceFunctions['uploadFiles'] = (options) => {\n uploadRef.value?.uploadFiles(options?.files)\n\n return new Promise((resolve, reject) => {\n uploadTimer.value = setInterval(() => {\n const isFinished = fileList.value.every((item) => item.status !== 'progress')\n if (!isFinished) return\n\n clearUploadTimer()\n updateModelValue(fileList.value)\n\n const errorList = fileList.value.filter((item) => item.status === 'fail')\n if (errorList.length) {\n const msg = `${errorList.map((item) => item.name).join(',')} ${t('fileUploadFailed')}`\n if (options?.showErrorMessage !== false) {\n msgError(msg)\n }\n reject(new Error(msg))\n return\n }\n\n resolve(fileList.value)\n }, 100)\n })\n }\n\n function updateModelValue(files: UploadFile[]) {\n const tempModelValue: typeof reModelValue.value = []\n files.forEach((item) => {\n if (item.status !== 'success') return\n tempModelValue.push(item.response![reProps.value.valueMode])\n })\n reModelValue.value = tempModelValue\n }\n\n async function handleDel(\n ossId: string | number | (string | number)[],\n showErrorMessage?: boolean\n ) {\n const { del } = reProps.value\n if (!del) return\n\n const { service, transformParams, transformRes } = del\n\n const currentParams = ossId\n let tParams: TDP | undefined\n\n if (transformParams) {\n const [trErr, trRes] = await suspectedWrapperPromise(transformParams(currentParams as DP))\n if (trErr) throw trErr\n\n tParams = trRes\n }\n\n const [serviceErr, serviceRes] = await to(service(tParams || (currentParams as unknown as TDP)))\n if (serviceErr) throw serviceErr\n\n let res: QdUploadDeleteResult | undefined\n if (transformRes) {\n const [trErr, trRes] = await suspectedWrapperPromise(transformRes(serviceRes))\n if (trErr) throw trErr\n\n res = trRes\n } else {\n res = serviceRes as QdUploadDeleteResult\n }\n\n if (typeof res === 'boolean') {\n res = { success: res, message: '' }\n }\n\n if (!res) {\n res = { success: true, message: '' }\n }\n\n const message = res.message\n if (res.success === false) {\n if (message && showErrorMessage !== false) msgError(message)\n throw new Error(message)\n }\n }\n\n async function addDel(ossId: string | number) {\n delList.value.push(ossId)\n }\n\n async function getOssByIds(ossId: string | number | (string | number)[]) {\n const { listOssByIds } = reProps.value\n if (!listOssByIds) return []\n\n const { service, transformParams, transformRes } = listOssByIds\n\n const currentParams = ossId\n let tParams: TOP | undefined\n\n if (transformParams) {\n const [trErr, trRes] = await suspectedWrapperPromise(transformParams(currentParams as OP))\n if (trErr) throw trErr\n\n tParams = trRes\n }\n\n const [serviceErr, serviceRes] = await to(service(tParams || (currentParams as unknown as TOP)))\n if (serviceErr) throw serviceErr\n\n let res: QdUploadListOssByIdsResult | undefined\n if (transformRes) {\n const [trErr, trRes] = await suspectedWrapperPromise(transformRes(serviceRes))\n if (trErr) throw trErr\n\n res = trRes\n } else {\n res = serviceRes as QdUploadListOssByIdsResult\n }\n\n return res\n }\n\n async function getOssByUrls(ossId: string | string[]) {\n const { listOssByUrls } = reProps.value\n if (!listOssByUrls) return []\n\n const { service, transformParams, transformRes } = listOssByUrls\n\n const currentParams = ossId\n let tParams: TUP | undefined\n\n if (transformParams) {\n const [trErr, trRes] = await suspectedWrapperPromise(transformParams(currentParams as UP))\n if (trErr) throw trErr\n\n tParams = trRes\n }\n\n const [serviceErr, serviceRes] = await to(service(tParams || (currentParams as unknown as TUP)))\n if (serviceErr) throw serviceErr\n\n let res: QdUploadListOssByIdsResult | undefined\n if (transformRes) {\n const [trErr, trRes] = await suspectedWrapperPromise(transformRes(serviceRes))\n if (trErr) throw trErr\n\n res = trRes\n } else {\n res = serviceRes as QdUploadListOssByIdsResult\n }\n\n return res\n }\n\n async function uploadBeforeFormSubmit() {\n const [err] = await to(uploadFiles({ showErrorMessage: false }))\n if (err) return { success: false, message: err.message }\n return true\n }\n\n async function delBeforeFormSubmit() {\n if (!delList.value.length) return true\n\n const [err] = await to(handleDel(delList.value, false))\n if (err) return true\n return true\n }\n\n formAddBeforeSubmitQueue?.(uploadBeforeFormSubmit)\n formAddBeforeSubmitQueue?.(delBeforeFormSubmit)\n\n watch(\n reModelValue,\n async (newVal, oldVal) => {\n if (!newVal.length) {\n fileList.value = []\n return\n }\n if (checkSameObject(newVal, oldVal) || fileList.value.length) return\n\n const { valueMode } = reProps.value\n const apiFn = valueMode === 'url' ? getOssByUrls : getOssByIds\n const [err, res] = await to(apiFn(newVal))\n if (err) return\n\n fileList.value = res.map((item) => {\n const { url, ossId, originalName, fileSize, contentType, createTime } = item\n\n return {\n url,\n uid: ossId,\n name: originalName,\n size: fileSize,\n type: contentType,\n uploadTime: createTime,\n response: { status: 'success', url, ossId, name: originalName, uploadTime: createTime },\n status: 'success'\n }\n }) as unknown as F[]\n },\n { deep: true, immediate: true }\n )\n\n onMounted(() => {\n Object.assign(expose, uploadRef.value, { uploadFiles })\n })\n\n defineExpose(expose)\n</script>\n\n<style lang=\"less\" scoped>\n .qd-upload {\n width: 100%;\n outline: none;\n\n :deep(.t-image-viewer__trigger) {\n display: none;\n }\n\n :deep(.t-upload) {\n &__dragger {\n min-width: auto;\n min-height: 144px;\n width: 100%;\n height: 100%;\n }\n\n &__flow {\n width: 100%;\n min-width: auto;\n max-width: 100%;\n\n &-empty {\n height: auto;\n min-height: 144px;\n }\n\n &-card-area,\n &-table {\n margin-top: var(--td-comp-margin-s);\n }\n }\n }\n\n &__popup-upload {\n :deep(.t-image-viewer__trigger) {\n display: none;\n }\n\n :deep(.t-upload) {\n &__flow-table {\n margin-top: 0;\n }\n }\n\n &--disabled {\n :deep(.t-upload) {\n &__flow-table {\n th:last-child,\n td:last-child {\n display: none;\n }\n }\n }\n }\n }\n\n &:focus {\n :deep(.t-upload__flow-card-area),\n :deep(.t-upload__flow-table) {\n border-color: var(--td-brand-color);\n }\n }\n\n &--only-view {\n :deep(.t-upload) {\n &__flow-empty,\n &__card-mask-item-divider {\n display: none;\n }\n\n &__flow-card-area {\n border-color: var(--td-component-border);\n }\n }\n\n &:not(.qd-upload--btn-image-popup):not(.qd-upload--btn-file-popup) {\n :deep(.t-upload) {\n &__flow-op,\n &__trigger,\n &__flow-bottom {\n display: none;\n }\n\n &__flow-table,\n &__flow-card-area {\n margin-top: 0;\n }\n\n &__card {\n .t-upload__card-item.t-is-background:last-child {\n display: none;\n }\n }\n }\n }\n }\n\n &--hide-manual-upload {\n :deep(.t-upload) {\n &__flow-bottom {\n display: none;\n margin-top: 0;\n }\n }\n }\n\n &--hide-progress {\n :deep(.t-upload) {\n &__flow-table {\n th:last-child,\n td:last-child {\n display: none;\n }\n }\n }\n }\n\n &--disabled {\n :deep(.t-upload__flow-card-area) {\n border-color: var(--td-component-border);\n }\n }\n }\n</style>\n"],"names":["modelValue","t","dayjs","_openBlock","_createBlock","_unref","_mergeProps","_createSlots","TSpace","TButton","_createVNode","_toDisplayString","TPopup","TUpload","_normalizeClass","_createElementVNode","TBadge","_createTextVNode","$slots","_withCtx","_renderSlot","_normalizeProps","_guardReactiveProps"],"mappings":"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"}
1
+ {"version":3,"file":"index.vue2.mjs","sources":["../../../src/components/upload/index.vue"],"sourcesContent":["<template>\n <t-upload\n ref=\"upload\"\n :class=\"[\n 'qd-upload',\n `qd-upload--${reProps.theme}`,\n reProps.onlyView ? 'qd-upload--only-view' : '',\n !reProps.uploadOptions.showUploadProgress && reProps.onlyView\n ? 'qd-upload--hide-progress'\n : '',\n !reProps.uploadOptions.autoUpload && reProps.showManualButton\n ? ''\n : 'qd-upload--hide-manual-upload',\n reProps.uploadOptions.disabled ? 'qd-upload--disabled' : ''\n ]\"\n v-model:files=\"fileList\"\n :tabindex=\"reProps.onlyView || reProps.uploadOptions.disabled ? '' : '0'\"\n v-bind=\"reProps.uploadOptions\"\n >\n <template v-if=\"['btn-file-popup', 'btn-image-popup'].includes(theme)\">\n <t-space align=\"center\" size=\"small\">\n <t-button\n v-if=\"!reProps.onlyView\"\n variant=\"outline\"\n :disabled=\"reProps.uploadOptions.disabled\"\n >\n <template #icon><upload-icon /></template>\n {{\n !fileList.length\n ? t('triggerUploadText').fileInput\n : reProps.uploadOptions.max === 1 || !reProps.uploadOptions.multiple\n ? t('triggerUploadText').reupload\n : t('triggerUploadText').continueUpload\n }}\n </t-button>\n\n <t-popup v-if=\"fileList.length\" show-arrow trigger=\"click\">\n <t-badge :count=\"fileList.length\" size=\"small\" :offset=\"[2, 2]\" @click.stop>\n <t-button variant=\"outline\">\n <template #icon><browse-icon /></template>\n {{ t('viewFileText') }}\n </t-button>\n </t-badge>\n\n <template #content>\n <t-upload\n :class=\"[\n 'qd-upload__popup-upload',\n reProps.uploadOptions.disabled ? 'qd-upload__popup-upload--disabled' : ''\n ]\"\n v-model:files=\"popupFileList\"\n :theme=\"popupUploadTheme\"\n :disabled=\"reProps.uploadOptions.disabled\"\n :on-remove=\"reProps.handlePopupRemove\"\n :show-thumbnail=\"reProps.uploadOptions.showThumbnail\"\n :show-image-file-name=\"reProps.uploadOptions.showImageFileName\"\n :show-upload-progress=\"reProps.uploadOptions.showUploadProgress\"\n >\n <template #trigger><span style=\"display: none\"></span></template>\n </t-upload>\n </template>\n </t-popup>\n </t-space>\n </template>\n\n <template v-for=\"(_, name) in $slots\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </t-upload>\n</template>\n\n<script\n setup\n lang=\"ts\"\n generic=\"\n F extends UploadFile = UploadFile,\n OR = unknown,\n OP extends string | number | (string | number)[] = string | number | (string | number)[],\n TOP = OP,\n UR = unknown,\n UP extends string | string[] = string | string[],\n TUP = UP,\n DR = unknown,\n DP extends string | number | (string | number)[] = string | number | (string | number)[],\n TDP = DP\n \"\n>\n import type {\n SizeLimitObj,\n TdUploadProps,\n UploadFile,\n UploadInstanceFunctions\n } from 'tdesign-vue-next'\n import type {\n QdUploadDeleteResult,\n QdUploadInstanceFunctions,\n QdUploadListOssByIdsResult,\n QdUploadProps\n } from './types'\n import { qdUploadProps, qdUploadSizeLimit } from './props'\n import { useVModels } from '@vueuse/core'\n import { computed, inject, onMounted, useTemplateRef, ref, watch } from 'vue'\n import {\n Upload as TUpload,\n Button as TButton,\n Popup as TPopup,\n Space as TSpace,\n Badge as TBadge\n } from 'tdesign-vue-next'\n import { UploadIcon, BrowseIcon } from 'tdesign-icons-vue-next'\n import {\n checkSameObject,\n easyCopy,\n isEmpty,\n isTypeByName,\n suspectedWrapperPromise,\n to,\n useTimer\n } from 'qidian-shared'\n import dayjs from 'dayjs'\n import { PROVIDE_UPLOAD } from '../config-provider/config'\n import { useConfig } from '../config-provider/useConfig'\n import { useModal, useDisabled, useReadonly } from '../../hooks'\n import { PROVIDE_FORM_ADD_BEFORE_SUBMIT_QUEUE } from '../form'\n import { qdUploadAcceptMap } from './config'\n import { qdDictConvStrSeparator } from '../dict/tag/props'\n\n defineOptions({\n name: 'QdUpload'\n })\n\n type Props = QdUploadProps<F, OR, OP, TOP, UR, UP, TUP, DR, DP, TDP>\n\n const props = withDefaults(defineProps<Props>(), qdUploadProps)\n const emit = defineEmits<{\n 'update:modelValue': [Props['modelValue']]\n 'update:files': [Props['files']]\n }>()\n const { modelValue, files: fileList } = useVModels<typeof props, keyof typeof emit>(props, emit, {\n passive: true\n })\n\n const reModelValue = computed({\n get: () => {\n const { convStr } = reProps.value\n const value = modelValue.value\n if (isEmpty(value)) return []\n if (typeof value === 'string') {\n return value.split((typeof convStr === 'string' ? convStr : '') || qdDictConvStrSeparator)\n }\n\n return value\n },\n set: (val) => {\n const { convStr } = reProps.value\n if (convStr) {\n modelValue.value = val.join(\n (typeof convStr === 'string' ? convStr : '') || qdDictConvStrSeparator\n )\n return\n }\n\n modelValue.value = val\n }\n })\n\n const formAddBeforeSubmitQueue = inject(PROVIDE_FORM_ADD_BEFORE_SUBMIT_QUEUE, undefined)\n const { t } = useConfig('upload')\n const tdReadonly = useReadonly()\n const tdDisabled = useDisabled()\n const { msgError, msgWarning } = useModal()\n const uploadRef = useTemplateRef<UploadInstanceFunctions>('upload')\n const { timer: uploadTimer, clearTimer: clearUploadTimer } = useTimer('interval')\n\n const delList = ref<(string | number)[]>([])\n\n const popupFileList = computed(() => [...fileList.value])\n\n const globalUploadProps = inject(\n PROVIDE_UPLOAD,\n computed(() => undefined)\n )\n const reProps = computed(() => {\n const {\n modelValue,\n files,\n convStr,\n valueMode,\n theme,\n sizeLimit,\n accept,\n multiple,\n disabled,\n beforeUpload,\n onValidate,\n formatResponse,\n onSuccess,\n onRemove,\n\n onlyView,\n listOssByIds,\n listOssByUrls,\n del,\n\n action,\n bucketConfigKey,\n showImageFileName,\n showUploadProgress,\n showThumbnail,\n draggable,\n\n showManualButton,\n ...uploadOptions\n } = props\n const globalUploadPropsV = globalUploadProps.value\n\n const reAction = action || globalUploadPropsV?.action\n const actionUrl = typeof reAction === 'string' ? reAction : reAction?.(bucketConfigKey)\n\n const reSizeLimit = easyCopy(qdUploadSizeLimit) as SizeLimitObj | undefined\n if (reSizeLimit) {\n if (typeof sizeLimit === 'number') {\n reSizeLimit.size = sizeLimit\n reSizeLimit.message = t('sizeLimitMessage')\n } else {\n Object.assign(reSizeLimit, { message: t('sizeLimitMessage') }, sizeLimit)\n }\n }\n\n const reAccept = accept\n ? accept\n : theme.includes('image')\n ? qdUploadAcceptMap.image\n : qdUploadAcceptMap.default\n const acceptStr = reAccept.join(',')\n\n const reBeforeUpload: typeof beforeUpload = (file) => {\n if (beforeUpload) return beforeUpload(file)\n\n if (reAccept && !isTypeByName(file.name, reAccept)) {\n msgError(\n `${t('fileFormatNotSupportedMessage')[0]} ${reAccept} ${t('fileFormatNotSupportedMessage')[1]}`\n )\n return false\n }\n\n return true\n }\n\n const reOnValidate: typeof onValidate = (context) => {\n if (onValidate) {\n onValidate(context)\n return\n }\n\n switch (context.type) {\n case 'FILES_OVER_LENGTH_LIMIT':\n msgWarning(`${t('maxUploadMessage')[0]}${props.max}${t('maxUploadMessage')[1]}`)\n break\n case 'FILTER_FILE_SAME_NAME':\n msgWarning(t('sameNameMessage'))\n break\n case 'FILE_OVER_SIZE_LIMIT':\n msgWarning(`${context.files.map((t) => t.name).join(',')} ${t('fileSizeExceedsLimit')}`)\n break\n }\n }\n\n const reFormatResponse: typeof formatResponse = (res, context) => {\n if (formatResponse) return formatResponse(res, context)\n\n if (res.code === 200) {\n const { url, ossId, fileName, uploadTime } = res.data || {}\n return {\n success: true,\n url,\n name: fileName,\n ossId,\n uploadTime: uploadTime || dayjs().format('YYYY-MM-DD HH:mm:ss')\n }\n }\n\n return { status: 'fail', error: res.message || res.msg || t('fileUploadFailed') }\n }\n\n const reOnSuccess: typeof onSuccess = (context) => {\n onSuccess?.(context)\n updateModelValue(fileList.value)\n }\n\n const reOnRemove: typeof onRemove = (context) => {\n onRemove?.(context)\n const { ossId } = context.file?.response || {}\n\n if (ossId) {\n if (props.autoUpload) to(handleDel(ossId))\n else addDel(ossId)\n }\n\n updateModelValue(fileList.value)\n }\n\n const handlePopupRemove: typeof onRemove = (context) => {\n reOnRemove(context)\n if (isEmpty(context.index)) return\n\n fileList.value.splice(context.index, 1)\n }\n\n const reUploadOptions = {\n action: actionUrl,\n theme: ['custom', 'file', 'file-input', 'file-flow', 'image', 'image-flow'].includes(theme)\n ? theme\n : 'custom',\n sizeLimit: reSizeLimit,\n accept: acceptStr,\n multiple: multiple ?? props.max !== 1,\n disabled: onlyView ? true : (disabled ?? (tdDisabled.value || tdReadonly.value)),\n beforeUpload: reBeforeUpload,\n onValidate: reOnValidate,\n formatResponse: reFormatResponse,\n onSuccess: reOnSuccess,\n onRemove: reOnRemove,\n showImageFileName: onlyView ? false : showImageFileName,\n showUploadProgress: onlyView ? false : showUploadProgress,\n showThumbnail: onlyView ? true : showThumbnail,\n draggable: onlyView ? false : draggable,\n ...uploadOptions\n } as TdUploadProps\n\n if (globalUploadPropsV) {\n Object.entries(globalUploadPropsV).forEach(([key, value]) => {\n if (['action'].includes(key) || isEmpty(value)) return\n ;(reUploadOptions as Record<string, unknown>)[key] = value\n })\n }\n\n return {\n theme,\n convStr,\n valueMode,\n accept,\n handlePopupRemove,\n onlyView,\n listOssByIds: {\n ...globalUploadPropsV?.listOssByIds,\n ...listOssByIds\n } as Props['listOssByIds'],\n listOssByUrls: {\n ...globalUploadPropsV?.listOssByUrls,\n ...listOssByUrls\n } as Props['listOssByUrls'],\n del: { ...globalUploadPropsV?.del, ...del } as Props['del'],\n showManualButton,\n uploadOptions: reUploadOptions,\n models: {\n modelValue,\n files\n }\n }\n })\n\n const popupUploadTheme = computed(() => {\n switch (props.theme) {\n case 'btn-image-popup':\n return 'image'\n default:\n return 'file-flow'\n }\n })\n\n const expose = {} as QdUploadInstanceFunctions\n\n const uploadFiles: QdUploadInstanceFunctions['uploadFiles'] = (options) => {\n uploadRef.value?.uploadFiles(options?.files)\n\n return new Promise((resolve, reject) => {\n uploadTimer.value = setInterval(() => {\n const isFinished = fileList.value.every((item) => item.status !== 'progress')\n if (!isFinished) return\n\n clearUploadTimer()\n updateModelValue(fileList.value)\n\n const errorList = fileList.value.filter((item) => item.status === 'fail')\n if (errorList.length) {\n const msg = `${errorList.map((item) => item.name).join(',')} ${t('fileUploadFailed')}`\n if (options?.showErrorMessage !== false) {\n msgError(msg)\n }\n reject(new Error(msg))\n return\n }\n\n resolve(fileList.value)\n }, 100)\n })\n }\n\n function updateModelValue(files: UploadFile[]) {\n const tempModelValue: typeof reModelValue.value = []\n files.forEach((item) => {\n if (item.status !== 'success') return\n tempModelValue.push(item.response![reProps.value.valueMode])\n })\n reModelValue.value = tempModelValue\n }\n\n async function handleDel(\n ossId: string | number | (string | number)[],\n showErrorMessage?: boolean\n ) {\n const { del } = reProps.value\n if (!del) return\n\n const { service, transformParams, transformRes } = del\n\n const currentParams = ossId\n let tParams: TDP | undefined\n\n if (transformParams) {\n const [trErr, trRes] = await suspectedWrapperPromise(transformParams(currentParams as DP))\n if (trErr) throw trErr\n\n tParams = trRes\n }\n\n const [serviceErr, serviceRes] = await to(service(tParams || (currentParams as unknown as TDP)))\n if (serviceErr) throw serviceErr\n\n let res: QdUploadDeleteResult | undefined\n if (transformRes) {\n const [trErr, trRes] = await suspectedWrapperPromise(transformRes(serviceRes))\n if (trErr) throw trErr\n\n res = trRes\n } else {\n res = serviceRes as QdUploadDeleteResult\n }\n\n if (typeof res === 'boolean') {\n res = { success: res, message: '' }\n }\n\n if (!res) {\n res = { success: true, message: '' }\n }\n\n const message = res.message\n if (res.success === false) {\n if (message && showErrorMessage !== false) msgError(message)\n throw new Error(message)\n }\n }\n\n async function addDel(ossId: string | number) {\n delList.value.push(ossId)\n }\n\n async function getOssByIds(ossId: string | number | (string | number)[]) {\n const { listOssByIds } = reProps.value\n if (!listOssByIds) return []\n\n const { service, transformParams, transformRes } = listOssByIds\n\n const currentParams = ossId\n let tParams: TOP | undefined\n\n if (transformParams) {\n const [trErr, trRes] = await suspectedWrapperPromise(transformParams(currentParams as OP))\n if (trErr) throw trErr\n\n tParams = trRes\n }\n\n const [serviceErr, serviceRes] = await to(service(tParams || (currentParams as unknown as TOP)))\n if (serviceErr) throw serviceErr\n\n let res: QdUploadListOssByIdsResult | undefined\n if (transformRes) {\n const [trErr, trRes] = await suspectedWrapperPromise(transformRes(serviceRes))\n if (trErr) throw trErr\n\n res = trRes\n } else {\n res = serviceRes as QdUploadListOssByIdsResult\n }\n\n return res\n }\n\n async function getOssByUrls(ossId: string | string[]) {\n const { listOssByUrls } = reProps.value\n if (!listOssByUrls) return []\n\n const { service, transformParams, transformRes } = listOssByUrls\n\n const currentParams = ossId\n let tParams: TUP | undefined\n\n if (transformParams) {\n const [trErr, trRes] = await suspectedWrapperPromise(transformParams(currentParams as UP))\n if (trErr) throw trErr\n\n tParams = trRes\n }\n\n const [serviceErr, serviceRes] = await to(service(tParams || (currentParams as unknown as TUP)))\n if (serviceErr) throw serviceErr\n\n let res: QdUploadListOssByIdsResult | undefined\n if (transformRes) {\n const [trErr, trRes] = await suspectedWrapperPromise(transformRes(serviceRes))\n if (trErr) throw trErr\n\n res = trRes\n } else {\n res = serviceRes as QdUploadListOssByIdsResult\n }\n\n return res\n }\n\n async function uploadBeforeFormSubmit() {\n const [err] = await to(uploadFiles({ showErrorMessage: false }))\n if (err) return { success: false, message: err.message }\n return true\n }\n\n async function delBeforeFormSubmit() {\n if (!delList.value.length) return true\n\n const [err] = await to(handleDel(delList.value, false))\n if (err) return true\n return true\n }\n\n formAddBeforeSubmitQueue?.(uploadBeforeFormSubmit)\n formAddBeforeSubmitQueue?.(delBeforeFormSubmit)\n\n watch(\n reModelValue,\n async (newVal, oldVal) => {\n if (checkSameObject(newVal, oldVal)) return\n if (!newVal.length) {\n fileList.value = []\n return\n }\n if (fileList.value.length === newVal.length) return\n\n const { valueMode } = reProps.value\n const apiFn = valueMode === 'url' ? getOssByUrls : getOssByIds\n const [err, res] = await to(apiFn(newVal))\n if (err) return\n\n fileList.value = res.map((item) => {\n const { url, ossId, originalName, fileSize, contentType, createTime } = item\n\n return {\n url,\n uid: ossId,\n name: originalName,\n size: fileSize,\n type: contentType,\n uploadTime: createTime,\n response: { status: 'success', url, ossId, name: originalName, uploadTime: createTime },\n status: 'success'\n }\n }) as unknown as F[]\n },\n { deep: true, immediate: true }\n )\n\n onMounted(() => {\n Object.assign(expose, uploadRef.value, { uploadFiles })\n })\n\n defineExpose(expose)\n</script>\n\n<style lang=\"less\" scoped>\n .qd-upload {\n width: 100%;\n outline: none;\n\n :deep(.t-image-viewer__trigger) {\n display: none;\n }\n\n :deep(.t-upload) {\n &__dragger {\n min-width: auto;\n min-height: 144px;\n width: 100%;\n height: 100%;\n }\n\n &__flow {\n width: 100%;\n min-width: auto;\n max-width: 100%;\n\n &-empty {\n height: auto;\n min-height: 144px;\n }\n\n &-card-area,\n &-table {\n margin-top: var(--td-comp-margin-s);\n }\n }\n }\n\n &__popup-upload {\n :deep(.t-image-viewer__trigger) {\n display: none;\n }\n\n :deep(.t-upload) {\n &__flow-table {\n margin-top: 0;\n }\n }\n\n &--disabled {\n :deep(.t-upload) {\n &__flow-table {\n th:last-child,\n td:last-child {\n display: none;\n }\n }\n }\n }\n }\n\n &:focus {\n :deep(.t-upload__flow-card-area),\n :deep(.t-upload__flow-table) {\n border-color: var(--td-brand-color);\n }\n }\n\n &--only-view {\n :deep(.t-upload) {\n &__flow-empty,\n &__card-mask-item-divider {\n display: none;\n }\n\n &__flow-card-area {\n border-color: var(--td-component-border);\n }\n }\n\n &:not(.qd-upload--btn-image-popup):not(.qd-upload--btn-file-popup) {\n :deep(.t-upload) {\n &__flow-op,\n &__trigger,\n &__flow-bottom {\n display: none;\n }\n\n &__flow-table,\n &__flow-card-area {\n margin-top: 0;\n }\n\n &__card {\n .t-upload__card-item.t-is-background:last-child {\n display: none;\n }\n }\n }\n }\n }\n\n &--hide-manual-upload {\n :deep(.t-upload) {\n &__flow-bottom {\n display: none;\n margin-top: 0;\n }\n }\n }\n\n &--hide-progress {\n :deep(.t-upload) {\n &__flow-table {\n th:last-child,\n td:last-child {\n display: none;\n }\n }\n }\n }\n\n &--disabled {\n :deep(.t-upload__flow-card-area) {\n border-color: var(--td-component-border);\n }\n }\n }\n</style>\n"],"names":["modelValue","t","dayjs","_openBlock","_createBlock","_unref","_mergeProps","_createSlots","TSpace","TButton","_createVNode","_toDisplayString","TPopup","TUpload","_normalizeClass","_createElementVNode","TBadge","_createTextVNode","$slots","_withCtx","_renderSlot","_normalizeProps","_guardReactiveProps"],"mappings":"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"}
@@ -6602,73 +6602,73 @@ code.hljs {
6602
6602
  overflow: hidden;
6603
6603
  margin-right: var(--td-comp-margin-m);
6604
6604
  }
6605
- .qd-upload[data-v-e86a1393] {
6605
+ .qd-upload[data-v-386a89ff] {
6606
6606
  width: 100%;
6607
6607
  outline: none;
6608
6608
  }
6609
- .qd-upload[data-v-e86a1393] .t-image-viewer__trigger {
6609
+ .qd-upload[data-v-386a89ff] .t-image-viewer__trigger {
6610
6610
  display: none;
6611
6611
  }
6612
- .qd-upload[data-v-e86a1393] .t-upload__dragger {
6612
+ .qd-upload[data-v-386a89ff] .t-upload__dragger {
6613
6613
  min-width: auto;
6614
6614
  min-height: 144px;
6615
6615
  width: 100%;
6616
6616
  height: 100%;
6617
6617
  }
6618
- .qd-upload[data-v-e86a1393] .t-upload__flow {
6618
+ .qd-upload[data-v-386a89ff] .t-upload__flow {
6619
6619
  width: 100%;
6620
6620
  min-width: auto;
6621
6621
  max-width: 100%;
6622
6622
  }
6623
- .qd-upload[data-v-e86a1393] .t-upload__flow-empty {
6623
+ .qd-upload[data-v-386a89ff] .t-upload__flow-empty {
6624
6624
  height: auto;
6625
6625
  min-height: 144px;
6626
6626
  }
6627
- .qd-upload[data-v-e86a1393] .t-upload__flow-card-area,
6628
- .qd-upload[data-v-e86a1393] .t-upload__flow-table {
6627
+ .qd-upload[data-v-386a89ff] .t-upload__flow-card-area,
6628
+ .qd-upload[data-v-386a89ff] .t-upload__flow-table {
6629
6629
  margin-top: var(--td-comp-margin-s);
6630
6630
  }
6631
- .qd-upload__popup-upload[data-v-e86a1393] .t-image-viewer__trigger {
6631
+ .qd-upload__popup-upload[data-v-386a89ff] .t-image-viewer__trigger {
6632
6632
  display: none;
6633
6633
  }
6634
- .qd-upload__popup-upload[data-v-e86a1393] .t-upload__flow-table {
6634
+ .qd-upload__popup-upload[data-v-386a89ff] .t-upload__flow-table {
6635
6635
  margin-top: 0;
6636
6636
  }
6637
- .qd-upload__popup-upload--disabled[data-v-e86a1393] .t-upload__flow-table th:last-child,
6638
- .qd-upload__popup-upload--disabled[data-v-e86a1393] .t-upload__flow-table td:last-child {
6637
+ .qd-upload__popup-upload--disabled[data-v-386a89ff] .t-upload__flow-table th:last-child,
6638
+ .qd-upload__popup-upload--disabled[data-v-386a89ff] .t-upload__flow-table td:last-child {
6639
6639
  display: none;
6640
6640
  }
6641
- .qd-upload[data-v-e86a1393]:focus .t-upload__flow-card-area,
6642
- .qd-upload[data-v-e86a1393]:focus .t-upload__flow-table {
6641
+ .qd-upload[data-v-386a89ff]:focus .t-upload__flow-card-area,
6642
+ .qd-upload[data-v-386a89ff]:focus .t-upload__flow-table {
6643
6643
  border-color: var(--td-brand-color);
6644
6644
  }
6645
- .qd-upload--only-view[data-v-e86a1393] .t-upload__flow-empty,
6646
- .qd-upload--only-view[data-v-e86a1393] .t-upload__card-mask-item-divider {
6645
+ .qd-upload--only-view[data-v-386a89ff] .t-upload__flow-empty,
6646
+ .qd-upload--only-view[data-v-386a89ff] .t-upload__card-mask-item-divider {
6647
6647
  display: none;
6648
6648
  }
6649
- .qd-upload--only-view[data-v-e86a1393] .t-upload__flow-card-area {
6649
+ .qd-upload--only-view[data-v-386a89ff] .t-upload__flow-card-area {
6650
6650
  border-color: var(--td-component-border);
6651
6651
  }
6652
- .qd-upload--only-view[data-v-e86a1393]:not(.qd-upload--btn-image-popup):not(.qd-upload--btn-file-popup) .t-upload__flow-op,
6653
- .qd-upload--only-view[data-v-e86a1393]:not(.qd-upload--btn-image-popup):not(.qd-upload--btn-file-popup) .t-upload__trigger,
6654
- .qd-upload--only-view[data-v-e86a1393]:not(.qd-upload--btn-image-popup):not(.qd-upload--btn-file-popup) .t-upload__flow-bottom {
6652
+ .qd-upload--only-view[data-v-386a89ff]:not(.qd-upload--btn-image-popup):not(.qd-upload--btn-file-popup) .t-upload__flow-op,
6653
+ .qd-upload--only-view[data-v-386a89ff]:not(.qd-upload--btn-image-popup):not(.qd-upload--btn-file-popup) .t-upload__trigger,
6654
+ .qd-upload--only-view[data-v-386a89ff]:not(.qd-upload--btn-image-popup):not(.qd-upload--btn-file-popup) .t-upload__flow-bottom {
6655
6655
  display: none;
6656
6656
  }
6657
- .qd-upload--only-view[data-v-e86a1393]:not(.qd-upload--btn-image-popup):not(.qd-upload--btn-file-popup) .t-upload__flow-table,
6658
- .qd-upload--only-view[data-v-e86a1393]:not(.qd-upload--btn-image-popup):not(.qd-upload--btn-file-popup) .t-upload__flow-card-area {
6657
+ .qd-upload--only-view[data-v-386a89ff]:not(.qd-upload--btn-image-popup):not(.qd-upload--btn-file-popup) .t-upload__flow-table,
6658
+ .qd-upload--only-view[data-v-386a89ff]:not(.qd-upload--btn-image-popup):not(.qd-upload--btn-file-popup) .t-upload__flow-card-area {
6659
6659
  margin-top: 0;
6660
6660
  }
6661
- .qd-upload--only-view[data-v-e86a1393]:not(.qd-upload--btn-image-popup):not(.qd-upload--btn-file-popup) .t-upload__card .t-upload__card-item.t-is-background:last-child {
6661
+ .qd-upload--only-view[data-v-386a89ff]:not(.qd-upload--btn-image-popup):not(.qd-upload--btn-file-popup) .t-upload__card .t-upload__card-item.t-is-background:last-child {
6662
6662
  display: none;
6663
6663
  }
6664
- .qd-upload--hide-manual-upload[data-v-e86a1393] .t-upload__flow-bottom {
6664
+ .qd-upload--hide-manual-upload[data-v-386a89ff] .t-upload__flow-bottom {
6665
6665
  display: none;
6666
6666
  margin-top: 0;
6667
6667
  }
6668
- .qd-upload--hide-progress[data-v-e86a1393] .t-upload__flow-table th:last-child,
6669
- .qd-upload--hide-progress[data-v-e86a1393] .t-upload__flow-table td:last-child {
6668
+ .qd-upload--hide-progress[data-v-386a89ff] .t-upload__flow-table th:last-child,
6669
+ .qd-upload--hide-progress[data-v-386a89ff] .t-upload__flow-table td:last-child {
6670
6670
  display: none;
6671
6671
  }
6672
- .qd-upload--disabled[data-v-e86a1393] .t-upload__flow-card-area {
6672
+ .qd-upload--disabled[data-v-386a89ff] .t-upload__flow-card-area {
6673
6673
  border-color: var(--td-component-border);
6674
6674
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "qidian-vue-ui",
3
- "version": "1.1.53",
3
+ "version": "1.1.54",
4
4
  "description": "基于 TDesign 的 QiDian Vue UI 组件库",
5
5
  "author": "qidian",
6
6
  "license": "MIT",