luochaofan %!s(int64=3) %!d(string=hai) anos
pai
achega
f8a2f52546

+ 496 - 91
package-lock.json

@@ -36,7 +36,6 @@
         "webpack-merge": "^5.8.0"
       },
       "peerDependencies": {
-        "@antv/x6": "^1.30.1",
         "@leanwo/lowcode-utils": "^1.6.0-beta.8",
         "@leanwo/lowcode-vue-renderer": "^1.6.0-beta.9",
         "ant-design-vue": "^3.2.15",
@@ -45,6 +44,7 @@
         "dingtalk-jsapi": "^2.10.3",
         "moment": "^2.29.4",
         "pc-component-v3": "^1.0.49",
+        "qrcode": "^1.5.3",
         "uuid": "^8.3.2",
         "v-tooltip": "^4.0.0-beta.17",
         "vue-request": "^1.2.4",
@@ -93,20 +93,6 @@
         "vue": ">=3.0.3"
       }
     },
-    "node_modules/@antv/x6": {
-      "version": "1.30.1",
-      "resolved": "http://wuzhixin.vip:4873/@antv/x6/-/x6-1.30.1.tgz",
-      "integrity": "sha512-bdiiKqlHZyQiZ6MrpqE18cFNNO2aWt+ZwSkTE3UlxyPmkAr9JxISwkr771/Fwc10LOV1ImlTAUpfXd8fxYJaAQ==",
-      "peer": true,
-      "dependencies": {
-        "csstype": "^3.0.3",
-        "jquery": "^3.5.1",
-        "jquery-mousewheel": "^3.1.13",
-        "lodash-es": "^4.17.15",
-        "mousetrap": "^1.6.5",
-        "utility-types": "^3.10.0"
-      }
-    },
     "node_modules/@babel/code-frame": {
       "version": "7.22.5",
       "resolved": "http://wuzhixin.vip:4873/@babel/code-frame/-/code-frame-7.22.5.tgz",
@@ -3138,7 +3124,6 @@
       "version": "5.0.1",
       "resolved": "http://wuzhixin.vip:4873/ansi-regex/-/ansi-regex-5.0.1.tgz",
       "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
-      "dev": true,
       "engines": {
         "node": ">=8"
       }
@@ -3633,6 +3618,17 @@
         "node": ">=6"
       }
     },
+    "node_modules/cliui": {
+      "version": "6.0.0",
+      "resolved": "http://wuzhixin.vip:4873/cliui/-/cliui-6.0.0.tgz",
+      "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
+      "peer": true,
+      "dependencies": {
+        "string-width": "^4.2.0",
+        "strip-ansi": "^6.0.0",
+        "wrap-ansi": "^6.2.0"
+      }
+    },
     "node_modules/clone-deep": {
       "version": "4.0.1",
       "resolved": "http://wuzhixin.vip:4873/clone-deep/-/clone-deep-4.0.1.tgz",
@@ -4076,6 +4072,15 @@
         }
       }
     },
+    "node_modules/decamelize": {
+      "version": "1.2.0",
+      "resolved": "http://wuzhixin.vip:4873/decamelize/-/decamelize-1.2.0.tgz",
+      "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==",
+      "peer": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
     "node_modules/deep-is": {
       "version": "0.1.4",
       "resolved": "http://wuzhixin.vip:4873/deep-is/-/deep-is-0.1.4.tgz",
@@ -4171,6 +4176,12 @@
       "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==",
       "dev": true
     },
+    "node_modules/dijkstrajs": {
+      "version": "1.0.3",
+      "resolved": "http://wuzhixin.vip:4873/dijkstrajs/-/dijkstrajs-1.0.3.tgz",
+      "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==",
+      "peer": true
+    },
     "node_modules/dingtalk-jsapi": {
       "version": "2.15.4",
       "resolved": "http://wuzhixin.vip:4873/dingtalk-jsapi/-/dingtalk-jsapi-2.15.4.tgz",
@@ -4326,6 +4337,12 @@
       "integrity": "sha512-B0CBWVFhvoQCW/XtjRzgrmqcgVWg6RXOEM/dK59+wFV93BFGR6AeNKc4OyhM+T3IhJaOOG8o/V+33Y2mwJWtzw==",
       "dev": true
     },
+    "node_modules/emoji-regex": {
+      "version": "8.0.0",
+      "resolved": "http://wuzhixin.vip:4873/emoji-regex/-/emoji-regex-8.0.0.tgz",
+      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+      "peer": true
+    },
     "node_modules/emojis-list": {
       "version": "3.0.0",
       "resolved": "http://wuzhixin.vip:4873/emojis-list/-/emojis-list-3.0.0.tgz",
@@ -4335,6 +4352,12 @@
         "node": ">= 4"
       }
     },
+    "node_modules/encode-utf8": {
+      "version": "1.0.3",
+      "resolved": "http://wuzhixin.vip:4873/encode-utf8/-/encode-utf8-1.0.3.tgz",
+      "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==",
+      "peer": true
+    },
     "node_modules/encodeurl": {
       "version": "1.0.2",
       "resolved": "http://wuzhixin.vip:4873/encodeurl/-/encodeurl-1.0.2.tgz",
@@ -5290,6 +5313,15 @@
         "node": ">=6.9.0"
       }
     },
