فهرست منبع

fix: 文件上传格式校验

sunhongyao341504 2 سال پیش
والد
کامیت
83b1ade795
2فایلهای تغییر یافته به همراه38 افزوده شده و 11 حذف شده
  1. 35 9
      src/directives/moveable.ts
  2. 3 2
      src/views/page-config/ConfigEdit.vue

+ 35 - 9
src/directives/moveable.ts

@@ -1,4 +1,5 @@
 import { ObjectDirective } from 'vue';
+import { throttle } from 'lodash-es';
 
 export const bindMoveTool = (el: HTMLElement, binding) => {
   const initScale = binding.value ? binding.value : 1;
@@ -34,18 +35,43 @@ export const bindMoveTool = (el: HTMLElement, binding) => {
     transInfo.mouseInit = { x: mouseX, y: mouseY };
   };
 
+  const scaleProcess = (e) => {
+    if (e.wheelDelta > 0) {
+      const newZoom = transInfo.zoom + 0.2;
+      if (newZoom <= 10) {
+        calcTransOrigin(e.clientX, e.clientY);
+        transInfo.zoom = newZoom;
+      }
+    } else if (e.wheelDelta < 0) {
+      const newZoom = transInfo.zoom - 0.2;
+      if (newZoom >= 0.2) {
+        calcTransOrigin(e.clientX, e.clientY);
+        transInfo.zoom = newZoom;
+      }
+    }
+    setBgStyle();
+  };
+
+  const throttleScale = throttle(scaleProcess, 200);
+
   const handleScale = (e) => {
     if (e.ctrlKey) {
       e.preventDefault();
-      calcTransOrigin(e.clientX, e.clientY);
-      if (e.wheelDelta > 0) {
-        const newZoom = transInfo.zoom + 0.2;
-        transInfo.zoom = newZoom > 10 ? 10 : newZoom;
-      } else if (e.wheelDelta < 0) {
-        const newZoom = transInfo.zoom - 0.2;
-        transInfo.zoom = newZoom < 0.2 ? 0.2 : newZoom;
-      }
-      setBgStyle();
+      throttleScale(e);
+      // if (e.wheelDelta > 0) {
+      //   const newZoom = transInfo.zoom + 0.2;
+      //   if (newZoom <= 10) {
+      //     calcTransOrigin(e.clientX, e.clientY);
+      //     transInfo.zoom = newZoom;
+      //   }
+      // } else if (e.wheelDelta < 0) {
+      //   const newZoom = transInfo.zoom - 0.2;
+      //   if (newZoom >= 0.2) {
+      //     calcTransOrigin(e.clientX, e.clientY);
+      //     transInfo.zoom = newZoom;
+      //   }
+      // }
+      // setBgStyle();
     }
   };
 

+ 3 - 2
src/views/page-config/ConfigEdit.vue

@@ -45,6 +45,7 @@
             action="/skyeye-admin-api/homepageConfig/updateCompanyPicture"
             :show-file-list="false"
             :on-success="handleAvatarSuccess"
+            :before-upload="handleBeforeUpload"
             :with-credentials="true"
             name="file"
             :data="{ companyId: selectedCompany, labelId: label, deleteFileName: bgImg }"
@@ -199,9 +200,9 @@
       rawFile.type !== 'image/jpeg' &&
       rawFile.type !== 'image/png'
     ) {
+      ElMessage.error('请上传jpg、jpeg、png格式的图片!');
+      return false;
     }
-    // console.log(rawFile.type);
-    // return false;
   };
 
   /** 判断相机是否已经添加 */