1
0
tangning 11 stundas atpakaļ
vecāks
revīzija
a215f9c781
1 mainītis faili ar 19 papildinājumiem un 6 dzēšanām
  1. 19 6
      src/view/case/photos/canvas-photo-editor.js

+ 19 - 6
src/view/case/photos/canvas-photo-editor.js

@@ -341,12 +341,25 @@ export class CanvasPhotoEditor {
     const PhotoIndex = this.getPhotoPositionInPage(e)
     const PhotoIndex = this.getPhotoPositionInPage(e)
     console.log('indexingLineList', this.indexingLineList)
     console.log('indexingLineList', this.indexingLineList)
     let isLine = this.indexingLineList.findIndex(item => {
     let isLine = this.indexingLineList.findIndex(item => {
-      let points = item.points
-      let points1 = points[0]
-      let points2 = points[1]
-      console.log('points', points)
-      return this.isPointOnLine(mouseX, mouseY, points1.x, points1.y, points2.x, points2.y)
-    })
+      let points = item.points || [];
+      
+      // 点数量不足2个,直接不匹配
+      if (points.length < 2) return false;
+
+      // 遍历所有相邻两点,判断鼠标是否在任意一段上
+      for (let i = 0; i < points.length - 1; i++) {
+        const p1 = points[i];
+        const p2 = points[i + 1];
+        
+        // 只要有一段满足,就返回 true
+        if (this.isPointOnLine(mouseX, mouseY, p1.x, p1.y, p2.x, p2.y)) {
+          return true;
+        }
+      }
+
+      // 所有线段都不满足
+      return false;
+    });
     this.isLineDel = false
     this.isLineDel = false
     if (isLine != -1) {//选中已生成标引
     if (isLine != -1) {//选中已生成标引
       // 阻止事件冒泡和默认行为,避免鼠标事件持续触发
       // 阻止事件冒泡和默认行为,避免鼠标事件持续触发