+    "node_modules/get-caller-file": {
+      "version": "2.0.5",
+      "resolved": "http://wuzhixin.vip:4873/get-caller-file/-/get-caller-file-2.0.5.tgz",
+      "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+      "peer": true,
+      "engines": {
+        "node": "6.* || 8.* || >= 10.*"
+      }
+    },
     "node_modules/get-intrinsic": {
       "version": "1.2.1",
       "resolved": "http://wuzhixin.vip:4873/get-intrinsic/-/get-intrinsic-1.2.1.tgz",
@@ -5855,6 +5887,15 @@
         "node": ">=0.10.0"
       }
     },
+    "node_modules/is-fullwidth-code-point": {
+      "version": "3.0.0",
+      "resolved": "http://wuzhixin.vip:4873/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+      "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+      "peer": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
     "node_modules/is-glob": {
       "version": "4.0.3",
       "resolved": "http://wuzhixin.vip:4873/is-glob/-/is-glob-4.0.3.tgz",
@@ -6022,18 +6063,6 @@
         "url": "https://github.com/chalk/supports-color?sponsor=1"
       }
     },
-    "node_modules/jquery": {
-      "version": "3.7.0",
-      "resolved": "http://wuzhixin.vip:4873/jquery/-/jquery-3.7.0.tgz",
-      "integrity": "sha512-umpJ0/k8X0MvD1ds0P9SfowREz2LenHsQaxSohMZ5OMNEU2r0tf8pdeEFTHMFxWVxKNyU9rTtK3CWzUCTKJUeQ==",
-      "peer": true
-    },
-    "node_modules/jquery-mousewheel": {
-      "version": "3.1.13",
-      "resolved": "http://wuzhixin.vip:4873/jquery-mousewheel/-/jquery-mousewheel-3.1.13.tgz",
-      "integrity": "sha512-GXhSjfOPyDemM005YCEHvzrEALhKDIswtxSHSR2e4K/suHVJKJxxRCGz3skPjNxjJjQa9AVSGGlYjv1M3VLIPg==",
-      "peer": true
-    },
     "node_modules/js-tokens": {
       "version": "4.0.0",
       "resolved": "http://wuzhixin.vip:4873/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -6520,12 +6549,6 @@
         "node": "*"
       }
     },
-    "node_modules/mousetrap": {
-      "version": "1.6.5",
-      "resolved": "http://wuzhixin.vip:4873/mousetrap/-/mousetrap-1.6.5.tgz",
-      "integrity": "sha512-QNo4kEepaIBwiT8CDhP98umTetp+JNfQYBWvC1pc6/OAibuXtRcxZ58Qz8skvEHYvURne/7R8T5VoOI7rDsEUA==",
-      "peer": true
-    },
     "node_modules/mrmime": {
       "version": "1.0.1",
       "resolved": "http://wuzhixin.vip:4873/mrmime/-/mrmime-1.0.1.tgz",
@@ -6824,7 +6847,6 @@
       "version": "2.2.0",
       "resolved": "http://wuzhixin.vip:4873/p-try/-/p-try-2.2.0.tgz",
       "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-      "dev": true,
       "engines": {
         "node": ">=6"
       }
@@ -6874,7 +6896,6 @@
       "version": "4.0.0",
       "resolved": "http://wuzhixin.vip:4873/path-exists/-/path-exists-4.0.0.tgz",
       "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-      "dev": true,
       "engines": {
         "node": ">=8"
       }
@@ -7048,6 +7069,15 @@
         "node": ">=8"
       }
     },
+    "node_modules/pngjs": {
+      "version": "5.0.0",
+      "resolved": "http://wuzhixin.vip:4873/pngjs/-/pngjs-5.0.0.tgz",
+      "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==",
+      "peer": true,
+      "engines": {
+        "node": ">=10.13.0"
+      }
+    },
     "node_modules/postcss": {
       "version": "8.4.24",
       "resolved": "http://wuzhixin.vip:4873/postcss/-/postcss-8.4.24.tgz",
@@ -7215,6 +7245,24 @@
         "node": ">=6"
       }
     },
+    "node_modules/qrcode": {
+      "version": "1.5.3",
+      "resolved": "http://wuzhixin.vip:4873/qrcode/-/qrcode-1.5.3.tgz",
+      "integrity": "sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==",
+      "peer": true,
+      "dependencies": {
+        "dijkstrajs": "^1.0.1",
+        "encode-utf8": "^1.0.3",
+        "pngjs": "^5.0.0",
+        "yargs": "^15.3.1"
+      },
+      "bin": {
+        "qrcode": "bin/qrcode"
+      },
+      "engines": {
+        "node": ">=10.13.0"
+      }
+    },
     "node_modules/qs": {
       "version": "6.11.0",
       "resolved": "http://wuzhixin.vip:4873/qs/-/qs-6.11.0.tgz",
@@ -7422,6 +7470,15 @@
         "strip-ansi": "^6.0.1"
       }
     },
+    "node_modules/require-directory": {
+      "version": "2.1.1",
+      "resolved": "http://wuzhixin.vip:4873/require-directory/-/require-directory-2.1.1.tgz",
+      "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+      "peer": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
     "node_modules/require-from-string": {
       "version": "2.0.2",
       "resolved": "http://wuzhixin.vip:4873/require-from-string/-/require-from-string-2.0.2.tgz",
@@ -7431,6 +7488,12 @@
         "node": ">=0.10.0"
       }
     },
+    "node_modules/require-main-filename": {
+      "version": "2.0.0",
+      "resolved": "http://wuzhixin.vip:4873/require-main-filename/-/require-main-filename-2.0.0.tgz",
+      "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
+      "peer": true
+    },
     "node_modules/requires-port": {
       "version": "1.0.0",
       "resolved": "http://wuzhixin.vip:4873/requires-port/-/requires-port-1.0.0.tgz",
@@ -7771,6 +7834,12 @@
         "node": ">= 0.8.0"
       }
     },
