Răsfoiți Sursa

feat:perfect-upload

ananzhusen 1 an în urmă
părinte
comite
8be8c72178

+ 9 - 0
src/views/components/FileProps.vue

@@ -71,6 +71,7 @@
               :headers="headers"
               :data="updataData"
               :auto-upload="true"
+              :before-upload="beforeUpload"
               :upload-all-files-in-one-request="false"
               @success="fileSuccessed"
               @remove="fileRemoved"
@@ -336,6 +337,14 @@ const selectedSreen = (item: any) => {
   openData();
 };
 
+const beforeUpload = (file: any) => {
+  if (!(user && user.id)) {
+    MessagePlugin.warning('请先登录!');
+    return false;
+  }
+  return true;
+};
+
 const fileSuccessed = async (content: any) => {
   // meta2d.store.patchFlagsBackground = true;
   meta2d.setBackgroundImage(content.response.url);

+ 16 - 0
src/views/components/Graphics.vue

@@ -74,6 +74,7 @@
                     :data="updataData"
                     :auto-upload="true"
                     :upload-all-files-in-one-request="false"
+                    :before-upload="beforeUpload"
                     @selectChange="onSelectFiles(item)"
                     @success="fileSuccessed"
                     theme="custom"
@@ -248,7 +249,9 @@ import { getCookie } from '@/services/cookie';
 
 import WechatPay from './WechatPay.vue';
 import { filename } from '@/services/file';
+import { useUser } from '@/services/user';
 
+const { user } = useUser();
 const router = useRouter();
 
 const activedGroup = ref('');
@@ -992,6 +995,14 @@ const onSelectFiles = (item: any) => {
   uploadGroup = item;
 };
 
+const beforeUpload = (file: any) => {
+  if (!(user && user.id)) {
+    MessagePlugin.warning('请先登录!');
+    return false;
+  }
+  return true;
+};
+
 const fileSuccessed = async (content: any) => {
   const c: any = {
     name: filename(content.file.name),
@@ -1011,6 +1022,11 @@ const fileSuccessed = async (content: any) => {
       _id: uploadGroup._id || uploadGroup.id,
       list: uploadGroup.list,
     });
+  } else {
+    if (!uploadGroup.list) {
+      uploadGroup.list = [];
+    }
+    uploadGroup.list.push(c);
   }
 };
 

+ 15 - 0
src/views/components/PenProps.vue

@@ -760,6 +760,7 @@
                     accept="image/*"
                     :headers="headers"
                     :data="updataData"
+                    :before-upload="beforeUpload"
                     draggable
                     @success="fileSuccessed"
                     @remove="fileRemoved"
@@ -1068,7 +1069,9 @@ import { useSelection } from '@/services/selections';
 import { autoSave, fonts, inTreePanel } from '@/services/common';
 import { updatePen } from './pen';
 import { MessagePlugin } from 'tdesign-vue-next';
+import { useUser } from '@/services/user';
 
+const { user } = useUser();
 const headers = {
   Authorization: 'Bearer ' + (localStorage.token || getCookie('token') || ''),
 };
@@ -1218,6 +1221,18 @@ const onFontFamily = (fontFamily: string) => {
   changeValue('fontFamily');
 };
 
+const beforeUpload = (file: any) => {
+  // if (file.size > 5 * 1024 * 1024) {
+  //   MessagePlugin.warning('上传的图片不能大于5M');
+  //   return false;
+  // }
+  if (!(user && user.id)) {
+    MessagePlugin.warning('请先登录!');
+    return false;
+  }
+  return true;
+};
+
 const fileSuccessed = async (content: any) => {
   // meta2d.store.patchFlagsBackground = true;
   // meta2d.setBackgroundImage(content.response.url);