From 19e18a7b6fa5c3a490c4334037ce4b16e2ae8c37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8C=BF=E5=B0=8F=E5=A4=A9?= <1638245306@qq.com> Date: Fri, 28 Apr 2023 18:19:29 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E5=85=A8=E5=B1=80=E9=85=8D=E7=BD=AE):=20?= =?UTF-8?q?=F0=9F=94=A7=20=E5=AD=97=E5=85=B8=E9=85=8D=E7=BD=AE=E5=92=8C?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E4=B8=8A=E4=BC=A0=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/settings.ts | 40 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 38 insertions(+), 2 deletions(-) diff --git a/web/src/settings.ts b/web/src/settings.ts index ed41401..b43526e 100644 --- a/web/src/settings.ts +++ b/web/src/settings.ts @@ -7,7 +7,7 @@ import { setLogger } from '@fast-crud/fast-crud'; import ui from '@fast-crud/ui-element'; import { request } from '/@/utils/service'; //扩展包 -import { FsExtendsEditor } from '@fast-crud/fast-extends'; +import { FsExtendsEditor,FsExtendsUploader } from '@fast-crud/fast-extends'; import '@fast-crud/fast-extends/dist/style.css'; import { successMessage, successNotification } from '/@/utils/message'; export default { @@ -19,7 +19,10 @@ export default { //i18n, //i18n配置,可选,默认使用中文,具体用法请看demo里的 src/i18n/index.js 文件 // 此处配置公共的dictRequest(字典请求) async dictRequest({ dict }: any) { - return await request({ url: dict.url, params: dict.params || {} }); //根据dict的url,异步返回一个字典数组 + //根据dict的url,异步返回一个字典数组 + return await request({ url: dict.url, params: dict.params || {} }).then((res:any)=>{ + return res.data + }); }, //公共crud配置 commonOptions() { @@ -72,6 +75,39 @@ export default { width: 300, }, }); + // 文件上传 + app.use(FsExtendsUploader, { + defaultType: "form", + form: { + action: `/api/system/file/`, + name: "file", + withCredentials: false, + uploadRequest: async ({ action, file, onProgress }) => { + // @ts-ignore + const data = new FormData(); + data.append("file", file); + return await request({ + url: action, + method: "post", + timeout: 60000, + headers: { + "Content-Type": "multipart/form-data" + }, + data, + onUploadProgress: (p) => { + onProgress({ percent: Math.round((p.loaded / p.total) * 100) }); + } + }); + }, + successHandle(ret) { + // 上传完成后的结果处理, 此处应返回格式为{url:xxx,key:xxx} + return { + url: getBaseURL() + ret.data.url, + key: ret.data.id + }; + } + } + }) setLogger({ level: 'error' }); // 设置自动染色 const dictComponentList = ['dict-cascader', 'dict-checkbox', 'dict-radio', 'dict-select', 'dict-switch', 'dict-tree'];