+    "node_modules/set-blocking": {
+      "version": "2.0.0",
+      "resolved": "http://wuzhixin.vip:4873/set-blocking/-/set-blocking-2.0.0.tgz",
+      "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==",
+      "peer": true
+    },
     "node_modules/setprototypeof": {
       "version": "1.2.0",
       "resolved": "http://wuzhixin.vip:4873/setprototypeof/-/setprototypeof-1.2.0.tgz",
@@ -7962,11 +8031,24 @@
         "safe-buffer": "~5.2.0"
       }
     },
+    "node_modules/string-width": {
+      "version": "4.2.3",
+      "resolved": "http://wuzhixin.vip:4873/string-width/-/string-width-4.2.3.tgz",
+      "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+      "peer": true,
+      "dependencies": {
+        "emoji-regex": "^8.0.0",
+        "is-fullwidth-code-point": "^3.0.0",
+        "strip-ansi": "^6.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
     "node_modules/strip-ansi": {
       "version": "6.0.1",
       "resolved": "http://wuzhixin.vip:4873/strip-ansi/-/strip-ansi-6.0.1.tgz",
       "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
-      "dev": true,
       "dependencies": {
         "ansi-regex": "^5.0.1"
       },
@@ -8357,15 +8439,6 @@
       "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==",
       "dev": true
     },
-    "node_modules/utility-types": {
-      "version": "3.10.0",
-      "resolved": "http://wuzhixin.vip:4873/utility-types/-/utility-types-3.10.0.tgz",
-      "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==",
-      "peer": true,
-      "engines": {
-        "node": ">= 4"
-      }
-    },
     "node_modules/utils-merge": {
       "version": "1.0.1",
       "resolved": "http://wuzhixin.vip:4873/utils-merge/-/utils-merge-1.0.1.tgz",
@@ -9230,6 +9303,12 @@
         "node": ">= 8"
       }
     },
+    "node_modules/which-module": {
+      "version": "2.0.1",
+      "resolved": "http://wuzhixin.vip:4873/which-module/-/which-module-2.0.1.tgz",
+      "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==",
+      "peer": true
+    },
     "node_modules/wildcard": {
       "version": "2.0.1",
       "resolved": "http://wuzhixin.vip:4873/wildcard/-/wildcard-2.0.1.tgz",
@@ -9245,6 +9324,53 @@
         "node": ">=0.10.0"
       }
     },
+    "node_modules/wrap-ansi": {
+      "version": "6.2.0",
+      "resolved": "http://wuzhixin.vip:4873/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
+      "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
+      "peer": true,
+      "dependencies": {
+        "ansi-styles": "^4.0.0",
+        "string-width": "^4.1.0",
+        "strip-ansi": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/wrap-ansi/node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "http://wuzhixin.vip:4873/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+      "peer": true,
+      "dependencies": {
+        "color-convert": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/wrap-ansi/node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "http://wuzhixin.vip:4873/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+      "peer": true,
+      "dependencies": {
+        "color-name": "~1.1.4"
+      },
+      "engines": {
+        "node": ">=7.0.0"
+      }
+    },
+    "node_modules/wrap-ansi/node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "http://wuzhixin.vip:4873/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+      "peer": true
+    },
     "node_modules/wrappy": {
       "version": "1.0.2",
       "resolved": "http://wuzhixin.vip:4873/wrappy/-/wrappy-1.0.2.tgz",
@@ -9272,6 +9398,12 @@
         }
       }
     },
+    "node_modules/y18n": {
+      "version": "4.0.3",
+      "resolved": "http://wuzhixin.vip:4873/y18n/-/y18n-4.0.3.tgz",
+      "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==",
+      "peer": true
+    },
     "node_modules/yallist": {
       "version": "3.1.1",
       "resolved": "http://wuzhixin.vip:4873/yallist/-/yallist-3.1.1.tgz",
@@ -9307,6 +9439,102 @@
         "node": ">=4"
       }
     },
