diff --git a/src/api/file.ts b/src/api/file/index.ts similarity index 61% rename from src/api/file.ts rename to src/api/file/index.ts index 36bd9a36..80cc5e5f 100644 --- a/src/api/file.ts +++ b/src/api/file/index.ts @@ -1,11 +1,13 @@ import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { FileInfo } from './types'; /** * 上传文件 * * @param file */ -export function uploadFile(file: File) { +export function uploadFileApi(file: File): AxiosPromise { const formData = new FormData(); formData.append('file', file); return request({ @@ -21,12 +23,12 @@ export function uploadFile(file: File) { /** * 删除文件 * - * @param path + * @param fileName 文件名 */ -export function deleteFile(path?: string) { +export function deleteFileApi(fileName?: string) { return request({ url: '/api/v1/files', method: 'delete', - params: { path: path } + params: { fileName: fileName } }); } diff --git a/src/api/file/types.ts b/src/api/file/types.ts new file mode 100644 index 00000000..22b2be55 --- /dev/null +++ b/src/api/file/types.ts @@ -0,0 +1,7 @@ +/** + * 文件API类型声明 + */ +export interface FileInfo { + name: string; + url: string; +} diff --git a/src/components/Upload/MultiUpload.vue b/src/components/Upload/MultiUpload.vue new file mode 100644 index 00000000..fec47b23 --- /dev/null +++ b/src/components/Upload/MultiUpload.vue @@ -0,0 +1,154 @@ + + + + + diff --git a/src/components/Upload/SingleUpload.vue b/src/components/Upload/SingleUpload.vue index a07aea12..99375507 100644 --- a/src/components/Upload/SingleUpload.vue +++ b/src/components/Upload/SingleUpload.vue @@ -1,42 +1,28 @@ - + + diff --git a/src/components/WangEditor/index.vue b/src/components/WangEditor/index.vue index e758cbfb..aeab4d1f 100644 --- a/src/components/WangEditor/index.vue +++ b/src/components/WangEditor/index.vue @@ -24,7 +24,7 @@ import { onBeforeUnmount, shallowRef, reactive, toRefs } from 'vue'; import { Editor, Toolbar } from '@wangeditor/editor-for-vue'; // API 引用 -import { uploadFile } from '@/api/file'; +import { uploadFileApi } from '@/api/file'; const props = defineProps({ modelValue: { @@ -46,8 +46,8 @@ const state = reactive({ uploadImage: { // 自定义图片上传 async customUpload(file: any, insertFn: any) { - uploadFile(file).then(response => { - const url = response.data; + uploadFileApi(file).then(response => { + const url = response.data.url; insertFn(url); }); } diff --git a/src/views/component/uploader.vue b/src/views/component/uploader.vue new file mode 100644 index 00000000..8a4ab8b3 --- /dev/null +++ b/src/views/component/uploader.vue @@ -0,0 +1,33 @@ + +