diff --git a/graph/pom.xml b/graph/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..61ec566aeaec3aeec1101d4e2401142acf54697c --- /dev/null +++ b/graph/pom.xml @@ -0,0 +1,19 @@ + + + + bic-parent + cn.icanci.loopstack.bic + 1.0-SNAPSHOT + + 4.0.0 + + bic-graph + + + 8 + 8 + + + \ No newline at end of file diff --git a/graph/src/main/java/cn/icanci/loopstack/bic/graph/package-info.java b/graph/src/main/java/cn/icanci/loopstack/bic/graph/package-info.java new file mode 100644 index 0000000000000000000000000000000000000000..27b377f44331da066798b9da22cd2926f4061f0b --- /dev/null +++ b/graph/src/main/java/cn/icanci/loopstack/bic/graph/package-info.java @@ -0,0 +1,5 @@ +/** + * @author icanci + * @since 1.0 Created in 2023/08/20 15:42 + */ +package cn.icanci.loopstack.bic.graph; \ No newline at end of file diff --git a/pom.xml b/pom.xml index 4fbdd0c41fb30a177ba835d464840790e4eb387d..c22d155a8b7c2a7819ef9df126a1da93aaa3722a 100644 --- a/pom.xml +++ b/pom.xml @@ -20,6 +20,7 @@ dal biz web + graph diff --git a/views/src/main/resources/vueboot/package.json b/views/src/main/resources/vueboot/package.json index 02f68e2376412a8414f9d93aa6dd480551faa3b9..5207d19e0d0c805d863db6acf8d499f4ac96cfb8 100644 --- a/views/src/main/resources/vueboot/package.json +++ b/views/src/main/resources/vueboot/package.json @@ -15,6 +15,11 @@ "test:ci": "npm run lint && npm run test:unit" }, "dependencies": { + "@antv/layout": "^0.3.23", + "@antv/x6": "^2.13.1", + "@antv/x6-plugin-scroller": "^2.0.10", + "@antv/x6-plugin-selection": "^2.1.7", + "@antv/x6-plugin-snapline": "^2.1.7", "axios": "0.18.1", "clipboard": "2.0.4", "codemirror": "5.45.0", diff --git a/views/src/main/resources/vueboot/src/router/index.js b/views/src/main/resources/vueboot/src/router/index.js index 2c4d686f9abb92ccf873af781f775b5aa5a6ce78..7672d09949e153cc6620c58760851f93e52bf4aa 100644 --- a/views/src/main/resources/vueboot/src/router/index.js +++ b/views/src/main/resources/vueboot/src/router/index.js @@ -184,6 +184,12 @@ export const constantRoutes = [ name: 'bicSummaryView', meta: {title: '聚合视图'} }, + { + path: 'demo-view', + component: () => import('@/views/bic-view/demo-view'), + name: 'demoView', + meta: {title: 'demoView'} + }, ] }, { diff --git a/views/src/main/resources/vueboot/src/views/bic-view/demo-view-edge-data.js b/views/src/main/resources/vueboot/src/views/bic-view/demo-view-edge-data.js new file mode 100644 index 0000000000000000000000000000000000000000..3fdb4b0c05bf8f00569458e9ab5b534c47910a6c --- /dev/null +++ b/views/src/main/resources/vueboot/src/views/bic-view/demo-view-edge-data.js @@ -0,0 +1,260 @@ +const demoViewEdgeData = [ + { + source: {cell: "node1", port: 'port-right'}, + target: {cell: 'node2', port: 'port-left'}, + attrs: { + line: { + stroke: '#7c68fc', + }, + }, + router: 'manhattan', + connector: 'normal', + labels: [], + consumerInfo: { + attrs: { + line: { + stroke: 'red', + strokeWidth: 5, + }, + }, + labels: [{ + attrs: { + label: {text: '调用'} + }, + position: { + distance: 0.8 + }, + }] + }, + historyInfo: {} + }, { + source: {cell: "node1", port: 'port-right'}, + target: {cell: 'node3', port: 'port-left'}, + attrs: { + line: { + stroke: '#7c68fc', + }, + }, + router: 'manhattan', + connector: 'normal', + label: '' + }, + { + source: {cell: "node3", port: 'port-right'}, + target: {cell: 'node4', port: 'port-left'}, + attrs: { + line: { + stroke: '#7c68fc', + }, + }, + router: 'manhattan', + connector: 'normal', + label: '' + }, + { + source: {cell: "node3", port: 'port-right'}, + target: {cell: 'node5', port: 'port-left'}, + attrs: { + line: { + stroke: '#7c68fc', + }, + }, + router: 'manhattan', + connector: 'normal', + label: '' + }, + { + source: {cell: "node2", port: 'port-right'}, + target: {cell: 'node6', port: 'port-left'}, + attrs: { + line: { + stroke: '#7c68fc', + }, + }, + router: 'manhattan', + connector: 'normal', + label: '' + }, + { + source: {cell: "node2", port: 'port-right'}, + target: {cell: 'node7', port: 'port-left'}, + attrs: { + line: { + stroke: '#7c68fc', + }, + }, + router: 'manhattan', + connector: 'normal', + label: '' + }, + { + source: {cell: "node2", port: 'port-right'}, + target: {cell: 'node8', port: 'port-left'}, + attrs: { + line: { + stroke: '#7c68fc', + }, + }, + router: 'manhattan', + connector: 'normal', + label: '' + }, + { + source: {cell: "node8", port: 'port-right'}, + target: {cell: 'node9', port: 'port-left'}, + attrs: { + line: { + stroke: '#7c68fc', + }, + }, + router: 'manhattan', + connector: 'normal', + label: '' + }, + { + source: {cell: "node8", port: 'port-right'}, + target: {cell: 'node10', port: 'port-left'}, + attrs: { + line: { + stroke: '#7c68fc', + }, + }, + router: 'manhattan', + connector: 'normal', + label: '' + }, + { + source: {cell: "node8", port: 'port-right'}, + target: {cell: 'node11', port: 'port-left'}, + attrs: { + line: { + stroke: '#7c68fc', + }, + }, + router: 'manhattan', + connector: 'normal', + label: '' + }, + { + source: {cell: "node8", port: 'port-right'}, + target: {cell: 'node12', port: 'port-left'}, + attrs: { + line: { + stroke: '#7c68fc', + }, + }, + router: 'manhattan', + connector: 'normal', + label: '' + }, + { + source: {cell: "node8", port: 'port-right'}, + target: {cell: 'node13', port: 'port-left'}, + attrs: { + line: { + stroke: '#7c68fc', + }, + }, + router: 'manhattan', + connector: 'normal', + label: '' + }, + { + source: {cell: "node8", port: 'port-right'}, + target: {cell: 'node14', port: 'port-left'}, + attrs: { + line: { + stroke: '#7c68fc', + }, + }, + router: 'manhattan', + connector: 'normal', + label: '' + }, + { + source: {cell: "node8", port: 'port-right'}, + target: {cell: 'node15', port: 'port-left'}, + attrs: { + line: { + stroke: '#7c68fc', + }, + }, + router: 'manhattan', + connector: 'normal', + label: '' + }, + { + source: {cell: "node8", port: 'port-right'}, + target: {cell: 'node16', port: 'port-left'}, + attrs: { + line: { + stroke: '#7c68fc', + }, + }, + router: 'manhattan', + connector: 'normal', + label: '' + }, + { + source: {cell: "node8", port: 'port-right'}, + target: {cell: 'node17', port: 'port-left'}, + attrs: { + line: { + stroke: '#7c68fc', + }, + }, + router: 'manhattan', + connector: 'normal', + label: '' + }, + { + source: {cell: "node8", port: 'port-right'}, + target: {cell: 'node18', port: 'port-left'}, + attrs: { + line: { + stroke: '#7c68fc', + }, + }, + router: 'manhattan', + connector: 'normal', + label: '' + }, + { + source: {cell: "node8", port: 'port-right'}, + target: {cell: 'node19', port: 'port-left'}, + attrs: { + line: { + stroke: '#7c68fc', + }, + }, + router: 'manhattan', + connector: 'normal', + label: '' + }, + { + source: {cell: "node8", port: 'port-right'}, + target: {cell: 'node20', port: 'port-left'}, + attrs: { + line: { + stroke: '#7c68fc', + }, + }, + router: 'manhattan', + connector: 'normal', + label: '' + }, + { + source: {cell: "node8", port: 'port-right'}, + target: {cell: 'node21', port: 'port-left'}, + attrs: { + line: { + stroke: '#7c68fc', + }, + }, + router: 'manhattan', + connector: 'normal', + label: '' + }, +] + +export default demoViewEdgeData diff --git a/views/src/main/resources/vueboot/src/views/bic-view/demo-view-node-data.js b/views/src/main/resources/vueboot/src/views/bic-view/demo-view-node-data.js new file mode 100644 index 0000000000000000000000000000000000000000..5013d40074cbf3a00f317baf31266dfcb67687ce --- /dev/null +++ b/views/src/main/resources/vueboot/src/views/bic-view/demo-view-node-data.js @@ -0,0 +1,1378 @@ +const demoViewNodeData = [ + { + id: 'node1', + shape: 'circle', + width: 50, + height: 50, + attrs: { + body: { + fill: '#F39C12', + stroke: '#000', + rx: 16, + ry: 16, + }, + label: { + text: '下单', + fill: '#333', + fontSize: 18, + fontWeight: 'bold', + fontVariant: 'small-caps', + }, + }, + ports: { + groups: { + // 输入链接桩群组定义 + in: { + position: 'left', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + // 输出链接桩群组定义 + out: { + position: 'right', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + }, + items: [ + { + id: 'port-left', + group: 'in', + }, { + id: 'port-right', + group: 'out', + }, + ], + }, + }, + { + id: 'node2', + shape: 'rect', + width: 100, + height: 40, + attrs: { + body: { + fill: '#2ECC71', + stroke: '#000', + strokeDasharray: '10,2', + }, + label: { + text: '获取Fr2缓存', + fill: '#333', + fontSize: 13, + } + }, + ports: { + groups: { + // 输入链接桩群组定义 + in: { + position: 'left', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + // 输出链接桩群组定义 + out: { + position: 'right', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + }, + items: [ + { + id: 'port-left', + group: 'in', + }, { + id: 'port-right', + group: 'out', + }, + ], + }, + }, + { + id: 'node3', + shape: 'rect', + width: 100, + height: 40, + attrs: { + body: { + fill: '#2ECC71', + stroke: '#000', + strokeDasharray: '10,2', + }, + label: { + text: '调用风控接口', + fill: '#333', + fontSize: 13, + } + }, + ports: { + groups: { + // 输入链接桩群组定义 + in: { + position: 'left', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + // 输出链接桩群组定义 + out: { + position: 'right', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + }, + items: [ + { + id: 'port-left', + group: 'in', + }, { + id: 'port-right', + group: 'out', + }, + ], + }, + }, + { + id: 'node4', + shape: 'rect', + width: 100, + height: 40, + attrs: { + body: { + fill: '#2ECC71', + stroke: '#000', + strokeDasharray: '10,2', + }, + label: { + text: '黑名单校验接口', + fill: '#333', + fontSize: 13, + } + }, + ports: { + groups: { + // 输入链接桩群组定义 + in: { + position: 'left', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + // 输出链接桩群组定义 + out: { + position: 'right', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + }, + items: [ + { + id: 'port-left', + group: 'in', + }, { + id: 'port-right', + group: 'out', + }, + ], + }, + }, + { + id: 'node5', + shape: 'rect', + width: 100, + height: 40, + attrs: { + body: { + fill: '#2ECC71', + stroke: '#000', + strokeDasharray: '10,2', + }, + label: { + text: '失信人校验接口', + fill: '#333', + fontSize: 13, + } + }, + ports: { + groups: { + // 输入链接桩群组定义 + in: { + position: 'left', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + // 输出链接桩群组定义 + out: { + position: 'right', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + }, + items: [ + { + id: 'port-left', + group: 'in', + }, { + id: 'port-right', + group: 'out', + }, + ], + }, + }, + { + id: 'node6', + shape: 'rect', + width: 100, + height: 40, + attrs: { + body: { + fill: '#2ECC71', + stroke: '#000', + strokeDasharray: '10,2', + }, + label: { + text: '失信人校验接口', + fill: '#333', + fontSize: 13, + } + }, + ports: { + groups: { + // 输入链接桩群组定义 + in: { + position: 'left', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + // 输出链接桩群组定义 + out: { + position: 'right', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + }, + items: [ + { + id: 'port-left', + group: 'in', + }, { + id: 'port-right', + group: 'out', + }, + ], + }, + }, + { + id: 'node7', + shape: 'rect', + width: 100, + height: 40, + attrs: { + body: { + fill: '#2ECC71', + stroke: '#000', + strokeDasharray: '10,2', + }, + label: { + text: '失信人校验接口', + fill: '#333', + fontSize: 13, + } + }, + ports: { + groups: { + // 输入链接桩群组定义 + in: { + position: 'left', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + // 输出链接桩群组定义 + out: { + position: 'right', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + }, + items: [ + { + id: 'port-left', + group: 'in', + }, { + id: 'port-right', + group: 'out', + }, + ], + }, + }, + { + id: 'node8', + shape: 'rect', + width: 100, + height: 40, + attrs: { + body: { + fill: '#2ECC71', + stroke: '#000', + strokeDasharray: '10,2', + }, + label: { + text: '失信人校验接口', + fill: '#333', + fontSize: 13, + } + }, + ports: { + groups: { + // 输入链接桩群组定义 + in: { + position: 'left', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + // 输出链接桩群组定义 + out: { + position: 'right', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + }, + items: [ + { + id: 'port-left', + group: 'in', + }, { + id: 'port-right', + group: 'out', + }, + ], + }, + }, + { + id: 'node9', + shape: 'rect', + width: 100, + height: 40, + attrs: { + body: { + fill: '#2ECC71', + stroke: '#000', + strokeDasharray: '10,2', + }, + label: { + text: '失信人校验接口', + fill: '#333', + fontSize: 13, + } + }, + ports: { + groups: { + // 输入链接桩群组定义 + in: { + position: 'left', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + // 输出链接桩群组定义 + out: { + position: 'right', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + }, + items: [ + { + id: 'port-left', + group: 'in', + }, { + id: 'port-right', + group: 'out', + }, + ], + }, + }, + { + id: 'node10', + shape: 'rect', + width: 100, + height: 40, + attrs: { + body: { + fill: '#2ECC71', + stroke: '#000', + strokeDasharray: '10,2', + }, + label: { + text: '失信人校验接口', + fill: '#333', + fontSize: 13, + } + }, + ports: { + groups: { + // 输入链接桩群组定义 + in: { + position: 'left', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + // 输出链接桩群组定义 + out: { + position: 'right', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + }, + items: [ + { + id: 'port-left', + group: 'in', + }, { + id: 'port-right', + group: 'out', + }, + ], + }, + }, + { + id: 'node11', + shape: 'rect', + width: 100, + height: 40, + attrs: { + body: { + fill: '#2ECC71', + stroke: '#000', + strokeDasharray: '10,2', + }, + label: { + text: '失信人校验接口', + fill: '#333', + fontSize: 13, + } + }, + ports: { + groups: { + // 输入链接桩群组定义 + in: { + position: 'left', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + // 输出链接桩群组定义 + out: { + position: 'right', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + }, + items: [ + { + id: 'port-left', + group: 'in', + }, { + id: 'port-right', + group: 'out', + }, + ], + }, + }, + { + id: 'node12', + shape: 'rect', + width: 100, + height: 40, + attrs: { + body: { + fill: '#2ECC71', + stroke: '#000', + strokeDasharray: '10,2', + }, + label: { + text: '失信人校验接口', + fill: '#333', + fontSize: 13, + } + }, + ports: { + groups: { + // 输入链接桩群组定义 + in: { + position: 'left', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + // 输出链接桩群组定义 + out: { + position: 'right', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + }, + items: [ + { + id: 'port-left', + group: 'in', + }, { + id: 'port-right', + group: 'out', + }, + ], + }, + }, + { + id: 'node13', + shape: 'rect', + width: 100, + height: 40, + attrs: { + body: { + fill: '#2ECC71', + stroke: '#000', + strokeDasharray: '10,2', + }, + label: { + text: '失信人校验接口', + fill: '#333', + fontSize: 13, + } + }, + ports: { + groups: { + // 输入链接桩群组定义 + in: { + position: 'left', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + // 输出链接桩群组定义 + out: { + position: 'right', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + }, + items: [ + { + id: 'port-left', + group: 'in', + }, { + id: 'port-right', + group: 'out', + }, + ], + }, + }, + { + id: 'node14', + shape: 'rect', + width: 100, + height: 40, + attrs: { + body: { + fill: '#2ECC71', + stroke: '#000', + strokeDasharray: '10,2', + }, + label: { + text: '失信人校验接口', + fill: '#333', + fontSize: 13, + } + }, + ports: { + groups: { + // 输入链接桩群组定义 + in: { + position: 'left', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + // 输出链接桩群组定义 + out: { + position: 'right', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + }, + items: [ + { + id: 'port-left', + group: 'in', + }, { + id: 'port-right', + group: 'out', + }, + ], + }, + }, + { + id: 'node15', + shape: 'rect', + width: 100, + height: 40, + attrs: { + body: { + fill: '#2ECC71', + stroke: '#000', + strokeDasharray: '10,2', + }, + label: { + text: '失信人校验接口', + fill: '#333', + fontSize: 13, + } + }, + ports: { + groups: { + // 输入链接桩群组定义 + in: { + position: 'left', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + // 输出链接桩群组定义 + out: { + position: 'right', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + }, + items: [ + { + id: 'port-left', + group: 'in', + }, { + id: 'port-right', + group: 'out', + }, + ], + }, + }, + { + id: 'node16', + shape: 'rect', + width: 100, + height: 40, + attrs: { + body: { + fill: '#2ECC71', + stroke: '#000', + strokeDasharray: '10,2', + }, + label: { + text: '失信人校验接口', + fill: '#333', + fontSize: 13, + } + }, + ports: { + groups: { + // 输入链接桩群组定义 + in: { + position: 'left', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + // 输出链接桩群组定义 + out: { + position: 'right', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + }, + items: [ + { + id: 'port-left', + group: 'in', + }, { + id: 'port-right', + group: 'out', + }, + ], + }, + }, + { + id: 'node17', + shape: 'rect', + width: 100, + height: 40, + attrs: { + body: { + fill: '#2ECC71', + stroke: '#000', + strokeDasharray: '10,2', + }, + label: { + text: '失信人校验接口', + fill: '#333', + fontSize: 13, + } + }, + ports: { + groups: { + // 输入链接桩群组定义 + in: { + position: 'left', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + // 输出链接桩群组定义 + out: { + position: 'right', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + }, + items: [ + { + id: 'port-left', + group: 'in', + }, { + id: 'port-right', + group: 'out', + }, + ], + }, + }, + { + id: 'node18', + shape: 'rect', + width: 100, + height: 40, + attrs: { + body: { + fill: '#2ECC71', + stroke: '#000', + strokeDasharray: '10,2', + }, + label: { + text: '失信人校验接口', + fill: '#333', + fontSize: 13, + } + }, + ports: { + groups: { + // 输入链接桩群组定义 + in: { + position: 'left', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + // 输出链接桩群组定义 + out: { + position: 'right', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + }, + items: [ + { + id: 'port-left', + group: 'in', + }, { + id: 'port-right', + group: 'out', + }, + ], + }, + }, + { + id: 'node19', + shape: 'rect', + width: 100, + height: 40, + attrs: { + body: { + fill: '#2ECC71', + stroke: '#000', + strokeDasharray: '10,2', + }, + label: { + text: '失信人校验接口', + fill: '#333', + fontSize: 13, + } + }, + ports: { + groups: { + // 输入链接桩群组定义 + in: { + position: 'left', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + // 输出链接桩群组定义 + out: { + position: 'right', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + }, + items: [ + { + id: 'port-left', + group: 'in', + }, { + id: 'port-right', + group: 'out', + }, + ], + }, + }, + { + id: 'node20', + shape: 'rect', + width: 100, + height: 40, + attrs: { + body: { + fill: '#2ECC71', + stroke: '#000', + strokeDasharray: '10,2', + }, + label: { + text: '失信人校验接口', + fill: '#333', + fontSize: 13, + } + }, + ports: { + groups: { + // 输入链接桩群组定义 + in: { + position: 'left', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + // 输出链接桩群组定义 + out: { + position: 'right', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + }, + items: [ + { + id: 'port-left', + group: 'in', + }, { + id: 'port-right', + group: 'out', + }, + ], + }, + }, + { + id: 'node21', + shape: 'rect', + width: 100, + height: 40, + attrs: { + body: { + fill: '#2ECC71', + stroke: '#000', + strokeDasharray: '10,2', + }, + label: { + text: '失信人校验接口', + fill: '#333', + fontSize: 13, + } + }, + ports: { + groups: { + // 输入链接桩群组定义 + in: { + position: 'left', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + // 输出链接桩群组定义 + out: { + position: 'right', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + }, + items: [ + { + id: 'port-left', + group: 'in', + }, { + id: 'port-right', + group: 'out', + }, + ], + }, + }, + { + id: 'node22', + shape: 'ellipse', + width: 100, + height: 40, + attrs: { + body: { + fill: '#ffffff', + stroke: '#000', + strokeDasharray: '10,2', + }, + label: { + text: '失信人校验接口', + fill: '#333', + fontSize: 13, + } + }, + ports: { + groups: { + // 输入链接桩群组定义 + in: { + position: 'left', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + // 输出链接桩群组定义 + out: { + position: 'right', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + }, + items: [ + { + id: 'port-left', + group: 'in', + }, { + id: 'port-right', + group: 'out', + }, + ], + }, + freeNode: true + }, + { + id: 'node23', + shape: 'ellipse', + width: 100, + height: 40, + attrs: { + body: { + fill: '#ffffff', + stroke: '#000', + strokeDasharray: '10,2', + }, + label: { + text: '失信人校验接口', + fill: '#333', + fontSize: 13, + } + }, + ports: { + groups: { + // 输入链接桩群组定义 + in: { + position: 'left', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + // 输出链接桩群组定义 + out: { + position: 'right', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + }, + items: [ + { + id: 'port-left', + group: 'in', + }, { + id: 'port-right', + group: 'out', + }, + ], + }, + freeNode: true + }, + { + id: 'node24', + shape: 'ellipse', + width: 100, + height: 40, + attrs: { + body: { + fill: '#ffffff', + stroke: '#000', + strokeDasharray: '10,2', + }, + label: { + text: '失信人校验接口', + fill: '#333', + fontSize: 13, + } + }, + ports: { + groups: { + // 输入链接桩群组定义 + in: { + position: 'left', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + // 输出链接桩群组定义 + out: { + position: 'right', + attrs: { + circle: { + r: 2, + magnet: true, + stroke: '#31d0c6', + strokeWidth: 2, + fill: '#fff', + }, + }, + }, + }, + items: [ + { + id: 'port-left', + group: 'in', + }, { + id: 'port-right', + group: 'out', + }, + ], + }, + freeNode: true + }, +] + +export default demoViewNodeData diff --git a/views/src/main/resources/vueboot/src/views/bic-view/demo-view.vue b/views/src/main/resources/vueboot/src/views/bic-view/demo-view.vue new file mode 100644 index 0000000000000000000000000000000000000000..f76bdede5d9d19fa33f7784c28fabb6df9ff7026 --- /dev/null +++ b/views/src/main/resources/vueboot/src/views/bic-view/demo-view.vue @@ -0,0 +1,171 @@ + + + + +