+    "node_modules/yargs": {
+      "version": "15.4.1",
+      "resolved": "http://wuzhixin.vip:4873/yargs/-/yargs-15.4.1.tgz",
+      "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
+      "peer": true,
+      "dependencies": {
+        "cliui": "^6.0.0",
+        "decamelize": "^1.2.0",
+        "find-up": "^4.1.0",
+        "get-caller-file": "^2.0.1",
+        "require-directory": "^2.1.1",
+        "require-main-filename": "^2.0.0",
+        "set-blocking": "^2.0.0",
+        "string-width": "^4.2.0",
+        "which-module": "^2.0.0",
+        "y18n": "^4.0.0",
+        "yargs-parser": "^18.1.2"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/yargs-parser": {
+      "version": "18.1.3",
+      "resolved": "http://wuzhixin.vip:4873/yargs-parser/-/yargs-parser-18.1.3.tgz",
+      "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
+      "peer": true,
+      "dependencies": {
+        "camelcase": "^5.0.0",
+        "decamelize": "^1.2.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/yargs-parser/node_modules/camelcase": {
+      "version": "5.3.1",
+      "resolved": "http://wuzhixin.vip:4873/camelcase/-/camelcase-5.3.1.tgz",
+      "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+      "peer": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/yargs/node_modules/find-up": {
+      "version": "4.1.0",
+      "resolved": "http://wuzhixin.vip:4873/find-up/-/find-up-4.1.0.tgz",
+      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+      "peer": true,
+      "dependencies": {
+        "locate-path": "^5.0.0",
+        "path-exists": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/yargs/node_modules/locate-path": {
+      "version": "5.0.0",
+      "resolved": "http://wuzhixin.vip:4873/locate-path/-/locate-path-5.0.0.tgz",
+      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+      "peer": true,
+      "dependencies": {
+        "p-locate": "^4.1.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/yargs/node_modules/p-limit": {
+      "version": "2.3.0",
+      "resolved": "http://wuzhixin.vip:4873/p-limit/-/p-limit-2.3.0.tgz",
+      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+      "peer": true,
+      "dependencies": {
+        "p-try": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/yargs/node_modules/p-locate": {
+      "version": "4.1.0",
+      "resolved": "http://wuzhixin.vip:4873/p-locate/-/p-locate-4.1.0.tgz",
+      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+      "peer": true,
+      "dependencies": {
+        "p-limit": "^2.2.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
     "node_modules/yocto-queue": {
       "version": "0.1.0",
       "resolved": "http://wuzhixin.vip:4873/yocto-queue/-/yocto-queue-0.1.0.tgz",
@@ -9356,20 +9584,6 @@
         "@ant-design/icons-svg": "^4.2.1"
       }
     },
-    "@antv/x6": {
-      "version": "1.30.1",
-      "resolved": "http://wuzhixin.vip:4873/@antv/x6/-/x6-1.30.1.tgz",
-      "integrity": "sha512-bdiiKqlHZyQiZ6MrpqE18cFNNO2aWt+ZwSkTE3UlxyPmkAr9JxISwkr771/Fwc10LOV1ImlTAUpfXd8fxYJaAQ==",
-      "peer": true,
-      "requires": {
-        "csstype": "^3.0.3",
-        "jquery": "^3.5.1",
-        "jquery-mousewheel": "^3.1.13",
-        "lodash-es": "^4.17.15",
-        "mousetrap": "^1.6.5",
-        "utility-types": "^3.10.0"
-      }
-    },
     "@babel/code-frame": {
       "version": "7.22.5",
       "resolved": "http://wuzhixin.vip:4873/@babel/code-frame/-/code-frame-7.22.5.tgz",
@@ -11633,8 +11847,7 @@
     "ansi-regex": {
       "version": "5.0.1",
       "resolved": "http://wuzhixin.vip:4873/ansi-regex/-/ansi-regex-5.0.1.tgz",
-      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
-      "dev": true
+      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
     },
     "ansi-styles": {
       "version": "3.2.1",
@@ -11995,6 +12208,17 @@
       "integrity": "sha512-sbplNecrup5oGqA3o4bo8XmvHRT6q9fvw21Z67aDbTqB9M6LF7CuYLTlLvNtOgKU6W3zst5H5zJuEh4auqA34g==",
       "peer": true
     },
+    "cliui": {
+      "version": "6.0.0",
+      "resolved": "http://wuzhixin.vip:4873/cliui/-/cliui-6.0.0.tgz",
+      "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
+      "peer": true,
+      "requires": {
+        "string-width": "^4.2.0",
+        "strip-ansi": "^6.0.0",
+        "wrap-ansi": "^6.2.0"
+      }
+    },
     "clone-deep": {
       "version": "4.0.1",
       "resolved": "http://wuzhixin.vip:4873/clone-deep/-/clone-deep-4.0.1.tgz",
@@ -12332,6 +12556,12 @@
         "ms": "2.1.2"
       }
     },
+    "decamelize": {
+      "version": "1.2.0",
+      "resolved": "http://wuzhixin.vip:4873/decamelize/-/decamelize-1.2.0.tgz",
+      "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==",
+      "peer": true
+    },
     "deep-is": {
       "version": "0.1.4",
       "resolved": "http://wuzhixin.vip:4873/deep-is/-/deep-is-0.1.4.tgz",
@@ -12409,6 +12639,12 @@
       "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==",
       "dev": true
     },
+    "dijkstrajs": {
+      "version": "1.0.3",
+      "resolved": "http://wuzhixin.vip:4873/dijkstrajs/-/dijkstrajs-1.0.3.tgz",
+      "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==",
+      "peer": true
+    },
     "dingtalk-jsapi": {
       "version": "2.15.4",
       "resolved": "http://wuzhixin.vip:4873/dingtalk-jsapi/-/dingtalk-jsapi-2.15.4.tgz",
@@ -12537,12 +12773,24 @@
       "integrity": "sha512-B0CBWVFhvoQCW/XtjRzgrmqcgVWg6RXOEM/dK59+wFV93BFGR6AeNKc4OyhM+T3IhJaOOG8o/V+33Y2mwJWtzw==",
       "dev": true
     },
+    "emoji-regex": {
+      "version": "8.0.0",
+      "resolved": "http://wuzhixin.vip:4873/emoji-regex/-/emoji-regex-8.0.0.tgz",
+      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+      "peer": true
+    },
     "emojis-list": {
       "version": "3.0.0",
       "resolved": "http://wuzhixin.vip:4873/emojis-list/-/emojis-list-3.0.0.tgz",
       "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
       "dev": true
     },
+    "encode-utf8": {
+      "version": "1.0.3",
+      "resolved": "http://wuzhixin.vip:4873/encode-utf8/-/encode-utf8-1.0.3.tgz",
+      "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==",
+      "peer": true
+    },
     "encodeurl": {
       "version": "1.0.2",
       "resolved": "http://wuzhixin.vip:4873/encodeurl/-/encodeurl-1.0.2.tgz",
@@ -13253,6 +13501,12 @@
       "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
       "dev": true
     },
+    "get-caller-file": {
+      "version": "2.0.5",
+      "resolved": "http://wuzhixin.vip:4873/get-caller-file/-/get-caller-file-2.0.5.tgz",
+      "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+      "peer": true
+    },
     "get-intrinsic": {
       "version": "1.2.1",
       "resolved": "http://wuzhixin.vip:4873/get-intrinsic/-/get-intrinsic-1.2.1.tgz",
@@ -13654,6 +13908,12 @@
       "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
       "dev": true
     },
+    "is-fullwidth-code-point": {
+      "version": "3.0.0",
+      "resolved": "http://wuzhixin.vip:4873/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+      "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+      "peer": true
+    },
     "is-glob": {
       "version": "4.0.3",
       "resolved": "http://wuzhixin.vip:4873/is-glob/-/is-glob-4.0.3.tgz",
@@ -13774,18 +14034,6 @@
         }
       }
     },
-    "jquery": {
-      "version": "3.7.0",
-      "resolved": "http://wuzhixin.vip:4873/jquery/-/jquery-3.7.0.tgz",
-      "integrity": "sha512-umpJ0/k8X0MvD1ds0P9SfowREz2LenHsQaxSohMZ5OMNEU2r0tf8pdeEFTHMFxWVxKNyU9rTtK3CWzUCTKJUeQ==",
-      "peer": true
-    },
-    "jquery-mousewheel": {
-      "version": "3.1.13",
-      "resolved": "http://wuzhixin.vip:4873/jquery-mousewheel/-/jquery-mousewheel-3.1.13.tgz",
-      "integrity": "sha512-GXhSjfOPyDemM005YCEHvzrEALhKDIswtxSHSR2e4K/suHVJKJxxRCGz3skPjNxjJjQa9AVSGGlYjv1M3VLIPg==",
-      "peer": true
-    },
     "js-tokens": {
       "version": "4.0.0",
       "resolved": "http://wuzhixin.vip:4873/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -14150,12 +14398,6 @@
       "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==",
       "peer": true
     },
-    "mousetrap": {
-      "version": "1.6.5",
-      "resolved": "http://wuzhixin.vip:4873/mousetrap/-/mousetrap-1.6.5.tgz",
-      "integrity": "sha512-QNo4kEepaIBwiT8CDhP98umTetp+JNfQYBWvC1pc6/OAibuXtRcxZ58Qz8skvEHYvURne/7R8T5VoOI7rDsEUA==",
-      "peer": true
-    },
     "mrmime": {
       "version": "1.0.1",
       "resolved": "http://wuzhixin.vip:4873/mrmime/-/mrmime-1.0.1.tgz",
@@ -14372,8 +14614,7 @@
     "p-try": {
       "version": "2.2.0",
       "resolved": "http://wuzhixin.vip:4873/p-try/-/p-try-2.2.0.tgz",
-      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-      "dev": true
+      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
     },
     "param-case": {
       "version": "3.0.4",
@@ -14413,8 +14654,7 @@
     "path-exists": {
       "version": "4.0.0",
       "resolved": "http://wuzhixin.vip:4873/path-exists/-/path-exists-4.0.0.tgz",
-      "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-      "dev": true
+      "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="
     },
     "path-is-absolute": {
       "version": "1.0.1",
@@ -14539,6 +14779,12 @@
         }
       }
     },
+    "pngjs": {
+      "version": "5.0.0",
+      "resolved": "http://wuzhixin.vip:4873/pngjs/-/pngjs-5.0.0.tgz",
+      "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==",
+      "peer": true
+    },
     "postcss": {
       "version": "8.4.24",
       "resolved": "http://wuzhixin.vip:4873/postcss/-/postcss-8.4.24.tgz",
@@ -14653,6 +14899,18 @@
       "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==",
       "dev": true
     },
+    "qrcode": {
+      "version": "1.5.3",
+      "resolved": "http://wuzhixin.vip:4873/qrcode/-/qrcode-1.5.3.tgz",
+      "integrity": "sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==",
+      "peer": true,
+      "requires": {
+        "dijkstrajs": "^1.0.1",
+        "encode-utf8": "^1.0.3",
+        "pngjs": "^5.0.0",
+        "yargs": "^15.3.1"
+      }
+    },
     "qs": {
       "version": "6.11.0",
       "resolved": "http://wuzhixin.vip:4873/qs/-/qs-6.11.0.tgz",
@@ -14811,12 +15069,24 @@
         "strip-ansi": "^6.0.1"
       }
     },
+    "require-directory": {
+      "version": "2.1.1",
+      "resolved": "http://wuzhixin.vip:4873/require-directory/-/require-directory-2.1.1.tgz",
+      "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+      "peer": true
+    },
     "require-from-string": {
       "version": "2.0.2",
       "resolved": "http://wuzhixin.vip:4873/require-from-string/-/require-from-string-2.0.2.tgz",
       "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
       "dev": true
     },
+    "require-main-filename": {
+      "version": "2.0.0",
+      "resolved": "http://wuzhixin.vip:4873/require-main-filename/-/require-main-filename-2.0.0.tgz",
+      "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
+      "peer": true
+    },
     "requires-port": {
       "version": "1.0.0",
       "resolved": "http://wuzhixin.vip:4873/requires-port/-/requires-port-1.0.0.tgz",
@@ -15081,6 +15351,12 @@
         "send": "0.18.0"
       }
     },
+    "set-blocking": {
+      "version": "2.0.0",
+      "resolved": "http://wuzhixin.vip:4873/set-blocking/-/set-blocking-2.0.0.tgz",
+      "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==",
+      "peer": true
+    },
     "setprototypeof": {
       "version": "1.2.0",
       "resolved": "http://wuzhixin.vip:4873/setprototypeof/-/setprototypeof-1.2.0.tgz",
@@ -15236,11 +15512,21 @@
         "safe-buffer": "~5.2.0"
       }
     },
+    "string-width": {
+      "version": "4.2.3",
+      "resolved": "http://wuzhixin.vip:4873/string-width/-/string-width-4.2.3.tgz",
+      "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+      "peer": true,
+      "requires": {
+        "emoji-regex": "^8.0.0",
+        "is-fullwidth-code-point": "^3.0.0",
+        "strip-ansi": "^6.0.1"
+      }
+    },
     "strip-ansi": {
       "version": "6.0.1",
       "resolved": "http://wuzhixin.vip:4873/strip-ansi/-/strip-ansi-6.0.1.tgz",
       "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
-      "dev": true,
       "requires": {
         "ansi-regex": "^5.0.1"
       }
@@ -15497,12 +15783,6 @@
       "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==",
       "dev": true
     },
-    "utility-types": {
-      "version": "3.10.0",
-      "resolved": "http://wuzhixin.vip:4873/utility-types/-/utility-types-3.10.0.tgz",
-      "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==",
-      "peer": true
-    },
     "utils-merge": {
       "version": "1.0.1",
       "resolved": "http://wuzhixin.vip:4873/utils-merge/-/utils-merge-1.0.1.tgz",
@@ -16095,6 +16375,12 @@
         "isexe": "^2.0.0"
       }
     },
+    "which-module": {
+      "version": "2.0.1",
+      "resolved": "http://wuzhixin.vip:4873/which-module/-/which-module-2.0.1.tgz",
+      "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==",
+      "peer": true
+    },
     "wildcard": {
       "version": "2.0.1",
       "resolved": "http://wuzhixin.vip:4873/wildcard/-/wildcard-2.0.1.tgz",
@@ -16107,6 +16393,43 @@
       "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
       "dev": true
     },
+    "wrap-ansi": {
+      "version": "6.2.0",
+      "resolved": "http://wuzhixin.vip:4873/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
+      "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
+      "peer": true,
+      "requires": {
+        "ansi-styles": "^4.0.0",
+        "string-width": "^4.1.0",
+        "strip-ansi": "^6.0.0"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "4.3.0",
+          "resolved": "http://wuzhixin.vip:4873/ansi-styles/-/ansi-styles-4.3.0.tgz",
+          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+          "peer": true,
+          "requires": {
+            "color-convert": "^2.0.1"
+          }
+        },
+        "color-convert": {
+          "version": "2.0.1",
+          "resolved": "http://wuzhixin.vip:4873/color-convert/-/color-convert-2.0.1.tgz",
+          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+          "peer": true,
+          "requires": {
+            "color-name": "~1.1.4"
+          }
+        },
+        "color-name": {
+          "version": "1.1.4",
+          "resolved": "http://wuzhixin.vip:4873/color-name/-/color-name-1.1.4.tgz",
+          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+          "peer": true
+        }
+      }
+    },
     "wrappy": {
       "version": "1.0.2",
       "resolved": "http://wuzhixin.vip:4873/wrappy/-/wrappy-1.0.2.tgz",
@@ -16120,6 +16443,12 @@
       "dev": true,
       "requires": {}
     },
+    "y18n": {
+      "version": "4.0.3",
+      "resolved": "http://wuzhixin.vip:4873/y18n/-/y18n-4.0.3.tgz",
+      "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==",
+      "peer": true
+    },
     "yallist": {
       "version": "3.1.1",
       "resolved": "http://wuzhixin.vip:4873/yallist/-/yallist-3.1.1.tgz",
@@ -16151,6 +16480,82 @@
         }
       }
     },
