From 3c34888959fccc5937dd037880fbe0aae307c1b1 Mon Sep 17 00:00:00 2001 From: xingyu Date: Wed, 20 Jul 2022 13:05:09 +0800 Subject: [PATCH] fix: upload --- .../src/components/Editor/src/Editor.vue | 31 ++++++++++++++++++- .../infra/{file => fileList}/fileList.data.ts | 0 .../views/infra/{file => fileList}/index.vue | 10 +++--- .../src/views/system/user/index.vue | 7 ++--- 4 files changed, 38 insertions(+), 10 deletions(-) rename yudao-ui-admin-vue3/src/views/infra/{file => fileList}/fileList.data.ts (100%) rename yudao-ui-admin-vue3/src/views/infra/{file => fileList}/index.vue (95%) diff --git a/yudao-ui-admin-vue3/src/components/Editor/src/Editor.vue b/yudao-ui-admin-vue3/src/components/Editor/src/Editor.vue index 6a02791e6..f623b735a 100644 --- a/yudao-ui-admin-vue3/src/components/Editor/src/Editor.vue +++ b/yudao-ui-admin-vue3/src/components/Editor/src/Editor.vue @@ -6,6 +6,7 @@ import { propTypes } from '@/utils/propTypes' import { isNumber } from '@/utils/is' import { ElMessage } from 'element-plus' import { useLocaleStore } from '@/store/modules/locale' +import { getAccessToken, getTenantId } from '@/utils/auth' const localeStore = useLocaleStore() @@ -80,12 +81,40 @@ const editorConfig = computed((): IEditorConfig => { }, autoFocus: false, scroll: true, + MENU_CONF: { + ['uploadImage']: { + server: import.meta.env.VITE_UPLOAD_URL, + // 单个文件的最大体积限制,默认为 2M + maxFileSize: 2 * 1024 * 1024, + // 最多可上传几个文件,默认为 100 + maxNumberOfFiles: 10, + // 选择文件时的类型限制,默认为 ['image/*'] 。如不想限制,则设置为 [] + allowedFileTypes: ['image/*'], + + // 自定义上传参数,例如传递验证的 token 等。参数会被添加到 formData 中,一起上传到服务端。 + meta: {}, + // 将 meta 拼接到 url 参数中,默认 false + metaWithUrl: false, + + // 自定义增加 http header + headers: { + Accept: 'image/*', + Authorization: 'Bearer ' + getAccessToken(), + 'tenant-id': getTenantId() + }, + + // 跨域是否传递 cookie ,默认为 false + withCredentials: false, + + // 超时时间,默认为 10 秒 + timeout: 5 * 1000 // 5 秒 + } + }, uploadImgShowBase64: true }, props.editorConfig || {} ) }) - const editorStyle = computed(() => { return { height: isNumber(props.height) ? `${props.height}px` : props.height diff --git a/yudao-ui-admin-vue3/src/views/infra/file/fileList.data.ts b/yudao-ui-admin-vue3/src/views/infra/fileList/fileList.data.ts similarity index 100% rename from yudao-ui-admin-vue3/src/views/infra/file/fileList.data.ts rename to yudao-ui-admin-vue3/src/views/infra/fileList/fileList.data.ts diff --git a/yudao-ui-admin-vue3/src/views/infra/file/index.vue b/yudao-ui-admin-vue3/src/views/infra/fileList/index.vue similarity index 95% rename from yudao-ui-admin-vue3/src/views/infra/file/index.vue rename to yudao-ui-admin-vue3/src/views/infra/fileList/index.vue index d7b93f7bf..67f227ba2 100644 --- a/yudao-ui-admin-vue3/src/views/infra/file/index.vue +++ b/yudao-ui-admin-vue3/src/views/infra/fileList/index.vue @@ -7,8 +7,8 @@ import { useI18n } from '@/hooks/web/useI18n' import type { FileVO } from '@/api/infra/file/types' import { allSchemas } from './fileList.data' import * as FileApi from '@/api/infra/file' -import { useCache } from '@/hooks/web/useCache' -const { wsCache } = useCache() +import { getAccessToken, getTenantId } from '@/utils/auth' + const { t } = useI18n() // 国际化 // ========== 列表相关 ========== @@ -29,7 +29,7 @@ const uploadHeaders = ref() const beforeUpload = (file: UploadRawFile) => { const isImg = file.type === 'image/jpeg' || 'image/gif' || 'image/png' const isLt5M = file.size / 1024 / 1024 < 5 - if (!isImg) ElMessage.error('上传文件只能是 xls / xlsx 格式!') + if (!isImg) ElMessage.error('上传文件只能是 jpeg / gif / png 格式!') if (!isLt5M) ElMessage.error('上传文件大小不能超过 5MB!') return isImg && isLt5M } @@ -40,8 +40,8 @@ const beforeUpload = (file: UploadRawFile) => { // 文件上传 const submitFileForm = () => { uploadHeaders.value = { - Authorization: 'Bearer ' + wsCache.get('ACCESS_TOKEN'), - 'tenant-id': wsCache.get('tenantId') + Authorization: 'Bearer ' + getAccessToken(), + 'tenant-id': getTenantId() } uploadDisabled.value = true uploadRef.value!.submit() diff --git a/yudao-ui-admin-vue3/src/views/system/user/index.vue b/yudao-ui-admin-vue3/src/views/system/user/index.vue index 21db798a2..482925d58 100644 --- a/yudao-ui-admin-vue3/src/views/system/user/index.vue +++ b/yudao-ui-admin-vue3/src/views/system/user/index.vue @@ -30,9 +30,8 @@ import { listSimplePostsApi } from '@/api/system/post' import { rules, allSchemas } from './user.data' import * as UserApi from '@/api/system/user' import download from '@/utils/download' -import { useCache } from '@/hooks/web/useCache' import { CommonStatusEnum } from '@/utils/constants' -const { wsCache } = useCache() +import { getAccessToken, getTenantId } from '@/utils/auth' interface Tree { id: number name: string @@ -216,8 +215,8 @@ const beforeExcelUpload = (file: UploadRawFile) => { const uploadRef = ref() const submitFileForm = () => { uploadHeaders.value = { - Authorization: 'Bearer ' + wsCache.get('ACCESS_TOKEN'), - 'tenant-id': wsCache.get('tenantId') + Authorization: 'Bearer ' + getAccessToken(), + 'tenant-id': getTenantId() } uploadDisabled.value = true uploadRef.value!.submit()