Commit ca3674b006528e69b7a44105b20d41bc38d157a7

Authored by xingyu4j
1 parent 48427994

perf: editor image upload

yudao-ui-admin-vue3/package.json
... ... @@ -26,10 +26,10 @@
26 26 },
27 27 "dependencies": {
28 28 "@iconify/iconify": "^2.2.1",
29   - "@vueuse/core": "^9.0.2",
  29 + "@vueuse/core": "^9.1.0",
30 30 "@wangeditor/editor": "^5.1.14",
31 31 "@wangeditor/editor-for-vue": "^5.1.10",
32   - "@zxcvbn-ts/core": "^2.0.3",
  32 + "@zxcvbn-ts/core": "^2.0.4",
33 33 "animate.css": "^4.1.1",
34 34 "axios": "^0.27.2",
35 35 "dayjs": "^1.11.4",
... ... @@ -49,7 +49,7 @@
49 49 "url": "^0.11.0",
50 50 "vue": "3.2.37",
51 51 "vue-cropper": "^1.0.3",
52   - "vue-i18n": "9.2.0",
  52 + "vue-i18n": "9.2.2",
53 53 "vue-router": "^4.1.3",
54 54 "vue-types": "^4.2.1",
55 55 "web-storage-cache": "^1.1.1"
... ... @@ -62,7 +62,7 @@
62 62 "@purge-icons/generated": "^0.8.1",
63 63 "@types/intro.js": "^5.1.0",
64 64 "@types/lodash-es": "^4.17.6",
65   - "@types/node": "^18.6.3",
  65 + "@types/node": "^18.6.4",
66 66 "@types/nprogress": "^0.2.0",
67 67 "@types/qrcode": "^1.4.2",
68 68 "@types/qs": "^6.9.7",
... ... @@ -92,7 +92,7 @@
92 92 "stylelint-config-standard": "^26.0.0",
93 93 "stylelint-order": "^5.0.0",
94 94 "typescript": "4.7.4",
95   - "unplugin-vue-define-options": "^0.7.1",
  95 + "unplugin-vue-define-options": "^0.7.3",
96 96 "vite": "3.0.4",
97 97 "vite-plugin-compression": "^0.5.1",
98 98 "vite-plugin-eslint": "^1.7.0",
... ... @@ -101,7 +101,7 @@
101 101 "vite-plugin-style-import": "^2.0.0",
102 102 "vite-plugin-svg-icons": "^2.0.1",
103 103 "vite-plugin-windicss": "^1.8.7",
104   - "vue-tsc": "^0.39.4",
  104 + "vue-tsc": "^0.39.5",
105 105 "windicss": "^3.5.6"
106 106 },
107 107 "engines": {
... ...
yudao-ui-admin-vue3/src/components/Editor/src/Editor.vue
... ... @@ -8,6 +8,8 @@ import { ElMessage } from 'element-plus'
8 8 import { useLocaleStore } from '@/store/modules/locale'
9 9 import { getAccessToken, getTenantId } from '@/utils/auth'
10 10  
  11 +type InsertFnType = (url: string, alt: string, href: string) => void
  12 +
11 13 const localeStore = useLocaleStore()
12 14  
13 15 const currentLocale = computed(() => localeStore.getCurrentLocale)
... ... @@ -85,29 +87,58 @@ const editorConfig = computed((): IEditorConfig => {
85 87 ['uploadImage']: {
86 88 server: import.meta.env.VITE_UPLOAD_URL,
87 89 // 单个文件的最大体积限制,默认为 2M
88   - maxFileSize: 2 * 1024 * 1024,
  90 + maxFileSize: 5 * 1024 * 1024,
89 91 // 最多可上传几个文件,默认为 100
90 92 maxNumberOfFiles: 10,
91 93 // 选择文件时的类型限制,默认为 ['image/*'] 。如不想限制,则设置为 []
92 94 allowedFileTypes: ['image/*'],
93 95  
94 96 // 自定义上传参数,例如传递验证的 token 等。参数会被添加到 formData 中,一起上传到服务端。
95   - meta: {},
  97 + meta: { updateSupport: 0 },
96 98 // 将 meta 拼接到 url 参数中,默认 false
97   - metaWithUrl: false,
  99 + metaWithUrl: true,
98 100  
99 101 // 自定义增加 http header
100 102 headers: {
101   - Accept: 'image/*',
  103 + Accept: '*',
102 104 Authorization: 'Bearer ' + getAccessToken(),
103 105 'tenant-id': getTenantId()
104 106 },
105 107  
106 108 // 跨域是否传递 cookie ,默认为 false
107   - withCredentials: false,
  109 + withCredentials: true,
108 110  
109 111 // 超时时间,默认为 10 秒
110   - timeout: 5 * 1000 // 5 秒
  112 + timeout: 5 * 1000, // 5 秒
  113 +
  114 + // form-data fieldName,后端接口参数名称,默认值wangeditor-uploaded-image
  115 + fieldName: 'file',
  116 +
  117 + // 上传之前触发
  118 + onBeforeUpload(file: File) {
  119 + console.log(file)
  120 + return file
  121 + },
  122 + // 上传进度的回调函数
  123 + onProgress(progress: number) {
  124 + // progress 是 0-100 的数字
  125 + console.log('progress', progress)
  126 + },
  127 + onSuccess(file: File, res: any) {
  128 + console.log('onSuccess', file, res)
  129 + },
  130 + onFailed(file: File, res: any) {
  131 + alert(res.message)
  132 + console.log('onFailed', file, res)
  133 + },
  134 + onError(file: File, err: any, res: any) {
  135 + alert(err.message)
  136 + console.error('onError', file, err, res)
  137 + },
  138 + // 自定义插入图片
  139 + customInsert(res: any, insertFn: InsertFnType) {
  140 + insertFn(res.data, 'image', res.data)
  141 + }
111 142 }
112 143 },
113 144 uploadImgShowBase64: true
... ...