Просмотр исходного кода

mod:fabric +vue3图形无法缩放 兼容,新增markRaw处理

panqiuyao 6 месяцев назад
Родитель
Сommit
56556d2e1c

+ 3 - 2
frontend/src/views/components/PictureEditor/mixin/actions/index.js

@@ -7,6 +7,7 @@ import jia from './images/jia.svg'
 import jian from './images/jian.svg'
 import pingpu from './images/pingpu.svg'
 import { uploadBaseImg } from '@/apis/other'
+import { markRaw } from 'vue';
 export default  {
   data() {
     return {
@@ -183,13 +184,13 @@ export default  {
             'mtr':false,
           })
 
-          this.fcanvas.add(img.set({
+          this.fcanvas.add(markRaw(img.set({
             name:"image",
             ...options,
             sort,
             id,
             erasable:erasable,
-          }))
+          })))
           img.moveTo(sort)
           if(img.getScaledWidth() > options.maxWidth){
             let zoom = this.fcanvas.getZoom()

+ 3 - 3
frontend/src/views/components/PictureEditor/mixin/view/index.js

@@ -76,10 +76,10 @@ const viewMixins = {
   created() {
   },
   activated(){
-    if(this.resize) window.addEventListener('resize', this.handleResize);
+  //  if(this.resize) window.addEventListener('resize', this.handleResize);
   },
   deactivated() {
-    if(this.resize) window.removeEventListener('resize', this.handleResize)
+   // if(this.resize) window.removeEventListener('resize', this.handleResize)
   },
   mounted() {
   },
@@ -98,7 +98,7 @@ const viewMixins = {
     async viewInit() {
         // 没有传值进来 默认基准宽度为基准算最大高度
        await this.setMax()
-        if(this.resize) window.addEventListener('resize', this.handleResize);
+      //  if(this.resize) window.addEventListener('resize', this.handleResize);
     },
     // 获取容器的宽高最大值
    async setMax() {

+ 10 - 5
frontend/src/views/components/marketingEdit/index.vue

@@ -61,15 +61,20 @@ export default {
       })
       //保留最初的状态
       this.updateCanvasState()
-      // this.minimapInit()
+       this.minimapInit()
       this.actionInit()
       this.layerInit();
       await  this.$nextTick()
       this.$emit('init')
-
-      this.addMaps('https://ossimg.valimart.net/uploads/vali_ai/20250606/174919236960718.png')
-
-
+      const img = await this.addMaps('https://ossimg.valimart.net/uploads/vali_ai/20250606/174920037639047.png',{
+        name: 'subject',
+        left: 0,
+        top: 0,
+        delable:false,
+        erasable:true,
+        scaleX: this.scale,
+        scaleY: this.scale,
+      })
 
     },
   }