From 93912efc67b138ba74f55c48890f7f2b23c525aa Mon Sep 17 00:00:00 2001 From: dap <15891557205@163.com> Date: Mon, 7 Oct 2024 19:53:59 +0800 Subject: [PATCH] feat: image upload --- .../views/system/oss/image-upload-modal.vue | 51 +++++++++++++++++++ apps/web-antd/src/views/system/oss/index.vue | 14 ++++- 2 files changed, 63 insertions(+), 2 deletions(-) create mode 100644 apps/web-antd/src/views/system/oss/image-upload-modal.vue diff --git a/apps/web-antd/src/views/system/oss/image-upload-modal.vue b/apps/web-antd/src/views/system/oss/image-upload-modal.vue new file mode 100644 index 00000000..87f01456 --- /dev/null +++ b/apps/web-antd/src/views/system/oss/image-upload-modal.vue @@ -0,0 +1,51 @@ + + + diff --git a/apps/web-antd/src/views/system/oss/index.vue b/apps/web-antd/src/views/system/oss/index.vue index febc04b5..5986f8d6 100644 --- a/apps/web-antd/src/views/system/oss/index.vue +++ b/apps/web-antd/src/views/system/oss/index.vue @@ -4,7 +4,7 @@ import type { Recordable } from '@vben/types'; import { onMounted, ref } from 'vue'; import { useRouter } from 'vue-router'; -import { Page, type VbenFormProps } from '@vben/common-ui'; +import { Page, useVbenModal, type VbenFormProps } from '@vben/common-ui'; import { $t } from '@vben/locales'; import { getPopupContainer } from '@vben/utils'; @@ -26,6 +26,7 @@ import { ossDownload, ossList, ossRemove } from '#/api/system/oss'; import { downloadByData } from '#/utils/file/download'; import { columns, querySchema } from './data'; +import imageUploadModal from './image-upload-modal.vue'; const formOptions: VbenFormProps = { commonConfig: { @@ -153,6 +154,9 @@ function isImageFile(ext: string) { const supportList = ['jpg', 'jpeg', 'png', 'gif', 'webp']; return supportList.some((item) => ext.toLocaleLowerCase().includes(item)); } +const [ImageUploadModal, imageUploadApi] = useVbenModal({ + connectedComponent: imageUploadModal, +}); +