+    "yargs": {
+      "version": "15.4.1",
+      "resolved": "http://wuzhixin.vip:4873/yargs/-/yargs-15.4.1.tgz",
+      "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
+      "peer": true,
+      "requires": {
+        "cliui": "^6.0.0",
+        "decamelize": "^1.2.0",
+        "find-up": "^4.1.0",
+        "get-caller-file": "^2.0.1",
+        "require-directory": "^2.1.1",
+        "require-main-filename": "^2.0.0",
+        "set-blocking": "^2.0.0",
+        "string-width": "^4.2.0",
+        "which-module": "^2.0.0",
+        "y18n": "^4.0.0",
+        "yargs-parser": "^18.1.2"
+      },
+      "dependencies": {
+        "find-up": {
+          "version": "4.1.0",
+          "resolved": "http://wuzhixin.vip:4873/find-up/-/find-up-4.1.0.tgz",
+          "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+          "peer": true,
+          "requires": {
+            "locate-path": "^5.0.0",
+            "path-exists": "^4.0.0"
+          }
+        },
+        "locate-path": {
+          "version": "5.0.0",
+          "resolved": "http://wuzhixin.vip:4873/locate-path/-/locate-path-5.0.0.tgz",
+          "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+          "peer": true,
+          "requires": {
+            "p-locate": "^4.1.0"
+          }
+        },
+        "p-limit": {
+          "version": "2.3.0",
+          "resolved": "http://wuzhixin.vip:4873/p-limit/-/p-limit-2.3.0.tgz",
+          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+          "peer": true,
+          "requires": {
+            "p-try": "^2.0.0"
+          }
+        },
+        "p-locate": {
+          "version": "4.1.0",
+          "resolved": "http://wuzhixin.vip:4873/p-locate/-/p-locate-4.1.0.tgz",
+          "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+          "peer": true,
+          "requires": {
+            "p-limit": "^2.2.0"
+          }
+        }
+      }
+    },
+    "yargs-parser": {
+      "version": "18.1.3",
+      "resolved": "http://wuzhixin.vip:4873/yargs-parser/-/yargs-parser-18.1.3.tgz",
+      "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
+      "peer": true,
+      "requires": {
+        "camelcase": "^5.0.0",
+        "decamelize": "^1.2.0"
+      },
+      "dependencies": {
+        "camelcase": {
+          "version": "5.3.1",
+          "resolved": "http://wuzhixin.vip:4873/camelcase/-/camelcase-5.3.1.tgz",
+          "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+          "peer": true
+        }
+      }
+    },
     "yocto-queue": {
       "version": "0.1.0",
       "resolved": "http://wuzhixin.vip:4873/yocto-queue/-/yocto-queue-0.1.0.tgz",

+ 2 - 1
package.json

@@ -25,7 +25,8 @@
     "v-tooltip": "^4.0.0-beta.17",
     "vue-request": "^1.2.4",
     "vue-select": "^4.0.0-beta.6",
-    "vuedraggable": "^4.1.0"
+    "vuedraggable": "^4.1.0",
+    "qrcode": "^1.5.3"
   },
   "devDependencies": {
     "@babel/core": "^7.17.5",

+ 75 - 75
src/common/X6.js

@@ -1,84 +1,84 @@
 import { Graph, Shape, Addon, DataUri } from '@antv/x6';
-import QRCode from "qrcode";
+import QRCode from 'qrcode';
 
 
 // 字符串转base64
-const textQrcodeToBase64 = (text) => {
-    return new Promise((res, rej) => {
-        QRCode.toDataURL(
-            text, // 二维码字符串
-            {
-                type: "image/png", // 生成dataurl图片格式
-                width: 200, // 二维码宽度
-                quality: 0.8, // 质量
-                margin: 1, // 白边大小
-                color: {
-                    dark: "#000", // 暗色颜色
-                    light: "#fff", // 亮色颜色
-                },
-            },
-            (err, dataUrl) => {
-                if (err) rej(err);
-                res(dataUrl);
-            }
-        );
-    });
-}
+const textQrcodeToBase64 = text => {
+  return new Promise((res, rej) => {
+    QRCode.toDataURL(
+      text, // 二维码字符串
+      {
+        type: 'image/png', // 生成dataurl图片格式
+        width: 200, // 二维码宽度
+        quality: 0.8, // 质量
+        margin: 1, // 白边大小
+        color: {
+          dark: '#000', // 暗色颜色
+          light: '#fff', // 亮色颜色
+        },
+      },
+      (err, dataUrl) => {
+        if (err) rej(err);
+        res(dataUrl);
+      },
+    );
+  });
+};
 export default function CreateJPEG(dom) {
-    console.log(dom);
-    return function (json,temp) {
-        return new Promise(async (res) => {
-            let graph = new Graph(
-                {
-                    container: dom,
-                    width: 1,
-                    height: 1,
-                    background: {
-                        color: '#ddd'
-                    },
-                    grid: {
-                        size: 10,
-                        visible: true
-                    },
-                    history: true,
-                    resizing: {
-                        enabled: true,
-                        restricted: true,
-                    },
-                }
-            )
-            for (const key in json) {
-                // console.log(json[key]);
-                for (let index = 0; index < temp.cells.length; index++) {
-                    
-                    if (temp.cells[index].data.type == key) {
-                        if (temp.cells[index].shape == 'image') {
-                            temp.cells[index].attrs.image['xlink:href'] = await textQrcodeToBase64(json[key])
-                        }
-                        if (temp.cells[index].shape == "rect") {
-                            console.log(111);
-                            temp.cells[index].attrs.label.text = temp.cells[index].attrs.label.text + json[key]
-                        }
-                    }
-                }
-            }
-            console.log(temp,'模板对象');
-            graph.fromJSON(temp)
-            setTimeout(()=>{
-                graph.toJPEG((dataUri) => {
-                    // dataUri就是base64的图片地址
-                    res(dataUri)
-                    // console.log(dataUri);
-                    // 'temp.jpeg' 就是图片名称
-                    // DataUri.downloadDataUri(dataUri, 'temp.jpeg')
-                }, {
-                    serializeImages: true,
-                    quality: 1
-                })
-            })
-        })
+  return async function (json, temp) {
+    let graph = new Graph(
+      {
+        container: dom,
+        width: 1,
+        height: 1,
+        background: {
+          color: '#ddd',
+        },
+        grid: {
+          size: 10,
+          visible: true,
+        },
+        history: true,
+        resizing: {
+          enabled: true,
+          restricted: true,
+        },
+      },
+    );
+    for (const key in json) {
+      // console.log(json[key]);
+      for (let index = 0; index < temp.cells.length; index++) {
+
+        if (temp.cells[index].data.type == key) {
+          if (temp.cells[index].shape == 'image') {
+            temp.cells[index].attrs.image['xlink:href'] = await textQrcodeToBase64(json[key]);
+          }
+          if (temp.cells[index].shape == 'rect') {
+            console.log(111);
+            temp.cells[index].attrs.label.text = temp.cells[index].attrs.label.text + json[key];
+          }
+        }
+      }
     }
+    graph.fromJSON(temp);
+    return new Promise(res => {
+      setTimeout(() => {
+        graph.toJPEG(dataUri => {
+          // dataUri就是base64的图片地址
+          res(dataUri);
+          // console.log(dataUri);
+          // 'temp.jpeg' 就是图片名称
+          // DataUri.downloadDataUri(dataUri, 'temp.jpeg')
+        }, {
+          serializeImages: true,
+          quality: 1,
+        });
+      });
+    });
+
+
+  };
+
 
-    
 
 }

+ 20 - 3
src/customer/printTemp/index.vue

@@ -1,9 +1,15 @@
 <template>
+  <a-page-header
+    title="打印模板编辑"
+    @back="goBack"
+  />
+  <a-divider />
   <a-steps :current="step">
     <a-step title="选择模版" />
     <a-step title="编辑模版" />
   </a-steps>
-  <div style="height: 40px;" />
+  <!-- <div style="height: 40px;" /> -->
+  <a-divider />
   <div v-if="step == 0">
     <Step1 />
   </div>
@@ -15,11 +21,22 @@
 <script setup>
 import Step1 from './step1.vue';
 import Step2 from './step2.vue';
-import { computed } from 'vue';  
+import { computed,onMounted } from 'vue';  
 import { useStore } from 'vuex';
+import { useRouter  } from 'vue-router';
+import CreateJPEG from '../../common/X6.js';
 
+const router =  useRouter();
 const store = useStore();
 const step = computed(()=>store.state.downloadStore.step);
-console.log(store);
+
+
+const goBack = () =>{
+  router.go(-1);
+};
+
+onMounted(() =>{
+  console.log(CreateJPEG);
+});
 </script>
 <style scoped></style>

+ 13 - 11
src/customer/printTemp/step1.vue

@@ -7,11 +7,12 @@
     </a-radio-group>
   </div>
 
-  <div v-show="value == 'b'" style="margin: 30px;">
+  <div v-show="value == 'b'" style="margin: 30px 0;">
     <a-select
       ref="select"
       v-model:value="temVal"
       style="width: 220px"
+      placeholder="请选择要编辑的模板"
       @change="handleChange"
     >
       <a-select-option v-for="item in TempList" :key="item.id" :x6="item.contentX6" :value="item.name">
@@ -21,11 +22,12 @@
     <a-button @click="getTem">刷新</a-button>
     <a-spin v-show="loadingshow" />
   </div>
-  <div v-show="value == 'c'" style="margin: 30px;">
+  <div v-show="value == 'c'" style="margin: 30px 0;">
     <a-select
       ref="select"
       v-model:value="delTemVal"
       style="width: 220px"
+      placeholder="请选择要删除的模板"
       @change="delChange"
     >
       <a-select-option v-for="item in TempList" :key="item.id" :x6="item.contentX6" :value="item.name">
@@ -39,7 +41,7 @@
       v-model:visible="delVisible" title="提示" ok-text="确认"
       cancel-text="取消" @ok="delOk"
     >
-      <p>确认删除?</p>
+      <p>确认删除{{ delTemVal }}吗如果是的话,请点击【确认】按钮,否则点击【取消】按钮。</p>
     </a-modal>
   </div>
   <a-divider type="horizontal" />
@@ -56,8 +58,8 @@ import { Notify, Uuid } from 'pc-component-v3';
 import Common from '../../common/Common.js';
 const store = useStore();
 const router = useRouter();
-const temVal = ref('');
-const delTemVal = ref('');
+const temVal = ref();
+const delTemVal = ref();
 const TempList = ref([]);
 const loadingshow = ref(false);
 const template = ref('');
@@ -86,7 +88,7 @@ const getTem = () =>{
   getTemp();
 };
 const delTem = () =>{
-  if (delTemVal.value == '') return;
+  if (delTemVal.value == undefined) return;
   delVisible.value = true;
 };
 const next = () =>{
@@ -96,7 +98,7 @@ const next = () =>{
     store.commit('changeTempText','新建模版');
     
   }
-  if ((value.value == 'b' && temVal.value == '') || value.value == 'c') {
+  if ((value.value == 'b' && temVal.value == undefined) || value.value == 'c') {
     Modal.info({
       title: '提示',
       content: h('div', {}, [h('p', '请先选择模版或新建模板!')]),
@@ -131,8 +133,8 @@ const delOk = () =>{
         content: h('div', {}, [h('p', '删除成功!')]),
         onOk() {
           console.log('ok');
-          delTemVal.value = '';
-          temVal.value = '';
+          delTemVal.value = undefined;
+          temVal.value = undefined;
           getTemp();
         },
       });
@@ -166,8 +168,8 @@ const getTemp = () =>{
           content: h('div', {}, [h('p', '没有基础模版,请新建模版数据!')]),
           onOk() {
             console.log('ok');
-            delTemVal.value = '';
-            temVal.value = '';
+            delTemVal.value = undefined;
+            temVal.value = undefined;
             TempList.value = [];
           },
         });

+ 3 - 2
src/customer/printTemp/step2.vue

@@ -1,5 +1,4 @@
 <template>
-  <div style="display: flex; justify-content: start; width: 100%"><a-button @click="before">上一步</a-button></div>
   <div style="display: flex; justify-content: center;">
     <div ref="stencilContainer" class="stencil" />
     <div ref="container" class="content" />
@@ -45,6 +44,8 @@
       </div>
     </div>
   </div>
+  <a-divider />
+  <div style="display: flex; justify-content: start; width: 100%"><a-button @click="before">上一步</a-button></div>
 </template>
 
 <script setup>
@@ -328,7 +329,7 @@ const setStencil = () => {
       },
     },
     data:{
-      type:'节点1',
+      type:'文本',
     },
   });
   const tem2 = new Rect({