hookehuyr

feat: 新增release页面和自定义多边形节点

新增release.vue页面,用于展示拖拽面板。在node-model中新增自定义多边形节点,并更新相关路由和依赖配置。
......@@ -41,6 +41,9 @@ importers:
tailwindcss:
specifier: ^4.0.12
version: 4.0.14
uuid:
specifier: ^11.1.0
version: 11.1.0
vue:
specifier: ^3.5.13
version: 3.5.13
......@@ -50,19 +53,19 @@ importers:
devDependencies:
'@vitejs/plugin-vue':
specifier: ^4.5.2
version: 4.6.2(vite@5.4.14(less@4.2.2)(sass-embedded@1.85.1))(vue@3.5.13)
version: 4.6.2(vite@5.4.14(less@4.2.2)(sass-embedded@1.86.0))(vue@3.5.13)
less:
specifier: ^4.2.2
version: 4.2.2
sass-embedded:
specifier: ^1.85.1
version: 1.85.1
version: 1.86.0
unplugin-auto-import:
specifier: ^19.1.1
version: 19.1.1(@vueuse/core@9.13.0(vue@3.5.13))
vite:
specifier: ^5.1.4
version: 5.4.14(less@4.2.2)(sass-embedded@1.85.1)
version: 5.4.14(less@4.2.2)(sass-embedded@1.86.0)
vite-plugin-dynamic-import:
specifier: ^1.6.0
version: 1.6.0
......@@ -89,8 +92,8 @@ packages:
resolution: {integrity: sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ==}
engines: {node: '>=6.9.0'}
'@bufbuild/protobuf@2.2.3':
resolution: {integrity: sha512-tFQoXHJdkEOSwj5tRIZSPNUuXK3RaR7T1nUrPgbYX1pUbvqqaaZAsfo+NXBPsz5rZMSKVFrgK1WL8Q/MSLvprg==}
'@bufbuild/protobuf@2.2.4':
resolution: {integrity: sha512-P9xQgtMh71TA7tHTnbDe68zcI+TPnkyyfBIhGaUr4iUEIXN7yI01DyjmmdEwXTk5OlISBJYkoxCVj2dwmHqIkA==}
'@ctrl/tinycolor@3.6.1':
resolution: {integrity: sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==}
......@@ -287,98 +290,98 @@ packages:
'@nyariv/sandboxjs@0.8.23':
resolution: {integrity: sha512-OaD3i0czFTZzQFQdwgFVEqNyZVK19N6Jzmx/LjmDc+kiV751FQ2h3xscYkAeY4jfau2vZTZau+xR8fpkKrv/Ng==}
'@rollup/rollup-android-arm-eabi@4.35.0':
resolution: {integrity: sha512-uYQ2WfPaqz5QtVgMxfN6NpLD+no0MYHDBywl7itPYd3K5TjjSghNKmX8ic9S8NU8w81NVhJv/XojcHptRly7qQ==}
'@rollup/rollup-android-arm-eabi@4.36.0':
resolution: {integrity: sha512-jgrXjjcEwN6XpZXL0HUeOVGfjXhPyxAbbhD0BlXUB+abTOpbPiN5Wb3kOT7yb+uEtATNYF5x5gIfwutmuBA26w==}
cpu: [arm]
os: [android]
'@rollup/rollup-android-arm64@4.35.0':
resolution: {integrity: sha512-FtKddj9XZudurLhdJnBl9fl6BwCJ3ky8riCXjEw3/UIbjmIY58ppWwPEvU3fNu+W7FUsAsB1CdH+7EQE6CXAPA==}
'@rollup/rollup-android-arm64@4.36.0':
resolution: {integrity: sha512-NyfuLvdPdNUfUNeYKUwPwKsE5SXa2J6bCt2LdB/N+AxShnkpiczi3tcLJrm5mA+eqpy0HmaIY9F6XCa32N5yzg==}
cpu: [arm64]
os: [android]
'@rollup/rollup-darwin-arm64@4.35.0':
resolution: {integrity: sha512-Uk+GjOJR6CY844/q6r5DR/6lkPFOw0hjfOIzVx22THJXMxktXG6CbejseJFznU8vHcEBLpiXKY3/6xc+cBm65Q==}
'@rollup/rollup-darwin-arm64@4.36.0':
resolution: {integrity: sha512-JQ1Jk5G4bGrD4pWJQzWsD8I1n1mgPXq33+/vP4sk8j/z/C2siRuxZtaUA7yMTf71TCZTZl/4e1bfzwUmFb3+rw==}
cpu: [arm64]
os: [darwin]
'@rollup/rollup-darwin-x64@4.35.0':
resolution: {integrity: sha512-3IrHjfAS6Vkp+5bISNQnPogRAW5GAV1n+bNCrDwXmfMHbPl5EhTmWtfmwlJxFRUCBZ+tZ/OxDyU08aF6NI/N5Q==}
'@rollup/rollup-darwin-x64@4.36.0':
resolution: {integrity: sha512-6c6wMZa1lrtiRsbDziCmjE53YbTkxMYhhnWnSW8R/yqsM7a6mSJ3uAVT0t8Y/DGt7gxUWYuFM4bwWk9XCJrFKA==}
cpu: [x64]
os: [darwin]
'@rollup/rollup-freebsd-arm64@4.35.0':
resolution: {integrity: sha512-sxjoD/6F9cDLSELuLNnY0fOrM9WA0KrM0vWm57XhrIMf5FGiN8D0l7fn+bpUeBSU7dCgPV2oX4zHAsAXyHFGcQ==}
'@rollup/rollup-freebsd-arm64@4.36.0':
resolution: {integrity: sha512-KXVsijKeJXOl8QzXTsA+sHVDsFOmMCdBRgFmBb+mfEb/7geR7+C8ypAml4fquUt14ZyVXaw2o1FWhqAfOvA4sg==}
cpu: [arm64]
os: [freebsd]
'@rollup/rollup-freebsd-x64@4.35.0':
resolution: {integrity: sha512-2mpHCeRuD1u/2kruUiHSsnjWtHjqVbzhBkNVQ1aVD63CcexKVcQGwJ2g5VphOd84GvxfSvnnlEyBtQCE5hxVVw==}
'@rollup/rollup-freebsd-x64@4.36.0':
resolution: {integrity: sha512-dVeWq1ebbvByI+ndz4IJcD4a09RJgRYmLccwlQ8bPd4olz3Y213uf1iwvc7ZaxNn2ab7bjc08PrtBgMu6nb4pQ==}
cpu: [x64]
os: [freebsd]
'@rollup/rollup-linux-arm-gnueabihf@4.35.0':
resolution: {integrity: sha512-mrA0v3QMy6ZSvEuLs0dMxcO2LnaCONs1Z73GUDBHWbY8tFFocM6yl7YyMu7rz4zS81NDSqhrUuolyZXGi8TEqg==}
'@rollup/rollup-linux-arm-gnueabihf@4.36.0':
resolution: {integrity: sha512-bvXVU42mOVcF4le6XSjscdXjqx8okv4n5vmwgzcmtvFdifQ5U4dXFYaCB87namDRKlUL9ybVtLQ9ztnawaSzvg==}
cpu: [arm]
os: [linux]
'@rollup/rollup-linux-arm-musleabihf@4.35.0':
resolution: {integrity: sha512-DnYhhzcvTAKNexIql8pFajr0PiDGrIsBYPRvCKlA5ixSS3uwo/CWNZxB09jhIapEIg945KOzcYEAGGSmTSpk7A==}
'@rollup/rollup-linux-arm-musleabihf@4.36.0':
resolution: {integrity: sha512-JFIQrDJYrxOnyDQGYkqnNBtjDwTgbasdbUiQvcU8JmGDfValfH1lNpng+4FWlhaVIR4KPkeddYjsVVbmJYvDcg==}
cpu: [arm]
os: [linux]
'@rollup/rollup-linux-arm64-gnu@4.35.0':
resolution: {integrity: sha512-uagpnH2M2g2b5iLsCTZ35CL1FgyuzzJQ8L9VtlJ+FckBXroTwNOaD0z0/UF+k5K3aNQjbm8LIVpxykUOQt1m/A==}
'@rollup/rollup-linux-arm64-gnu@4.36.0':
resolution: {integrity: sha512-KqjYVh3oM1bj//5X7k79PSCZ6CvaVzb7Qs7VMWS+SlWB5M8p3FqufLP9VNp4CazJ0CsPDLwVD9r3vX7Ci4J56A==}
cpu: [arm64]
os: [linux]
'@rollup/rollup-linux-arm64-musl@4.35.0':
resolution: {integrity: sha512-XQxVOCd6VJeHQA/7YcqyV0/88N6ysSVzRjJ9I9UA/xXpEsjvAgDTgH3wQYz5bmr7SPtVK2TsP2fQ2N9L4ukoUg==}
'@rollup/rollup-linux-arm64-musl@4.36.0':
resolution: {integrity: sha512-QiGnhScND+mAAtfHqeT+cB1S9yFnNQ/EwCg5yE3MzoaZZnIV0RV9O5alJAoJKX/sBONVKeZdMfO8QSaWEygMhw==}
cpu: [arm64]
os: [linux]
'@rollup/rollup-linux-loongarch64-gnu@4.35.0':
resolution: {integrity: sha512-5pMT5PzfgwcXEwOaSrqVsz/LvjDZt+vQ8RT/70yhPU06PTuq8WaHhfT1LW+cdD7mW6i/J5/XIkX/1tCAkh1W6g==}
'@rollup/rollup-linux-loongarch64-gnu@4.36.0':
resolution: {integrity: sha512-1ZPyEDWF8phd4FQtTzMh8FQwqzvIjLsl6/84gzUxnMNFBtExBtpL51H67mV9xipuxl1AEAerRBgBwFNpkw8+Lg==}
cpu: [loong64]
os: [linux]
'@rollup/rollup-linux-powerpc64le-gnu@4.35.0':
resolution: {integrity: sha512-c+zkcvbhbXF98f4CtEIP1EBA/lCic5xB0lToneZYvMeKu5Kamq3O8gqrxiYYLzlZH6E3Aq+TSW86E4ay8iD8EA==}
'@rollup/rollup-linux-powerpc64le-gnu@4.36.0':
resolution: {integrity: sha512-VMPMEIUpPFKpPI9GZMhJrtu8rxnp6mJR3ZzQPykq4xc2GmdHj3Q4cA+7avMyegXy4n1v+Qynr9fR88BmyO74tg==}
cpu: [ppc64]
os: [linux]
'@rollup/rollup-linux-riscv64-gnu@4.35.0':
resolution: {integrity: sha512-s91fuAHdOwH/Tad2tzTtPX7UZyytHIRR6V4+2IGlV0Cej5rkG0R61SX4l4y9sh0JBibMiploZx3oHKPnQBKe4g==}
'@rollup/rollup-linux-riscv64-gnu@4.36.0':
resolution: {integrity: sha512-ttE6ayb/kHwNRJGYLpuAvB7SMtOeQnVXEIpMtAvx3kepFQeowVED0n1K9nAdraHUPJ5hydEMxBpIR7o4nrm8uA==}
cpu: [riscv64]
os: [linux]
'@rollup/rollup-linux-s390x-gnu@4.35.0':
resolution: {integrity: sha512-hQRkPQPLYJZYGP+Hj4fR9dDBMIM7zrzJDWFEMPdTnTy95Ljnv0/4w/ixFw3pTBMEuuEuoqtBINYND4M7ujcuQw==}
'@rollup/rollup-linux-s390x-gnu@4.36.0':
resolution: {integrity: sha512-4a5gf2jpS0AIe7uBjxDeUMNcFmaRTbNv7NxI5xOCs4lhzsVyGR/0qBXduPnoWf6dGC365saTiwag8hP1imTgag==}
cpu: [s390x]
os: [linux]
'@rollup/rollup-linux-x64-gnu@4.35.0':
resolution: {integrity: sha512-Pim1T8rXOri+0HmV4CdKSGrqcBWX0d1HoPnQ0uw0bdp1aP5SdQVNBy8LjYncvnLgu3fnnCt17xjWGd4cqh8/hA==}
'@rollup/rollup-linux-x64-gnu@4.36.0':
resolution: {integrity: sha512-5KtoW8UWmwFKQ96aQL3LlRXX16IMwyzMq/jSSVIIyAANiE1doaQsx/KRyhAvpHlPjPiSU/AYX/8m+lQ9VToxFQ==}
cpu: [x64]
os: [linux]
'@rollup/rollup-linux-x64-musl@4.35.0':
resolution: {integrity: sha512-QysqXzYiDvQWfUiTm8XmJNO2zm9yC9P/2Gkrwg2dH9cxotQzunBHYr6jk4SujCTqnfGxduOmQcI7c2ryuW8XVg==}
'@rollup/rollup-linux-x64-musl@4.36.0':
resolution: {integrity: sha512-sycrYZPrv2ag4OCvaN5js+f01eoZ2U+RmT5as8vhxiFz+kxwlHrsxOwKPSA8WyS+Wc6Epid9QeI/IkQ9NkgYyQ==}
cpu: [x64]
os: [linux]
'@rollup/rollup-win32-arm64-msvc@4.35.0':
resolution: {integrity: sha512-OUOlGqPkVJCdJETKOCEf1mw848ZyJ5w50/rZ/3IBQVdLfR5jk/6Sr5m3iO2tdPgwo0x7VcncYuOvMhBWZq8ayg==}
'@rollup/rollup-win32-arm64-msvc@4.36.0':
resolution: {integrity: sha512-qbqt4N7tokFwwSVlWDsjfoHgviS3n/vZ8LK0h1uLG9TYIRuUTJC88E1xb3LM2iqZ/WTqNQjYrtmtGmrmmawB6A==}
cpu: [arm64]
os: [win32]
'@rollup/rollup-win32-ia32-msvc@4.35.0':
resolution: {integrity: sha512-2/lsgejMrtwQe44glq7AFFHLfJBPafpsTa6JvP2NGef/ifOa4KBoglVf7AKN7EV9o32evBPRqfg96fEHzWo5kw==}
'@rollup/rollup-win32-ia32-msvc@4.36.0':
resolution: {integrity: sha512-t+RY0JuRamIocMuQcfwYSOkmdX9dtkr1PbhKW42AMvaDQa+jOdpUYysroTF/nuPpAaQMWp7ye+ndlmmthieJrQ==}
cpu: [ia32]
os: [win32]
'@rollup/rollup-win32-x64-msvc@4.35.0':
resolution: {integrity: sha512-PIQeY5XDkrOysbQblSW7v3l1MDZzkTEzAfTPkj5VAu3FW8fS4ynyLg2sINp0fp3SjZ8xkRYpLqoKcYqAkhU1dw==}
'@rollup/rollup-win32-x64-msvc@4.36.0':
resolution: {integrity: sha512-aRXd7tRZkWLqGbChgcMMDEHjOKudo1kChb1Jt1IfR8cY/KIpgNviLeJy5FUb9IpSuQj8dU2fAYNMPW/hLKOSTw==}
cpu: [x64]
os: [win32]
......@@ -475,8 +478,8 @@ packages:
buffer-builder@0.2.0:
resolution: {integrity: sha512-7VPMEPuYznPSoR21NE1zvd2Xna6c/CloiZCfcMXR1Jny6PjX0N4Nsa38zcBFo/FMK+BlA+FLKbJCQ0i2yxp+Xg==}
caniuse-lite@1.0.30001704:
resolution: {integrity: sha512-+L2IgBbV6gXB4ETf0keSvLr7JUrRVbIaB/lrQ1+z8mRcQiisG5k+lG6O4n6Y5q6f5EuNfaYXKgymucphlEXQew==}
caniuse-lite@1.0.30001706:
resolution: {integrity: sha512-3ZczoTApMAZwPKYWmwVbQMFpXBDds3/0VciVoUwPUbldlYyVLmRVuRs/PcUZtHpbLRpzzDvrvnFuREsGt6lUug==}
classnames@2.5.1:
resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==}
......@@ -502,8 +505,8 @@ packages:
echarts@5.6.0:
resolution: {integrity: sha512-oTbVTsXfKuEhxftHqL5xprgLoc0k7uScAwtryCgWF6hPYFLRwOUHiFmHGCBKP5NPFNkDVopOieyUqYGH8Fa3kA==}
electron-to-chromium@1.5.118:
resolution: {integrity: sha512-yNDUus0iultYyVoEFLnQeei7LOQkL8wg8GQpkPCRrOlJXlcCwa6eGKZkxQ9ciHsqZyYbj8Jd94X1CTPzGm+uIA==}
electron-to-chromium@1.5.120:
resolution: {integrity: sha512-oTUp3gfX1gZI+xfD2djr2rzQdHCwHzPQrrK0CD7WpTdF0nPdQ/INcRVjWgLdCT4a9W3jFObR9DAfsuyFQnI8CQ==}
element-plus@2.9.6:
resolution: {integrity: sha512-D9zU28Ce0s/9O/Vp3ewemikxzFVA6gdZyMwmWijHijo+t5/9H3sHRTIm1WlfeNpFW2Yq0y8nHXD0fU5YxU6qlQ==}
......@@ -531,7 +534,7 @@ packages:
engines: {node: '>=6'}
escape-html@1.0.3:
resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
resolution: {integrity: sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=}
escape-string-regexp@5.0.0:
resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
......@@ -685,8 +688,8 @@ packages:
mousetrap@1.6.5:
resolution: {integrity: sha512-QNo4kEepaIBwiT8CDhP98umTetp+JNfQYBWvC1pc6/OAibuXtRcxZ58Qz8skvEHYvURne/7R8T5VoOI7rDsEUA==}
nanoid@3.3.9:
resolution: {integrity: sha512-SppoicMGpZvbF1l3z4x7No3OlIjP7QJvC9XR7AhZr1kL133KHnKPztkKDc+Ir4aJ/1VhTySrtKhrsycmrMQfvg==}
nanoid@3.3.11:
resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
......@@ -759,8 +762,8 @@ packages:
resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==}
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
rollup@4.35.0:
resolution: {integrity: sha512-kg6oI4g+vc41vePJyO6dHt/yl0Rz3Thv0kJeVQ3D1kS3E5XSuKbPc29G4IpT/Kv1KQwgHVcN+HtyS+HYLNSvQg==}
rollup@4.36.0:
resolution: {integrity: sha512-zwATAXNQxUcd40zgtQG0ZafcRK4g004WtEl7kbuhTWPvf07PsfohXl39jVUvPF7jvNAIkKPQ2XrsDlWuxBd++Q==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
......@@ -773,128 +776,128 @@ packages:
safer-buffer@2.1.2:
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
sass-embedded-android-arm64@1.85.1:
resolution: {integrity: sha512-27oRheqNA3SJM2hAxpVbs7mCKUwKPWmEEhyiNFpBINb5ELVLg+Ck5RsGg+SJmo130ul5YX0vinmVB5uPWc8X5w==}
sass-embedded-android-arm64@1.86.0:
resolution: {integrity: sha512-r7MZtlAI2VFUnKE8B5UOrpoE6OGpdf1dIB6ndoxb3oiURgMyfTVU7yvJcL12GGvtVwQ2boCj6dq//Lqq9CXPlQ==}
engines: {node: '>=14.0.0'}
cpu: [arm64]
os: [android]
sass-embedded-android-arm@1.85.1:
resolution: {integrity: sha512-GkcgUGMZtEF9gheuE1dxCU0ZSAifuaFXi/aX7ZXvjtdwmTl9Zc/OHR9oiUJkc8IW9UI7H8TuwlTAA8+SwgwIeQ==}
sass-embedded-android-arm@1.86.0:
resolution: {integrity: sha512-NS8v6BCbzskXUMBtzfuB+j2yQMgiwg5edKHTYfQU7gAWai2hkRhS06YNEMff3aRxV0IFInxPRHOobd8xWPHqeA==}
engines: {node: '>=14.0.0'}
cpu: [arm]
os: [android]
sass-embedded-android-ia32@1.85.1:
resolution: {integrity: sha512-f3x16NyRgtXFksIaO/xXKrUhttUBv8V0XsAR2Dhdb/yz4yrDrhzw9Wh8fmw7PlQqECcQvFaoDr3XIIM6lKzasw==}
sass-embedded-android-ia32@1.86.0:
resolution: {integrity: sha512-UjfElrGaOTNOnxLZLxf6MFndFIe7zyK+81f83BioZ7/jcoAd6iCHZT8yQMvu8wINyVodPcaXZl8KxlKcl62VAA==}
engines: {node: '>=14.0.0'}
cpu: [ia32]
os: [android]
sass-embedded-android-riscv64@1.85.1:
resolution: {integrity: sha512-IP6OijpJ8Mqo7XqCe0LsuZVbAxEFVboa0kXqqR5K55LebEplsTIA2GnmRyMay3Yr/2FVGsZbCb6Wlgkw23eCiA==}
sass-embedded-android-riscv64@1.86.0:
resolution: {integrity: sha512-TsqCLxHWLFS2mbpUkL/nge3jSkaPK2VmLkkoi5iO/EQT4SFvm1lNUgPwlLXu9DplZ+aqGVzRS9Y6Psjv+qW7kw==}
engines: {node: '>=14.0.0'}
cpu: [riscv64]
os: [android]
sass-embedded-android-x64@1.85.1:
resolution: {integrity: sha512-Mh7CA53wR3ADvXAYipFc/R3vV4PVOzoKwWzPxmq+7i8UZrtsVjKONxGtqWe9JG1mna0C9CRZAx0sv/BzbOJxWg==}
sass-embedded-android-x64@1.86.0:
resolution: {integrity: sha512-8Q263GgwGjz7Jkf7Eghp7NrwqskDL95WO9sKrNm9iOd2re/M48W7RN/lpdcZwrUnEOhueks0RRyYyZYBNRz8Tg==}
engines: {node: '>=14.0.0'}
cpu: [x64]
os: [android]
sass-embedded-darwin-arm64@1.85.1:
resolution: {integrity: sha512-msWxzhvcP9hqGVegxVePVEfv9mVNTlUgGr6k7O7Ihji702mbtrH/lKwF4aRkkt4g1j7tv10+JtQXmTNi/pi9kA==}
sass-embedded-darwin-arm64@1.86.0:
resolution: {integrity: sha512-d8oMEaIweq1tjrb/BT43igDviOMS1TeDpc51QF7vAHkt9drSjPmqEmbqStdFYPAGZj1j0RA4WCRoVl6jVixi/w==}
engines: {node: '>=14.0.0'}
cpu: [arm64]
os: [darwin]
sass-embedded-darwin-x64@1.85.1:
resolution: {integrity: sha512-J4UFHUiyI9Z+mwYMwz11Ky9TYr3hY1fCxeQddjNGL/+ovldtb0yAIHvoVM0BGprQDm5JqhtUk8KyJ3RMJqpaAA==}
sass-embedded-darwin-x64@1.86.0:
resolution: {integrity: sha512-5NLRtn0ZUDBkfpKOsgLGl9B34po4Qui8Nff/lXTO+YkxBQFX4GoMkYNk9EJqHwoLLzICsxIhNDMMDiPGz7Fdrw==}
engines: {node: '>=14.0.0'}
cpu: [x64]
os: [darwin]
sass-embedded-linux-arm64@1.85.1:
resolution: {integrity: sha512-jGadetB03BMFG2rq3OXub/uvC/lGpbQOiLGEz3NLb2nRZWyauRhzDtvZqkr6BEhxgIWtMtz2020yD8ZJSw/r2w==}
sass-embedded-linux-arm64@1.86.0:
resolution: {integrity: sha512-50A+0rhahRDRkKkv+qS7GDAAkW1VPm2RCX4zY4JWydhV4NwMXr6HbkLnsJ2MGixCyibPh59iflMpNBhe7SEMNg==}
engines: {node: '>=14.0.0'}
cpu: [arm64]
os: [linux]
sass-embedded-linux-arm@1.85.1:
resolution: {integrity: sha512-X0fDh95nNSw1wfRlnkE4oscoEA5Au4nnk785s9jghPFkTBg+A+5uB6trCjf0fM22+Iw6kiP4YYmDdw3BqxAKLQ==}
sass-embedded-linux-arm@1.86.0:
resolution: {integrity: sha512-b6wm0+Il+blJDleRXAqA6JISGMjRb0/thTEg4NWgmiJwUoZjDycj5FTbfYPnLXjCEIMGaYmW3patrJ3JMJcT3Q==}
engines: {node: '>=14.0.0'}
cpu: [arm]
os: [linux]
sass-embedded-linux-ia32@1.85.1:
resolution: {integrity: sha512-7HlYY90d9mitDtNi5s+S+5wYZrTVbkBH2/kf7ixrzh2BFfT0YM81UHLJRnGX93y9aOMBL6DSZAIfkt1RsV9bkQ==}
sass-embedded-linux-ia32@1.86.0:
resolution: {integrity: sha512-h0mr9w71TV3BRPk9JHr0flnRCznhkraY14gaj5T+t78vUFByOUMxp4hTr+JpZAR5mv0mIeoMwrQYwWJoqKI0mw==}
engines: {node: '>=14.0.0'}
cpu: [ia32]
os: [linux]
sass-embedded-linux-musl-arm64@1.85.1:
resolution: {integrity: sha512-FLkIT0p18XOkR6wryJ13LqGBDsrYev2dRk9dtiU18NCpNXruKsdBQ1ZnWHVKB3h1dA9lFyEEisC0sooKdNfeOQ==}
sass-embedded-linux-musl-arm64@1.86.0:
resolution: {integrity: sha512-5OZjiJIUyhvKJIGNDEjyRUWDe+W91hq4Bji27sy8gdEuDzPWLx4NzwpKwsBUALUfyW/J5dxgi0ZAQnI3HieyQg==}
engines: {node: '>=14.0.0'}
cpu: [arm64]
os: [linux]
sass-embedded-linux-musl-arm@1.85.1:
resolution: {integrity: sha512-5vcdEqE8QZnu6i6shZo7x2N36V7YUoFotWj2rGekII5ty7Nkaj+VtZhUEOp9tAzEOlaFuDp5CyO1kUCvweT64A==}
sass-embedded-linux-musl-arm@1.86.0:
resolution: {integrity: sha512-KZU70jBMVykC9HzS+o2FhrJaprFLDk3LWXVPtBFxgLlkcQ/apCkUCh2WVNViLhI2U4NrMSnTvd4kDnC/0m8qIw==}
engines: {node: '>=14.0.0'}
cpu: [arm]
os: [linux]
sass-embedded-linux-musl-ia32@1.85.1:
resolution: {integrity: sha512-N1093T84zQJor1yyIAdYScB5eAuQarGK1tKgZ4uTnxVlgA7Xi1lXV8Eh7ox9sDqKCaWkVQ3MjqU26vYRBeRWyw==}
sass-embedded-linux-musl-ia32@1.86.0:
resolution: {integrity: sha512-vq9wJ7kaELrsNU6Ld6kvrIHxoIUWaD+5T6TQVj4SJP/iw1NjonyCDMQGGs6UgsIEzvaIwtlSlDbRewAq+4PchA==}
engines: {node: '>=14.0.0'}
cpu: [ia32]
os: [linux]
sass-embedded-linux-musl-riscv64@1.85.1:
resolution: {integrity: sha512-WRsZS/7qlfYXsa93FBpSruieuURIu7ySfFhzYfF1IbKrNAGwmbduutkHZh2ddm5/vQMvQ0Rdosgv+CslaQHMcw==}
sass-embedded-linux-musl-riscv64@1.86.0:
resolution: {integrity: sha512-UZJPu4zKe3phEzoSVRh5jcSicBBPe+jEbVNALHSSz881iOAYnDQXHITGeQ4mM1/7e/LTyryHk6EPBoaLOv6JrA==}
engines: {node: '>=14.0.0'}
cpu: [riscv64]
os: [linux]
sass-embedded-linux-musl-x64@1.85.1:
resolution: {integrity: sha512-+OlLIilA5TnP0YEqTQ8yZtkW+bJIQYvzoGoNLUEskeyeGuOiIyn2CwL6G4JQB4xZQFaxPHb7JD3EueFkQbH0Pw==}
sass-embedded-linux-musl-x64@1.86.0:
resolution: {integrity: sha512-8taAgbWMk4QHneJcouWmWZJlmKa2O03g4I/CFo4bfMPL87bibY90pAsSDd+C+t81g0+2aK0/lY/BoB0r3qXLiA==}
engines: {node: '>=14.0.0'}
cpu: [x64]
os: [linux]
sass-embedded-linux-riscv64@1.85.1:
resolution: {integrity: sha512-mKKlOwMGLN7yP1p0gB5yG/HX4fYLnpWaqstNuOOXH+fOzTaNg0+1hALg0H0CDIqypPO74M5MS9T6FAJZGdT6dQ==}
sass-embedded-linux-riscv64@1.86.0:
resolution: {integrity: sha512-yREY6o2sLwiiA03MWHVpnUliLscz0flEmFW/wzxYZJDqg9eZteB3hUWgZD63eLm2PTZsYxDQpjAHpa48nnIEmA==}
engines: {node: '>=14.0.0'}
cpu: [riscv64]
os: [linux]
sass-embedded-linux-x64@1.85.1:
resolution: {integrity: sha512-uKRTv0z8NgtHV7xSren78+yoWB79sNi7TMqI7Bxd8fcRNIgHQSA8QBdF8led2ETC004hr8h71BrY60RPO+SSvA==}
sass-embedded-linux-x64@1.86.0:
resolution: {integrity: sha512-sH0F8np9PTgTbFcJWxfr1NzPkL5ID2NcpMtZyKPTdnn9NkE/L2UwXSo6xOvY0Duc4Hg+58wSrDnj6KbvdeHCPg==}
engines: {node: '>=14.0.0'}
cpu: [x64]
os: [linux]
sass-embedded-win32-arm64@1.85.1:
resolution: {integrity: sha512-/GMiZXBOc6AEMBC3g25Rp+x8fq9Z6Ql7037l5rajBPhZ+DdFwtdHY0Ou3oIU6XuWUwD06U3ii4XufXVFhsP6PA==}
sass-embedded-win32-arm64@1.86.0:
resolution: {integrity: sha512-4O1XVUxLTIjMOvrziYwEZgvFqC5sF6t0hTAPJ+h2uiAUZg9Joo0PvuEedXurjISgDBsb5W5DTL9hH9q1BbP4cQ==}
engines: {node: '>=14.0.0'}
cpu: [arm64]
os: [win32]
sass-embedded-win32-ia32@1.85.1:
resolution: {integrity: sha512-L+4BWkKKBGFOKVQ2PQ5HwFfkM5FvTf1Xx2VSRvEWt9HxPXp6SPDho6zC8fqNQ3hSjoaoASEIJcSvgfdQYO0gdg==}
sass-embedded-win32-ia32@1.86.0:
resolution: {integrity: sha512-zuSP2axkGm4VaJWt38P464H+4424Swr9bzFNfbbznxe3Ue4RuqSBqwiLiYdg9Q1cecTQ2WGH7G7WO56KK7WLwg==}
engines: {node: '>=14.0.0'}
cpu: [ia32]
os: [win32]
sass-embedded-win32-x64@1.85.1:
resolution: {integrity: sha512-/FO0AGKWxVfCk4GKsC0yXWBpUZdySe3YAAbQQL0lL6xUd1OiUY8Kow6g4Kc1TB/+z0iuQKKTqI/acJMEYl4iTQ==}
sass-embedded-win32-x64@1.86.0:
resolution: {integrity: sha512-GVX0CHtukr3kjqfqretSlPiJzV7V4JxUjpRZV+yC9gUMTiDErilJh2Chw1r0+MYiYvumCDUSDlticmvJs7v0tA==}
engines: {node: '>=14.0.0'}
cpu: [x64]
os: [win32]
sass-embedded@1.85.1:
resolution: {integrity: sha512-0i+3h2Df/c71afluxC1SXqyyMmJlnKWfu9ZGdzwuKRM1OftEa2XM2myt5tR36CF3PanYrMjFKtRIj8PfSf838w==}
sass-embedded@1.86.0:
resolution: {integrity: sha512-Ibq5DzxjSf9f/IJmKeHVeXlVqiZWdRJF+RXy6v6UupvMYVMU5Ei+teSFBvvpPD5bB2QhhnU/OJlSM0EBCtfr9g==}
engines: {node: '>=16.0.0'}
hasBin: true
......@@ -981,6 +984,10 @@ packages:
peerDependencies:
browserslist: '>= 4.21.0'
uuid@11.1.0:
resolution: {integrity: sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==}
hasBin: true
uuid@8.3.2:
resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==}
hasBin: true
......@@ -1076,7 +1083,7 @@ snapshots:
'@babel/helper-string-parser': 7.25.9
'@babel/helper-validator-identifier': 7.25.9
'@bufbuild/protobuf@2.2.3': {}
'@bufbuild/protobuf@2.2.4': {}
'@ctrl/tinycolor@3.6.1': {}
......@@ -1215,61 +1222,61 @@ snapshots:
'@nyariv/sandboxjs@0.8.23': {}
'@rollup/rollup-android-arm-eabi@4.35.0':
'@rollup/rollup-android-arm-eabi@4.36.0':
optional: true
'@rollup/rollup-android-arm64@4.35.0':
'@rollup/rollup-android-arm64@4.36.0':
optional: true
'@rollup/rollup-darwin-arm64@4.35.0':
'@rollup/rollup-darwin-arm64@4.36.0':
optional: true
'@rollup/rollup-darwin-x64@4.35.0':
'@rollup/rollup-darwin-x64@4.36.0':
optional: true
'@rollup/rollup-freebsd-arm64@4.35.0':
'@rollup/rollup-freebsd-arm64@4.36.0':
optional: true
'@rollup/rollup-freebsd-x64@4.35.0':
'@rollup/rollup-freebsd-x64@4.36.0':
optional: true
'@rollup/rollup-linux-arm-gnueabihf@4.35.0':
'@rollup/rollup-linux-arm-gnueabihf@4.36.0':
optional: true
'@rollup/rollup-linux-arm-musleabihf@4.35.0':
'@rollup/rollup-linux-arm-musleabihf@4.36.0':
optional: true
'@rollup/rollup-linux-arm64-gnu@4.35.0':
'@rollup/rollup-linux-arm64-gnu@4.36.0':
optional: true
'@rollup/rollup-linux-arm64-musl@4.35.0':
'@rollup/rollup-linux-arm64-musl@4.36.0':
optional: true
'@rollup/rollup-linux-loongarch64-gnu@4.35.0':
'@rollup/rollup-linux-loongarch64-gnu@4.36.0':
optional: true
'@rollup/rollup-linux-powerpc64le-gnu@4.35.0':
'@rollup/rollup-linux-powerpc64le-gnu@4.36.0':
optional: true
'@rollup/rollup-linux-riscv64-gnu@4.35.0':
'@rollup/rollup-linux-riscv64-gnu@4.36.0':
optional: true
'@rollup/rollup-linux-s390x-gnu@4.35.0':
'@rollup/rollup-linux-s390x-gnu@4.36.0':
optional: true
'@rollup/rollup-linux-x64-gnu@4.35.0':
'@rollup/rollup-linux-x64-gnu@4.36.0':
optional: true
'@rollup/rollup-linux-x64-musl@4.35.0':
'@rollup/rollup-linux-x64-musl@4.36.0':
optional: true
'@rollup/rollup-win32-arm64-msvc@4.35.0':
'@rollup/rollup-win32-arm64-msvc@4.36.0':
optional: true
'@rollup/rollup-win32-ia32-msvc@4.35.0':
'@rollup/rollup-win32-ia32-msvc@4.36.0':
optional: true
'@rollup/rollup-win32-x64-msvc@4.35.0':
'@rollup/rollup-win32-x64-msvc@4.36.0':
optional: true
'@sphinxxxx/color-conversion@2.2.2': {}
......@@ -1286,9 +1293,9 @@ snapshots:
'@types/web-bluetooth@0.0.16': {}
'@vitejs/plugin-vue@4.6.2(vite@5.4.14(less@4.2.2)(sass-embedded@1.85.1))(vue@3.5.13)':
'@vitejs/plugin-vue@4.6.2(vite@5.4.14(less@4.2.2)(sass-embedded@1.86.0))(vue@3.5.13)':
dependencies:
vite: 5.4.14(less@4.2.2)(sass-embedded@1.85.1)
vite: 5.4.14(less@4.2.2)(sass-embedded@1.86.0)
vue: 3.5.13
'@vue/compiler-core@3.5.13':
......@@ -1373,7 +1380,7 @@ snapshots:
autoprefixer@10.4.21(postcss@8.5.3):
dependencies:
browserslist: 4.24.4
caniuse-lite: 1.0.30001704
caniuse-lite: 1.0.30001706
fraction.js: 4.3.7
normalize-range: 0.1.2
picocolors: 1.1.1
......@@ -1386,14 +1393,14 @@ snapshots:
browserslist@4.24.4:
dependencies:
caniuse-lite: 1.0.30001704
electron-to-chromium: 1.5.118
caniuse-lite: 1.0.30001706
electron-to-chromium: 1.5.120
node-releases: 2.0.19
update-browserslist-db: 1.1.3(browserslist@4.24.4)
buffer-builder@0.2.0: {}
caniuse-lite@1.0.30001704: {}
caniuse-lite@1.0.30001706: {}
classnames@2.5.1: {}
......@@ -1416,7 +1423,7 @@ snapshots:
tslib: 2.3.0
zrender: 5.6.1
electron-to-chromium@1.5.118: {}
electron-to-chromium@1.5.120: {}
element-plus@2.9.6(vue@3.5.13):
dependencies:
......@@ -1621,7 +1628,7 @@ snapshots:
mousetrap@1.6.5: {}
nanoid@3.3.9: {}
nanoid@3.3.11: {}
needle@3.3.1:
dependencies:
......@@ -1664,7 +1671,7 @@ snapshots:
postcss@8.5.3:
dependencies:
nanoid: 3.3.9
nanoid: 3.3.11
picocolors: 1.1.1
source-map-js: 1.2.1
......@@ -1681,29 +1688,29 @@ snapshots:
reusify@1.1.0: {}
rollup@4.35.0:
rollup@4.36.0:
dependencies:
'@types/estree': 1.0.6
optionalDependencies:
'@rollup/rollup-android-arm-eabi': 4.35.0
'@rollup/rollup-android-arm64': 4.35.0
'@rollup/rollup-darwin-arm64': 4.35.0
'@rollup/rollup-darwin-x64': 4.35.0
'@rollup/rollup-freebsd-arm64': 4.35.0
'@rollup/rollup-freebsd-x64': 4.35.0
'@rollup/rollup-linux-arm-gnueabihf': 4.35.0
'@rollup/rollup-linux-arm-musleabihf': 4.35.0
'@rollup/rollup-linux-arm64-gnu': 4.35.0
'@rollup/rollup-linux-arm64-musl': 4.35.0
'@rollup/rollup-linux-loongarch64-gnu': 4.35.0
'@rollup/rollup-linux-powerpc64le-gnu': 4.35.0
'@rollup/rollup-linux-riscv64-gnu': 4.35.0
'@rollup/rollup-linux-s390x-gnu': 4.35.0
'@rollup/rollup-linux-x64-gnu': 4.35.0
'@rollup/rollup-linux-x64-musl': 4.35.0
'@rollup/rollup-win32-arm64-msvc': 4.35.0
'@rollup/rollup-win32-ia32-msvc': 4.35.0
'@rollup/rollup-win32-x64-msvc': 4.35.0
'@rollup/rollup-android-arm-eabi': 4.36.0
'@rollup/rollup-android-arm64': 4.36.0
'@rollup/rollup-darwin-arm64': 4.36.0
'@rollup/rollup-darwin-x64': 4.36.0
'@rollup/rollup-freebsd-arm64': 4.36.0
'@rollup/rollup-freebsd-x64': 4.36.0
'@rollup/rollup-linux-arm-gnueabihf': 4.36.0
'@rollup/rollup-linux-arm-musleabihf': 4.36.0
'@rollup/rollup-linux-arm64-gnu': 4.36.0
'@rollup/rollup-linux-arm64-musl': 4.36.0
'@rollup/rollup-linux-loongarch64-gnu': 4.36.0
'@rollup/rollup-linux-powerpc64le-gnu': 4.36.0
'@rollup/rollup-linux-riscv64-gnu': 4.36.0
'@rollup/rollup-linux-s390x-gnu': 4.36.0
'@rollup/rollup-linux-x64-gnu': 4.36.0
'@rollup/rollup-linux-x64-musl': 4.36.0
'@rollup/rollup-win32-arm64-msvc': 4.36.0
'@rollup/rollup-win32-ia32-msvc': 4.36.0
'@rollup/rollup-win32-x64-msvc': 4.36.0
fsevents: 2.3.3
run-parallel@1.2.0:
......@@ -1717,69 +1724,69 @@ snapshots:
safer-buffer@2.1.2:
optional: true
sass-embedded-android-arm64@1.85.1:
sass-embedded-android-arm64@1.86.0:
optional: true
sass-embedded-android-arm@1.85.1:
sass-embedded-android-arm@1.86.0:
optional: true
sass-embedded-android-ia32@1.85.1:
sass-embedded-android-ia32@1.86.0:
optional: true
sass-embedded-android-riscv64@1.85.1:
sass-embedded-android-riscv64@1.86.0:
optional: true
sass-embedded-android-x64@1.85.1:
sass-embedded-android-x64@1.86.0:
optional: true
sass-embedded-darwin-arm64@1.85.1:
sass-embedded-darwin-arm64@1.86.0:
optional: true
sass-embedded-darwin-x64@1.85.1:
sass-embedded-darwin-x64@1.86.0:
optional: true
sass-embedded-linux-arm64@1.85.1:
sass-embedded-linux-arm64@1.86.0:
optional: true
sass-embedded-linux-arm@1.85.1:
sass-embedded-linux-arm@1.86.0:
optional: true
sass-embedded-linux-ia32@1.85.1:
sass-embedded-linux-ia32@1.86.0:
optional: true
sass-embedded-linux-musl-arm64@1.85.1:
sass-embedded-linux-musl-arm64@1.86.0:
optional: true
sass-embedded-linux-musl-arm@1.85.1:
sass-embedded-linux-musl-arm@1.86.0:
optional: true
sass-embedded-linux-musl-ia32@1.85.1:
sass-embedded-linux-musl-ia32@1.86.0:
optional: true
sass-embedded-linux-musl-riscv64@1.85.1:
sass-embedded-linux-musl-riscv64@1.86.0:
optional: true
sass-embedded-linux-musl-x64@1.85.1:
sass-embedded-linux-musl-x64@1.86.0:
optional: true
sass-embedded-linux-riscv64@1.85.1:
sass-embedded-linux-riscv64@1.86.0:
optional: true
sass-embedded-linux-x64@1.85.1:
sass-embedded-linux-x64@1.86.0:
optional: true
sass-embedded-win32-arm64@1.85.1:
sass-embedded-win32-arm64@1.86.0:
optional: true
sass-embedded-win32-ia32@1.85.1:
sass-embedded-win32-ia32@1.86.0:
optional: true
sass-embedded-win32-x64@1.85.1:
sass-embedded-win32-x64@1.86.0:
optional: true
sass-embedded@1.85.1:
sass-embedded@1.86.0:
dependencies:
'@bufbuild/protobuf': 2.2.3
'@bufbuild/protobuf': 2.2.4
buffer-builder: 0.2.0
colorjs.io: 0.5.2
immutable: 5.0.3
......@@ -1788,26 +1795,26 @@ snapshots:
sync-child-process: 1.0.2
varint: 6.0.0
optionalDependencies:
sass-embedded-android-arm: 1.85.1
sass-embedded-android-arm64: 1.85.1
sass-embedded-android-ia32: 1.85.1
sass-embedded-android-riscv64: 1.85.1
sass-embedded-android-x64: 1.85.1
sass-embedded-darwin-arm64: 1.85.1
sass-embedded-darwin-x64: 1.85.1
sass-embedded-linux-arm: 1.85.1
sass-embedded-linux-arm64: 1.85.1
sass-embedded-linux-ia32: 1.85.1
sass-embedded-linux-musl-arm: 1.85.1
sass-embedded-linux-musl-arm64: 1.85.1
sass-embedded-linux-musl-ia32: 1.85.1
sass-embedded-linux-musl-riscv64: 1.85.1
sass-embedded-linux-musl-x64: 1.85.1
sass-embedded-linux-riscv64: 1.85.1
sass-embedded-linux-x64: 1.85.1
sass-embedded-win32-arm64: 1.85.1
sass-embedded-win32-ia32: 1.85.1
sass-embedded-win32-x64: 1.85.1
sass-embedded-android-arm: 1.86.0
sass-embedded-android-arm64: 1.86.0
sass-embedded-android-ia32: 1.86.0
sass-embedded-android-riscv64: 1.86.0
sass-embedded-android-x64: 1.86.0
sass-embedded-darwin-arm64: 1.86.0
sass-embedded-darwin-x64: 1.86.0
sass-embedded-linux-arm: 1.86.0
sass-embedded-linux-arm64: 1.86.0
sass-embedded-linux-ia32: 1.86.0
sass-embedded-linux-musl-arm: 1.86.0
sass-embedded-linux-musl-arm64: 1.86.0
sass-embedded-linux-musl-ia32: 1.86.0
sass-embedded-linux-musl-riscv64: 1.86.0
sass-embedded-linux-musl-x64: 1.86.0
sass-embedded-linux-riscv64: 1.86.0
sass-embedded-linux-x64: 1.86.0
sass-embedded-win32-arm64: 1.86.0
sass-embedded-win32-ia32: 1.86.0
sass-embedded-win32-x64: 1.86.0
sax@1.4.1:
optional: true
......@@ -1897,6 +1904,8 @@ snapshots:
escalade: 3.2.0
picocolors: 1.1.1
uuid@11.1.0: {}
uuid@8.3.2: {}
uuid@9.0.1: {}
......@@ -1914,15 +1923,15 @@ snapshots:
fast-glob: 3.3.3
magic-string: 0.30.17
vite@5.4.14(less@4.2.2)(sass-embedded@1.85.1):
vite@5.4.14(less@4.2.2)(sass-embedded@1.86.0):
dependencies:
esbuild: 0.21.5
postcss: 8.5.3
rollup: 4.35.0
rollup: 4.36.0
optionalDependencies:
fsevents: 2.3.3
less: 4.2.2
sass-embedded: 1.85.1
sass-embedded: 1.86.0
vue-demi@0.14.10(vue@3.5.13):
dependencies:
......
......@@ -145,6 +145,11 @@ const router = createRouter({
name: 'api-transform-model',
component: () => import('../views/api/transformModel.vue')
},
{
path: '/release',
name: 'release',
component: () => import('../views/release.vue')
},
]
})
......
<!--
* @Date: 2025-03-10 16:52:35
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2025-03-19 00:57:55
* @LastEditTime: 2025-03-19 10:46:41
* @FilePath: /logic-flow2/src/views/api/transformModel.vue
* @Description: 拖拽面板
-->
......@@ -59,14 +59,17 @@ const centerView = () => {
if (nodes.length === 0) return;
// 计算所有节点的边界框
const bounds = nodes.reduce((acc, node) => {
const bounds = nodes.reduce(
(acc, node) => {
const { x, y } = node;
acc.minX = Math.min(acc.minX, x);
acc.maxX = Math.max(acc.maxX, x);
acc.minY = Math.min(acc.minY, y);
acc.maxY = Math.max(acc.maxY, y);
return acc;
}, { minX: Infinity, maxX: -Infinity, minY: Infinity, maxY: -Infinity });
},
{ minX: Infinity, maxX: -Infinity, minY: Infinity, maxY: -Infinity }
);
// 计算中心点和范围
const centerX = (bounds.minX + bounds.maxX) / 2;
......@@ -82,6 +85,7 @@ onMounted(() => {
lf = new LogicFlow({
container: container.value,
grid: true,
nodeTextDraggable: true,
});
// 监听点击画布功能
......@@ -89,12 +93,11 @@ onMounted(() => {
console.log("Canvas clicked at:", e.x, e.y);
});
lf.on('node:click', (e) => {
lf.on("node:click", (e) => {
console.log(e);
// 示例:HTML坐标转换为画布坐标
console.warn(e);
const htmlPoint = { x: 100, y: 100 };
const { transformModel } = lf.graphModel;
const canvasPoint = transformModel.HtmlPointToCanvasPoint(htmlPoint);
......@@ -116,14 +119,17 @@ onMounted(() => {
const nodes = lf.graphModel.nodes;
if (nodes.length === 0) return;
const bounds = nodes.reduce((acc, node) => {
const bounds = nodes.reduce(
(acc, node) => {
const { x, y } = node;
acc.minX = Math.min(acc.minX, x);
acc.maxX = Math.max(acc.maxX, x);
acc.minY = Math.min(acc.minY, y);
acc.maxY = Math.max(acc.maxY, y);
return acc;
}, { minX: Infinity, maxX: -Infinity, minY: Infinity, maxY: -Infinity });
},
{ minX: Infinity, maxX: -Infinity, minY: Infinity, maxY: -Infinity }
);
const centerX = (bounds.minX + bounds.maxX) / 2;
const centerY = (bounds.minY + bounds.maxY) / 2;
......@@ -133,7 +139,10 @@ onMounted(() => {
// transformModel.focusOn(centerX, centerY, width, height);
}, 0);
const { editConfigModel } = lf.graphModel;
editConfigModel.updateEditConfig({
stopZoomGraph: true,
});
});
</script>
......
/*
* @Date: 2025-03-19 17:24:14
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2025-03-19 17:24:38
* @FilePath: /logic-flow2/src/views/node-model/customPolygon.js
* @Description: 文件描述
*/
import { PolygonNode, PolygonNodeModel } from '@logicflow/core';
class CustomPolygonModel extends PolygonNodeModel {
// 默认四边形 => 八边形
setAttributes() {
const width = 100;
const height = 100;
const x = 50;
const y = 50;
// 计算多边形的八个顶点, 中心点为[50, 50], 宽高均为100
const pointList = [
[x - 0.205 * width, y - 0.5 * height],
[x + 0.205 * width, y - 0.5 * height],
[x + 0.5 * width, y - 0.205 * height],
[x + 0.5 * width, y + 0.205 * height],
[x + 0.205 * width, y + 0.5 * height],
[x - 0.205 * width, y + 0.5 * height],
[x - 0.5 * width, y + 0.205 * height],
[x - 0.5 * width, y - 0.205 * height],
];
this.points = pointList;
}
getTextStyle() {
const { refX = 0, refY = 0 } = this.properties;
const style = super.getTextStyle();
// 通过 transform 重新设置 text 的位置:向下移动70px
return {
...style,
transform: `matrix(1 0 0 1 ${refX} ${refY + 70})`,
};
}
}
export default {
type: 'custom-polygon',
view: PolygonNode,
model: CustomPolygonModel,
};
/*
* @Date: 2025-03-11 15:09:49
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2025-03-11 15:45:06
* @FilePath: /logic-flow2/src/views/node/data.js
* @LastEditTime: 2025-03-19 17:26:16
* @FilePath: /logic-flow2/src/views/node-model/data.js
* @Description: 文件描述
*/
export default {
......@@ -47,5 +47,12 @@ export default {
height: 130,
},
},
{
id: '4',
type: 'custom-polygon',
x: 100,
y: 300,
text: 'custom-polygon',
}
],
};
......
<!--
* @Date: 2025-03-11 15:07:29
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2025-03-11 16:18:37
* @FilePath: /logic-flow2/src/views/node/index.vue
* @LastEditTime: 2025-03-19 17:31:46
* @FilePath: /logic-flow2/src/views/node-model/index.vue
* @Description: 自定义节点model
-->
<template>
......@@ -12,9 +12,10 @@
</template>
<script setup>
import LogicFlow from '@logicflow/core';
import UserTask from './customRect';
import data from './data';
import LogicFlow from "@logicflow/core";
import UserTask from "./customRect";
import customPolygon from "./customPolygon";
import data from "./data";
const SilentConfig = {
isSilentMode: true,
......@@ -35,6 +36,15 @@ onMounted(() => {
});
lf.register(UserTask);
lf.register(customPolygon);
lf.on("node:click", ({ data }) => {
if (data.type === "custom-polygon") {
const node = lf.getNodeModelById(data.id);
console.log("节点顶点坐标:", node.points);
}
});
lf.render(data);
lf.translateCenter();
});
......
<!--
* @Date: 2025-03-10 16:52:35
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2025-03-19 11:32:33
* @FilePath: /logic-flow2/src/views/release.vue
* @Description: 拖拽面板
-->
<template>
<div class="container">
<div ref="container" class="flow-container"></div>
</div>
</template>
<script setup>
import LogicFlow from "@logicflow/core";
const container = ref(null);
let lf = null;
onMounted(() => {
lf = new LogicFlow({
container: container.value,
grid: true,
nodeTextDraggable: true,
nodeTextEdit: true,
edgeTextEdit: true,
stopScrollGraph: true,
stopZoomGraph: false,
style: {
rect: {
width: 100,
height: 50,
radius: 8,
},
circle: {
r: 30,
},
},
});
lf.render({
nodes: [
{
id: "start",
type: "rect",
x: 200,
y: 100,
text: "开始",
properties: {
nodeType: "start",
style: {
fill: "#e8f7ff",
stroke: "#1890ff",
strokeWidth: 2,
},
textStyle: {
color: "#1890ff",
fontSize: 16,
fontWeight: "bold",
},
},
},
{
id: "process",
type: "circle",
x: 400,
y: 100,
text: "处理",
properties: {
nodeType: "process",
style: {
fill: "#fff7e6",
stroke: "#ffa940",
strokeWidth: 2,
},
},
},
],
edges: [
{
id: "edge1",
sourceNodeId: "start",
targetNodeId: "process",
type: "polyline",
text: "流转",
properties: {
style: {
stroke: "#1890ff",
strokeWidth: 2,
},
},
},
],
});
// 监听节点点击
lf.on("node:click", ({ data }) => {
console.log("点击节点:", data);
});
// 监听连线完成
lf.on("edge:connect", ({ data }) => {
console.log("连线完成:", data);
});
// 监听画布缩放
lf.on("graph:transform", (transform) => {
console.log("画布变换:", transform);
});
// 居中显示
lf.translateCenter();
});
</script>
<style scoped>
.container {
width: 100vw;
height: 100vh;
display: flex;
flex-direction: column;
}
.flow-container {
flex: 1;
width: 100%;
height: 100%;
}
</style>