登录
注册
开源
企业版
高校版
搜索
帮助中心
使用条款
关于我们
开源
企业版
高校版
私有云
模力方舟
登录
注册
代码拉取完成,页面将自动刷新
捐赠
捐赠前请先登录
取消
前往登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
Watch
不关注
关注所有动态
仅关注版本发行动态
关注但不提醒动态
26
Star
327
Fork
100
LogicFlow
/
LogicFlow
代码
Issues
16
Pull Requests
0
Wiki
统计
流水线
服务
质量分析
Jenkins for Gitee
腾讯云托管
腾讯云 Serverless
悬镜安全
阿里云 SAE
Codeblitz
SBOM
我知道了,不再自动展开
更新失败,请稍后重试!
移除标识
内容风险标识
本任务被
标识为内容中包含有代码安全 Bug 、隐私泄露等敏感信息,仓库外成员不可访问
[Bug Report]: Converting circular structure to JSON --> starting at object with constructor 'Object' --- property '_renderProxy' closes the circle at JSON.stringify (<anonymous>)
待办的
#IAAH1F
伯纳斯
创建于
2024-07-04 10:30
### 发生了什么? 案例:https://examples.logic-flow.cn/demo/dist/organizer 错误:    代码如下。organizer/src/components/LogicPanel.vue ``` <template> <div class="logic-panel" v-loading="loading" element-loading-text="加载中..." element-loading-spinner="el-icon-loading" element-loading-background="rgba(255, 255, 255, 1)" > <div class="diagram-main"> <div class="diagram-sidebar"> <div> <h1 class="node-category-title">General</h1> <div class="node-category"> <div class="node-item" @mousedown="dragInNode('circle')"> <span class="svg-node">组件1</span> </div> <div class="node-item" @mousedown="dragInNode('circle')"> <span class="svg-node">组件2</span> </div> </div> </div> </div> <!-- 画布 --> <div ref="container" class="logic-container"> <div class="diagram-wrapper"> <div class="lf-diagram" ref="diagram"></div> </div> </div> </div> </div> </template> <script> import LogicFlow from "@logicflow/core"; import {Dagre} from "@logicflow/layout"; import {DndPanel, Menu, MiniMap, SelectionSelect} from "@logicflow/extension"; import "@logicflow/core/dist/style/index.css"; import "@logicflow/extension/lib/style/index.css"; import base from "@/node/base"; import common from "../node/common"; export default { name: 'LogicPanel', props: { context: Object, info: Object, }, computed: {}, data() { return { lf: null, isShowMenu: false, menuPosition: { x: 0, y: 0, }, currentModel: null, tipText: "", loading: true, }; }, async created() { }, async mounted() { this.loading = true; this.initCanvas(); this.initEvents(); this.initPopover(); this.info && this.createDefaultLogic(); this.loading = false; }, methods: { dragInNode(type) { this.lf.dnd.startDrag({ properties: { name: 123, }, type:'common-node' }) }, // 初始化画布 initCanvas() { this.lf = new LogicFlow({ container: this.$refs.container, autoExpand: false, hoverOutline: false, edgeSelectedOutline: false, // adjustEdge: false, plugins: [DndPanel, MiniMap, SelectionSelect, Menu, Dagre], keyboard: { enabled: true, shortcuts: [ { keys: "backspace", callback: () => { const {edges} = this.lf.getSelectElements(); // 默认只支持删除选中连线 if (edges && edges.length === 1) { this.lf.deleteEdge(edges[0].id); } }, }, ], }, grid: { size: 10, visible: false, }, }); // setSelectionSense 参数: isWholeEdge true 是否要边的起点终点都在选区范围才算选中, isWholeNode true 是否要节点的全部点都在选区范围才算选中 this.lf.extension.selectionSelect.setSelectionSense(true, false); this.lf.batchRegister([base,common]); // this.lf.batchRegister([logicLine, reaction, common, event, rpaNode]); // this.lf.render(graphData); this.lf.render({}); this.lf.setTheme({ arrow: { offset: 4, verticalLength: 3, }, snapline: { stroke: "#2961EF", // 对齐线颜色 strokeWidth: 1, // 对齐线宽度 }, bezier: { stroke: "#afafaf", strokeWidth: 2, }, }); }, // 初始化事件 initEvents() { // Context 事件监听 // 点击组件时高亮对应节点 this.context.eventCenter.on( 'canvas:model-clicked', (model) => { this.graph.selectNodesByModel(model); } ); this.context.eventCenter.on( 'canvas:model-deleted', (model) => { console.log("EDITOR_EVENT.CANVAS_MODEL_DELETE", model); // 检查相关组件 } ); /* 暂时不需要。this.lf.on('node:dnd-drag', ({data, e, position}) => { console.log('node:dnd-drag', data) });*/ this.lf.on('node:dnd-add', ({data, e, position}) => { console.log('node:dnd-add', data) }); // LF事件注册 // 双击击处理 this.lf.on("node:select-dbclick", (model) => { console.log("node:select-dbclick", model); this.currentModel = model; }); // 监听node点击 this.lf.on("node:click", ({data}) => { console.log("node:click", data); const model = this.lf.getNodeModelById(data.id); this.currentModel = model; }); // 属性面板鼠标悬浮到某选项时高亮对应节点 this.lf.on("node:hover-node", (model) => { this.graph.hoverNode(model); }); // 鼠标移出节点后取消画布组件高亮 this.lf.on("node:mouseleave", () => { this.context.eventCenter.emit('logic:node-hover', null); }); this.lf.on("history:change", () => { this.setGraphDataToContext(); }); this.lf.on("node:add-node", ({model, type, properties}) => { this.graph.insertNode(model, type, properties); }); this.lf.on("node:delete-node", (model) => { this.lf.deleteNode(model); }); this.lf.on("node:copy-node", (model) => { this.lf.copyNode(model); }); // 如果画布上一个节点都没有了,添加一个引导节点 this.lf.on("node:delete", ({data}) => { const {nodes} = this.lf.getGraphData(); }); // 点击节点添加按钮后,显示添加菜单 this.lf.on("node:add-click", ({model, event}) => { this.currentModel = model; const x = event.clientX; const y = event.clientY; this.menuPosition = { x: x - 10, y: y - 10, }; this.isShowMenu = true; }); this.lf.on("edge:update-model", (model) => { this.currentModel = model; }); this.lf.on("node:update-model", (model) => { this.currentModel = model; this.lf.selectNode(model); }); this.lf.on("blank:click", () => { this.currentModel = null; this.context.eventCenter.emit( 'canvas:model-activated', null ); }); this.lf.on("blank:contextmenu", ({e, position}) => { const x = e.clientX; const y = e.clientY; this.menuPosition = { x: x - 10, y: y - 10, }; this.isShowMenu = true; }); }, // 初始化弹出框 initPopover() {/* const {popover} = this.lf.extension; popover.registerPopover("tip1", { // TODO: 后续支持传递属性 render: (rootEl, data) => { const vm = new Vue({ render: (h) => h(insertMenu, { props: { lf: this.lf, context: this.context, graph: this.lf, model: this.currentModel, showConnectBlock: data.props.showConnectBlock, }, }), }); vm.$mount(rootEl); }, });*/ }, /** * 从context中获取graphData */ getGraphDataFromContext() { const {logicList} = this.context; if (logicList.length === 1 && logicList[0].nodes !== undefined) { // 表示新版数据,目前虽然是一张图,但是以后大概率用多张图来表示逻辑控制,所以先预留数组的形式。 const graphData = logicList[0]; if (graphData.nodes) { graphData.nodes.forEach((node) => { const {properties} = node; if (properties) { node.properties.logo = "defaultLogo"; } }); } return graphData; } return { nodes: [], edges: [], }; }, setGraphDataToContext() { const graphData = this.lf.getGraphData(); if (graphData.nodes) { graphData.nodes.forEach((node) => { if (node.properties) { delete node.properties.logo; delete node.properties.status; delete node.properties.warnings; } }); } this.context.logicList = [graphData]; }, /** * 获取节点的outgoing * outgoing: [ * { * id: 'edgeId', * condition: 'nodeId_1.eventType === "click"', * text: '点击', * target: 'nodeId_2', * pointsList: [] // 连线的坐标 * } * ] */ getNodeOutgoing(nodeId) { const edges = this.lf.getNodeOutgoingEdge(nodeId); return edges.map((edgeModel) => { const edgeData = edgeModel.getData(); return { id: edgeData.id, condition: edgeData.properties.condition, text: edgeData.text ? edgeData.text.value : "", target: edgeData.targetNodeId, pointsList: edgeData.pointsList, }; }); }, handleSubmit(type) { if (type === "ds") { this.checkRelatedDs(); } }, /** * 根据传入的model创建行为节点、引导 */ createDefaultNode(startPos) { const {dynamicKey, model} = this.info; const logic = model.getLogic(); const props = logic.props || []; const currentProp = props.find((item) => item.name === dynamicKey) || {}; const actNode = { id: genId(10), type: reaction.type, x: startPos.x + NODE_SPACE_X * 2, y: startPos.y, properties: { componentId: model.id, componentName: model.componentName, name: getNodeName(model), reactions: [ { key: dynamicKey, keyDefine: currentProp.description, valueDefine: "", value: { type: "dataSource", }, }, ], item: { prop: true, }, }, }; return actNode; }, /** * 在setter点击动态数据设置后,跳转到逻辑编排并自动创建一条逻辑 */ createDefaultLogic() { const startPos = genStartPos(this.lf); const startNode = { id: genId(10), type: event.type, x: startPos.x, y: startPos.y, properties: { componentId: "page_init", componentName: "pageInit", name: "页面初始化", }, }; const reqNode = { id: genId(10), type: common.type, x: startPos.x + NODE_SPACE_X, y: startPos.y, properties: { type: "dataSource", componentName: "dataSource", name: "数据请求", }, }; const actNode = this.createDefaultNode(startPos); const graphData = { nodes: [startNode, reqNode, actNode], edges: [ { id: genId(10), type: logicLine.type, sourceNodeId: startNode.id, targetNodeId: reqNode.id, }, { id: genId(10), type: logicLine.type, sourceNodeId: reqNode.id, targetNodeId: actNode.id, }, ], }; this.lf.addElements(graphData); this.lf.translate(0, -NODE_SPACE_Y); }, }, components: { toolbar, }, }; </script> <style scoped lang="less"> .system-warning { position: absolute; right: 0; bottom: 0; color: orange; background: #fff; width: 100%; display: flex; justify-content: space-between; align-items: center; box-shadow: 0 2px 12px 0 rgb(31 50 82 / 18%); border-radius: 2px; padding: 12px; font-size: 14px; } .logic-panel, .logic-container { width: 100%; height: 100%; position: relative; /deep/ div.lf-tool-overlay { margin-top: 40px; } } .logic-palette { position: absolute; left: 0; top: 0; } /*自定义锚点样式*/ .logic-panel { .diagram-main { display: flex; width: 100%; height: 100%; } .diagram-sidebar { width: 185px; height: calc(100% - 40px); border-right: 1px solid #dadce0; padding: 10px; } .diagram-panel { width: 300px; background: #fff; height: calc(100% - 40px); position: absolute; right: 0px; top: 40px; border-left: 1px solid #dadce0; } .logic-container { flex: 1; } /* 由于背景图和gird不对齐,需要css处理一下 */ .diagram /deep/ .lf-background { left: -9px; } .diagram-wrapper { box-sizing: border-box; width: 100%; height: 100%; } .lf-diagram { box-shadow: 0px 0px 4px #838284; width: 100%; height: 100%; } /deep/ .custom-anchor { stroke: #2961ef; stroke-width: 1; fill: #fff; cursor: crosshair; rx: 3; ry: 3; } /deep/ .custom-anchor:hover { stroke: #2961ef; stroke-width: 1; fill: #fff; } /deep/ .lf-node-not-allow .custom-anchor:hover { stroke: #999; fill: #d9d9d9; cursor: not-allowed; } /deep/ .incomming-anchor { stroke: #2961ef; cursor: default; } /deep/ .outgoing-anchor { stroke: #2961ef; } /deep/ .lf-node-not-allow .basic-node { cursor: not-allowed; } /deep/ .lf-control-item i { font-size: 20px; font-weight: 600; } /deep/ .lf-multiple-select { background: rgba(224, 80, 10, 0.2); } /deep/ .lf-grid > svg { background-image: url("../assets/img/grid.svg"); background-size: 50px 50px; background-repeat: repeat; } } </style> ``` ### logicflow/core版本 >=1.2.0-alpha.16 ### logicflow/extension版本 >=1.2.0-next.1 ### logicflow/engine版本 ### 浏览器&环境 Chrome
### 发生了什么? 案例:https://examples.logic-flow.cn/demo/dist/organizer 错误:    代码如下。organizer/src/components/LogicPanel.vue ``` <template> <div class="logic-panel" v-loading="loading" element-loading-text="加载中..." element-loading-spinner="el-icon-loading" element-loading-background="rgba(255, 255, 255, 1)" > <div class="diagram-main"> <div class="diagram-sidebar"> <div> <h1 class="node-category-title">General</h1> <div class="node-category"> <div class="node-item" @mousedown="dragInNode('circle')"> <span class="svg-node">组件1</span> </div> <div class="node-item" @mousedown="dragInNode('circle')"> <span class="svg-node">组件2</span> </div> </div> </div> </div> <!-- 画布 --> <div ref="container" class="logic-container"> <div class="diagram-wrapper"> <div class="lf-diagram" ref="diagram"></div> </div> </div> </div> </div> </template> <script> import LogicFlow from "@logicflow/core"; import {Dagre} from "@logicflow/layout"; import {DndPanel, Menu, MiniMap, SelectionSelect} from "@logicflow/extension"; import "@logicflow/core/dist/style/index.css"; import "@logicflow/extension/lib/style/index.css"; import base from "@/node/base"; import common from "../node/common"; export default { name: 'LogicPanel', props: { context: Object, info: Object, }, computed: {}, data() { return { lf: null, isShowMenu: false, menuPosition: { x: 0, y: 0, }, currentModel: null, tipText: "", loading: true, }; }, async created() { }, async mounted() { this.loading = true; this.initCanvas(); this.initEvents(); this.initPopover(); this.info && this.createDefaultLogic(); this.loading = false; }, methods: { dragInNode(type) { this.lf.dnd.startDrag({ properties: { name: 123, }, type:'common-node' }) }, // 初始化画布 initCanvas() { this.lf = new LogicFlow({ container: this.$refs.container, autoExpand: false, hoverOutline: false, edgeSelectedOutline: false, // adjustEdge: false, plugins: [DndPanel, MiniMap, SelectionSelect, Menu, Dagre], keyboard: { enabled: true, shortcuts: [ { keys: "backspace", callback: () => { const {edges} = this.lf.getSelectElements(); // 默认只支持删除选中连线 if (edges && edges.length === 1) { this.lf.deleteEdge(edges[0].id); } }, }, ], }, grid: { size: 10, visible: false, }, }); // setSelectionSense 参数: isWholeEdge true 是否要边的起点终点都在选区范围才算选中, isWholeNode true 是否要节点的全部点都在选区范围才算选中 this.lf.extension.selectionSelect.setSelectionSense(true, false); this.lf.batchRegister([base,common]); // this.lf.batchRegister([logicLine, reaction, common, event, rpaNode]); // this.lf.render(graphData); this.lf.render({}); this.lf.setTheme({ arrow: { offset: 4, verticalLength: 3, }, snapline: { stroke: "#2961EF", // 对齐线颜色 strokeWidth: 1, // 对齐线宽度 }, bezier: { stroke: "#afafaf", strokeWidth: 2, }, }); }, // 初始化事件 initEvents() { // Context 事件监听 // 点击组件时高亮对应节点 this.context.eventCenter.on( 'canvas:model-clicked', (model) => { this.graph.selectNodesByModel(model); } ); this.context.eventCenter.on( 'canvas:model-deleted', (model) => { console.log("EDITOR_EVENT.CANVAS_MODEL_DELETE", model); // 检查相关组件 } ); /* 暂时不需要。this.lf.on('node:dnd-drag', ({data, e, position}) => { console.log('node:dnd-drag', data) });*/ this.lf.on('node:dnd-add', ({data, e, position}) => { console.log('node:dnd-add', data) }); // LF事件注册 // 双击击处理 this.lf.on("node:select-dbclick", (model) => { console.log("node:select-dbclick", model); this.currentModel = model; }); // 监听node点击 this.lf.on("node:click", ({data}) => { console.log("node:click", data); const model = this.lf.getNodeModelById(data.id); this.currentModel = model; }); // 属性面板鼠标悬浮到某选项时高亮对应节点 this.lf.on("node:hover-node", (model) => { this.graph.hoverNode(model); }); // 鼠标移出节点后取消画布组件高亮 this.lf.on("node:mouseleave", () => { this.context.eventCenter.emit('logic:node-hover', null); }); this.lf.on("history:change", () => { this.setGraphDataToContext(); }); this.lf.on("node:add-node", ({model, type, properties}) => { this.graph.insertNode(model, type, properties); }); this.lf.on("node:delete-node", (model) => { this.lf.deleteNode(model); }); this.lf.on("node:copy-node", (model) => { this.lf.copyNode(model); }); // 如果画布上一个节点都没有了,添加一个引导节点 this.lf.on("node:delete", ({data}) => { const {nodes} = this.lf.getGraphData(); }); // 点击节点添加按钮后,显示添加菜单 this.lf.on("node:add-click", ({model, event}) => { this.currentModel = model; const x = event.clientX; const y = event.clientY; this.menuPosition = { x: x - 10, y: y - 10, }; this.isShowMenu = true; }); this.lf.on("edge:update-model", (model) => { this.currentModel = model; }); this.lf.on("node:update-model", (model) => { this.currentModel = model; this.lf.selectNode(model); }); this.lf.on("blank:click", () => { this.currentModel = null; this.context.eventCenter.emit( 'canvas:model-activated', null ); }); this.lf.on("blank:contextmenu", ({e, position}) => { const x = e.clientX; const y = e.clientY; this.menuPosition = { x: x - 10, y: y - 10, }; this.isShowMenu = true; }); }, // 初始化弹出框 initPopover() {/* const {popover} = this.lf.extension; popover.registerPopover("tip1", { // TODO: 后续支持传递属性 render: (rootEl, data) => { const vm = new Vue({ render: (h) => h(insertMenu, { props: { lf: this.lf, context: this.context, graph: this.lf, model: this.currentModel, showConnectBlock: data.props.showConnectBlock, }, }), }); vm.$mount(rootEl); }, });*/ }, /** * 从context中获取graphData */ getGraphDataFromContext() { const {logicList} = this.context; if (logicList.length === 1 && logicList[0].nodes !== undefined) { // 表示新版数据,目前虽然是一张图,但是以后大概率用多张图来表示逻辑控制,所以先预留数组的形式。 const graphData = logicList[0]; if (graphData.nodes) { graphData.nodes.forEach((node) => { const {properties} = node; if (properties) { node.properties.logo = "defaultLogo"; } }); } return graphData; } return { nodes: [], edges: [], }; }, setGraphDataToContext() { const graphData = this.lf.getGraphData(); if (graphData.nodes) { graphData.nodes.forEach((node) => { if (node.properties) { delete node.properties.logo; delete node.properties.status; delete node.properties.warnings; } }); } this.context.logicList = [graphData]; }, /** * 获取节点的outgoing * outgoing: [ * { * id: 'edgeId', * condition: 'nodeId_1.eventType === "click"', * text: '点击', * target: 'nodeId_2', * pointsList: [] // 连线的坐标 * } * ] */ getNodeOutgoing(nodeId) { const edges = this.lf.getNodeOutgoingEdge(nodeId); return edges.map((edgeModel) => { const edgeData = edgeModel.getData(); return { id: edgeData.id, condition: edgeData.properties.condition, text: edgeData.text ? edgeData.text.value : "", target: edgeData.targetNodeId, pointsList: edgeData.pointsList, }; }); }, handleSubmit(type) { if (type === "ds") { this.checkRelatedDs(); } }, /** * 根据传入的model创建行为节点、引导 */ createDefaultNode(startPos) { const {dynamicKey, model} = this.info; const logic = model.getLogic(); const props = logic.props || []; const currentProp = props.find((item) => item.name === dynamicKey) || {}; const actNode = { id: genId(10), type: reaction.type, x: startPos.x + NODE_SPACE_X * 2, y: startPos.y, properties: { componentId: model.id, componentName: model.componentName, name: getNodeName(model), reactions: [ { key: dynamicKey, keyDefine: currentProp.description, valueDefine: "", value: { type: "dataSource", }, }, ], item: { prop: true, }, }, }; return actNode; }, /** * 在setter点击动态数据设置后,跳转到逻辑编排并自动创建一条逻辑 */ createDefaultLogic() { const startPos = genStartPos(this.lf); const startNode = { id: genId(10), type: event.type, x: startPos.x, y: startPos.y, properties: { componentId: "page_init", componentName: "pageInit", name: "页面初始化", }, }; const reqNode = { id: genId(10), type: common.type, x: startPos.x + NODE_SPACE_X, y: startPos.y, properties: { type: "dataSource", componentName: "dataSource", name: "数据请求", }, }; const actNode = this.createDefaultNode(startPos); const graphData = { nodes: [startNode, reqNode, actNode], edges: [ { id: genId(10), type: logicLine.type, sourceNodeId: startNode.id, targetNodeId: reqNode.id, }, { id: genId(10), type: logicLine.type, sourceNodeId: reqNode.id, targetNodeId: actNode.id, }, ], }; this.lf.addElements(graphData); this.lf.translate(0, -NODE_SPACE_Y); }, }, components: { toolbar, }, }; </script> <style scoped lang="less"> .system-warning { position: absolute; right: 0; bottom: 0; color: orange; background: #fff; width: 100%; display: flex; justify-content: space-between; align-items: center; box-shadow: 0 2px 12px 0 rgb(31 50 82 / 18%); border-radius: 2px; padding: 12px; font-size: 14px; } .logic-panel, .logic-container { width: 100%; height: 100%; position: relative; /deep/ div.lf-tool-overlay { margin-top: 40px; } } .logic-palette { position: absolute; left: 0; top: 0; } /*自定义锚点样式*/ .logic-panel { .diagram-main { display: flex; width: 100%; height: 100%; } .diagram-sidebar { width: 185px; height: calc(100% - 40px); border-right: 1px solid #dadce0; padding: 10px; } .diagram-panel { width: 300px; background: #fff; height: calc(100% - 40px); position: absolute; right: 0px; top: 40px; border-left: 1px solid #dadce0; } .logic-container { flex: 1; } /* 由于背景图和gird不对齐,需要css处理一下 */ .diagram /deep/ .lf-background { left: -9px; } .diagram-wrapper { box-sizing: border-box; width: 100%; height: 100%; } .lf-diagram { box-shadow: 0px 0px 4px #838284; width: 100%; height: 100%; } /deep/ .custom-anchor { stroke: #2961ef; stroke-width: 1; fill: #fff; cursor: crosshair; rx: 3; ry: 3; } /deep/ .custom-anchor:hover { stroke: #2961ef; stroke-width: 1; fill: #fff; } /deep/ .lf-node-not-allow .custom-anchor:hover { stroke: #999; fill: #d9d9d9; cursor: not-allowed; } /deep/ .incomming-anchor { stroke: #2961ef; cursor: default; } /deep/ .outgoing-anchor { stroke: #2961ef; } /deep/ .lf-node-not-allow .basic-node { cursor: not-allowed; } /deep/ .lf-control-item i { font-size: 20px; font-weight: 600; } /deep/ .lf-multiple-select { background: rgba(224, 80, 10, 0.2); } /deep/ .lf-grid > svg { background-image: url("../assets/img/grid.svg"); background-size: 50px 50px; background-repeat: repeat; } } </style> ``` ### logicflow/core版本 >=1.2.0-alpha.16 ### logicflow/extension版本 >=1.2.0-next.1 ### logicflow/engine版本 ### 浏览器&环境 Chrome
评论 (
0
)
登录
后才可以发表评论
状态
待办的
待办的
进行中
已完成
已关闭
负责人
未设置
标签
bug
未设置
标签管理
里程碑
未关联里程碑
未关联里程碑
Pull Requests
未关联
未关联
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
未关联
分支 (24)
标签 (566)
master
next
gh-pages
wumail-patch-7
wumail-patch-6
wumail-patch-5
wumail-patch-4
wumail-patch-3
wumail-patch-2
wumail-patch-1
engine
towersxu-patch-7
towersxu-patch-6
towersxu-patch-5
towersxu-patch-4
v1.1
towersxu-patch-3
towersxu-patch-2
towersxu-patch-1
v1.2.0
towersxu-patch-11
towersxu-patch-8
1.1.0-next
1.0.0-next
@logicflow/core@1.2.18
@logicflow/extension@1.2.19
@logicflow/core@1.2.17
@logicflow/extension@1.2.18
@logicflow/core@1.2.16
@logicflow/extension@1.2.17
@logicflow/core@1.2.15
@logicflow/extension@1.2.16
@logicflow/core@1.2.14
@logicflow/engine@0.0.9
@logicflow/extension@1.2.15
@logicflow/core@1.2.13
@logicflow/engine@0.0.8
@logicflow/extension@1.2.14
@logicflow/engine@0.0.6
@logicflow/engine@0.0.5
@logicflow/engine@0.0.4
@logicflow/engine@0.0.3
@logicflow/extension@1.2.13
@logicflow/core@1.2.12
@logicflow/extension@1.2.12
@logicflow/core@1.2.11
@logicflow/engine@0.0.2
@logicflow/extension@1.2.11
@logicflow/core@1.2.10
@logicflow/extension@1.2.10
examples@1.2.10
@logicflow/core@1.2.9
@logicflow/extension@1.2.9
examples@1.2.9
@logicflow/core@1.2.8
@logicflow/extension@1.2.8
examples@1.2.8
@logicflow/extension@1.2.7
examples@1.2.7
@logicflow/core@1.2.6
@logicflow/extension@1.2.6
examples@1.2.6
@logicflow/core@1.2.5
@logicflow/extension@1.2.5
examples@1.2.5
@logicflow/core@1.2.4
@logicflow/extension@1.2.4
examples@1.2.4
@logicflow/core@1.2.3
@logicflow/extension@1.2.3
examples@1.2.3
@logicflow/core@1.2.2
@logicflow/extension@1.2.2
examples@1.2.2
@logicflow/core@1.2.1
@logicflow/extension@1.2.1
examples@1.2.1
@logicflow/core@1.2.0
@logicflow/extension@1.2.0
examples@1.2.0
@logicflow/core@1.2.0-next.5
@logicflow/extension@1.2.0-next.5
examples@1.2.0-next.5
@logicflow/core@1.2.0-next.4
@logicflow/extension@1.2.0-next.4
examples@1.2.0-next.4
@logicflow/core@1.2.0-next.3
@logicflow/extension@1.2.0-next.3
examples@1.2.0-next.3
@logicflow/core@1.2.0-next.2
@logicflow/extension@1.2.0-next.2
examples@1.2.0-next.2
@logicflow/core@1.1.31
@logicflow/extension@1.1.31
examples@1.1.31
@logicflow/core@1.1.30
@logicflow/extension@1.1.30
examples@1.1.30
@logicflow/core@1.2.0-next.1
@logicflow/extension@1.2.0-next.1
examples@1.2.0-next.1
@logicflow/core@1.2.0-next.0
@logicflow/extension@1.2.0-next.0
examples@1.2.0-next.0
@logicflow/core@1.1.29
@logicflow/extension@1.1.29
examples@1.1.29
@logicflow/core@1.1.28
@logicflow/extension@1.1.28
examples@1.1.28
@logicflow/core@1.1.27
@logicflow/extension@1.1.27
examples@1.1.27
@logicflow/core@1.1.26
@logicflow/extension@1.1.26
examples@1.1.26
@logicflow/core@1.1.25
@logicflow/extension@1.1.25
examples@1.1.25
@logicflow/core@1.1.24
@logicflow/extension@1.1.24
examples@1.1.24
@logicflow/core@1.1.23
@logicflow/extension@1.1.23
examples@1.1.23
@logicflow/core@1.2.0-alpha.16
@logicflow/extension@1.2.0-alpha.16
@logicflow/layout@1.2.0-alpha.16
examples@1.2.0-alpha.16
@logicflow/core@1.2.0-alpha.15
@logicflow/extension@1.2.0-alpha.15
@logicflow/layout@1.2.0-alpha.15
examples@1.2.0-alpha.15
@logicflow/core@1.1.22
@logicflow/extension@1.1.22
examples@1.1.22
@logicflow/core@1.2.0-alpha.14
@logicflow/extension@1.2.0-alpha.14
examples@1.2.0-alpha.14
@logicflow/core@1.2.0-alpha.13
@logicflow/extension@1.2.0-alpha.13
examples@1.2.0-alpha.13
@logicflow/core@1.1.21
@logicflow/extension@1.1.21
examples@1.1.21
@logicflow/core@1.2.0-alpha.12
@logicflow/extension@1.2.0-alpha.12
examples@1.2.0-alpha.12
@logicflow/core@1.2.0-alpha.11
@logicflow/extension@1.2.0-alpha.11
examples@1.2.0-alpha.11
@logicflow/core@1.2.0-alpha.10
@logicflow/extension@1.2.0-alpha.10
examples@1.2.0-alpha.10
@logicflow/core@1.2.0-alpha.9
@logicflow/extension@1.2.0-alpha.9
examples@1.2.0-alpha.9
@logicflow/core@1.2.0-alpha.8
@logicflow/extension@1.2.0-alpha.8
examples@1.2.0-alpha.8
@logicflow/core@1.2.0-alpha.7
@logicflow/extension@1.2.0-alpha.7
examples@1.2.0-alpha.7
@logicflow/core@1.1.20
@logicflow/extension@1.1.20
examples@1.1.20
@logicflow/core@1.2.0-alpha.6
@logicflow/extension@1.2.0-alpha.6
examples@1.2.0-alpha.6
@logicflow/core@1.2.0-alpha.5
@logicflow/extension@1.2.0-alpha.5
examples@1.2.0-alpha.5
@logicflow/core@1.1.19
@logicflow/extension@1.1.19
examples@1.1.19
@logicflow/core@1.1.18
@logicflow/extension@1.1.18
examples@1.1.18
@logicflow/core@1.1.17
@logicflow/extension@1.1.17
examples@1.1.17
@logicflow/core@1.1.16
@logicflow/extension@1.1.16
examples@1.1.16
@logicflow/core@1.1.15
@logicflow/extension@1.1.15
examples@1.1.15
@logicflow/core@1.2.0-alpha.4
@logicflow/extension@1.2.0-alpha.4
examples@1.2.0-alpha.4
@logicflow/core@1.1.14
@logicflow/extension@1.1.14
examples@1.1.14
@logicflow/core@1.2.0-alpha.3
@logicflow/extension@1.2.0-alpha.3
examples@1.2.0-alpha.3
@logicflow/core@1.2.0-alpha.2
@logicflow/extension@1.2.0-alpha.2
examples@1.2.0-alpha.2
@logicflow/core@1.2.0-alpha.1
@logicflow/extension@1.2.0-alpha.1
examples@1.2.0-alpha.1
@logicflow/core@1.1.13
@logicflow/extension@1.1.13
examples@1.1.13
@logicflow/core@1.2.0-alpha.0
@logicflow/extension@1.2.0-alpha.0
examples@1.2.0-alpha.0
@logicflow/core@1.1.12
@logicflow/extension@1.1.12
examples@1.1.12
@logicflow/core@1.1.12-alpha.0
@logicflow/extension@1.1.12-alpha.0
examples@1.1.12-alpha.0
@logicflow/core@1.1.11
@logicflow/extension@1.1.11
examples@1.1.11
@logicflow/core@1.1.10
@logicflow/extension@1.1.10
examples@1.1.10
@logicflow/core@1.1.9
@logicflow/extension@1.1.9
examples@1.1.9
@logicflow/core@1.1.9-alpha.1
@logicflow/extension@1.1.9-alpha.1
examples@1.1.9-alpha.1
@logicflow/core@1.1.9-alpha.0
@logicflow/extension@1.1.9-alpha.0
examples@1.1.9-alpha.0
@logicflow/core@1.1.8
@logicflow/extension@1.1.8
examples@1.1.8
@logicflow/core@1.1.8-alpha.0
@logicflow/extension@1.1.8-alpha.0
examples@1.1.8-alpha.0
@logicflow/core@1.1.7
@logicflow/extension@1.1.7
examples@1.1.7
@logicflow/extension@1.1.7-alpha.1
examples@1.1.7-alpha.1
@logicflow/core@1.1.7-alpha.0
@logicflow/extension@1.1.7-alpha.0
examples@1.1.7-alpha.0
@logicflow/core@1.1.6
@logicflow/extension@1.1.6
examples@1.1.6
@logicflow/core@1.1.5
@logicflow/extension@1.1.5
examples@1.1.5
@logicflow/core@1.1.4
@logicflow/extension@1.1.4
examples@1.1.4
@logicflow/core@1.1.3
@logicflow/extension@1.1.3
examples@1.1.3
@logicflow/core@1.1.3-alpha.0
@logicflow/extension@1.1.3-alpha.0
examples@1.1.3-alpha.0
@logicflow/extension@1.1.2
examples@1.1.2
@logicflow/core@1.1.1
@logicflow/extension@1.1.1
examples@1.1.1
@logicflow/core@1.1.0
@logicflow/extension@1.1.0
examples@1.1.0
@logicflow/core@1.1.0-alpha.7
@logicflow/extension@1.1.0-alpha.7
examples@1.1.0-alpha.7
@logicflow/core@1.1.0-alpha.6
@logicflow/extension@1.1.0-alpha.6
examples@1.1.0-alpha.6
@logicflow/core@1.1.0-alpha.4
@logicflow/extension@1.1.0-alpha.4
examples@1.1.0-alpha.4
@logicflow/core@1.1.0-alpha.2
@logicflow/extension@1.1.0-alpha.2
examples@1.1.0-alpha.2
@logicflow/core@1.1.0-alpha.1
@logicflow/extension@1.1.0-alpha.1
examples@1.1.0-alpha.1
@logicflow/core@1.1.0-alpha.0
@logicflow/extension@1.1.0-alpha.0
examples@1.1.0-alpha.0
@logicflow/core@1.0.7
@logicflow/extension@1.0.7
examples@1.0.5
@logicflow/core@1.0.7-alpha.1
@logicflow/extension@1.0.7-alpha.1
examples@1.0.5-alpha.1
@logicflow/core@1.0.7-alpha.0
@logicflow/extension@1.0.7-alpha.0
examples@1.0.5-alpha.0
1.0.5
@logicflow/core@1.0.4
@logicflow/extension@1.0.4
examples@1.0.4
@logicflow/core@1.0.1-alpha.0
@logicflow/extension@1.0.1-alpha.0
examples@1.0.1-alpha.0
0.7
@logicflow/core@1.0.0-alpha.12
@logicflow/extension@1.0.0-alpha.12
examples@1.0.0-alpha.11
@logicflow/core@1.0.0-alpha.11
@logicflow/extension@1.0.0-alpha.11
examples@1.0.0-alpha.10
@logicflow/core@1.0.0-alpha.10
@logicflow/extension@1.0.0-alpha.10
examples@1.0.0-alpha.9
@logicflow/core@1.0.0-alpha.9
@logicflow/extension@1.0.0-alpha.9
examples@1.0.0-alpha.8
@logicflow/core@1.0.0-alpha.8
@logicflow/extension@1.0.0-alpha.8
examples@1.0.0-alpha.7
@logicflow/core@1.0.0-alpha.7
@logicflow/extension@1.0.0-alpha.7
examples@1.0.0-alpha.6
@logicflow/core@1.0.0-alpha.6
@logicflow/extension@1.0.0-alpha.6
examples@1.0.0-alpha.5
@logicflow/core@1.0.0-alpha.4
@logicflow/extension@1.0.0-alpha.4
examples@1.0.0-alpha.4
@logicflow/extension@0.7.14
@logicflow/core@0.7.14
@logicflow/core@1.0.0-alpha.3
@logicflow/extension@1.0.0-alpha.3
examples@1.0.0-alpha.3
@logicflow/core@1.0.0-alpha.1
@logicflow/extension@1.0.0-alpha.1
examples@1.0.0-alpha.1
@logicflow/core@0.7.13
@logicflow/extension@0.7.13
examples@0.7.22
@logicflow/core@0.7.12
@logicflow/extension@0.7.12
examples@0.7.21
@logicflow/core@0.7.11
@logicflow/extension@0.7.11
examples@0.7.20
@logicflow/core@0.7.10
@logicflow/extension@0.7.10
examples@0.7.19
@logicflow/core@0.7.9
@logicflow/extension@0.7.9
examples@0.7.18
@logicflow/core@0.7.8
@logicflow/extension@0.7.8
examples@0.7.17
@logicflow/core@0.7.7
@logicflow/extension@0.7.7
examples@0.7.16
@logicflow/core@0.7.6
@logicflow/extension@0.7.6
examples@0.7.15
@logicflow/core@0.7.5
@logicflow/extension@0.7.5
examples@0.7.14
@logicflow/core@0.7.4
@logicflow/extension@0.7.4
examples@0.7.13
@logicflow/core@0.7.3
@logicflow/extension@0.7.3
examples@0.7.12
0.7.2
@logicflow/core@0.7.2
@logicflow/extension@0.7.2
examples@0.7.11
@logicflow/core@0.7.1
@logicflow/extension@0.7.1
examples@0.7.10
@logicflow/core@0.7.1-alpha.0
@logicflow/extension@0.7.1-alpha.0
examples@0.7.10-alpha.0
0.7.1-alpha.0
@logicflow/core@0.6.16
@logicflow/extension@0.6.16
examples@0.7.9
@logicflow/core@0.6.13
@logicflow/extension@0.6.13
examples@0.7.8
mvp@0.1.1
@logicflow/core@0.6.12
@logicflow/extension@0.6.12
examples@0.7.7
@logicflow/core@0.6.8
@logicflow/extension@0.6.8
examples@0.7.6
@logicflow/core@0.6.5
@logicflow/extension@0.6.5
examples@0.7.5
@logicflow/core@0.6.4
@logicflow/extension@0.6.4
examples@0.7.4
@logicflow/core@0.6.3
@logicflow/extension@0.6.3
examples@0.7.3
@logicflow/core@0.6.2
@logicflow/extension@0.6.2
examples@0.7.2
@logicflow/core@0.6.1
@logicflow/extension@0.6.1
examples@0.7.1
@logicflow/core@0.6.0
@logicflow/extension@0.6.0
examples@0.7.0
site@0.6.0
@logicflow/core@0.5.0
@logicflow/extension@0.5.0
examples@0.6.0
site@0.5.0
@logicflow/core@0.4.15
@logicflow/extension@0.4.15
examples@0.5.15
site@0.4.15
@logicflow/core@0.4.14
@logicflow/extension@0.4.14
examples@0.5.14
site@0.4.14
@logicflow/core@0.4.13
@logicflow/extension@0.4.13
examples@0.5.13
site@0.4.13
@logicflow/extension@0.4.12
examples@0.5.12
site@0.4.12
@logicflow/core@0.4.11
@logicflow/extension@0.4.11
examples@0.5.11
site@0.4.11
@logicflow/extension@0.4.10
examples@0.5.10
site@0.4.10
@logicflow/core@0.4.9
@logicflow/extension@0.4.9
examples@0.5.9
site@0.4.9
@logicflow/core@0.4.8
@logicflow/extension@0.4.8
examples@0.5.8
site@0.4.8
@logicflow/core@0.4.7
@logicflow/extension@0.4.7
examples@0.5.7
site@0.4.7
@logicflow/core@0.4.6
@logicflow/extension@0.4.6
examples@0.5.6
site@0.4.6
@logicflow/core@0.4.5
@logicflow/extension@0.4.5
examples@0.5.5
site@0.4.5
@logicflow/core@0.4.4
@logicflow/extension@0.4.4
examples@0.5.4
site@0.4.4
@logicflow/core@0.4.3
@logicflow/extension@0.4.3
examples@0.5.3
site@0.4.3
site@0.4.2
@logicflow/core@0.4.2
@logicflow/extension@0.4.2
examples@0.5.2
@logicflow/core@0.4.1-alpha.1
@logicflow/extension@0.4.1-alpha.1
examples@0.4.8-alpha.1
site@0.3.8-alpha.1
@logicflow/core@0.4.1-alpha.0
@logicflow/extension@0.4.1-alpha.0
examples@0.4.8-alpha.0
site@0.3.8-alpha.0
@logicflow/core@0.4.0
@logicflow/extension@0.4.0
examples@0.4.7
site@0.3.7
@logicflow/core@0.3.6
@logicflow/extension@0.3.6
examples@0.4.6
site@0.3.6
@logicflow/core@0.3.5
@logicflow/extension@0.3.5
examples@0.4.5
site@0.3.5
@logicflow/core@0.3.4
@logicflow/extension@0.3.4
examples@0.4.4
site@0.3.4
@logicflow/core@0.3.3
@logicflow/extension@0.3.3
examples@0.4.3
site@0.3.3
@logicflow/core@0.3.2
@logicflow/extension@0.3.2
examples@0.4.2
site@0.3.2
@logicflow/core@0.3.1
@logicflow/extension@0.3.1
examples@0.4.1
site@0.3.1
@logicflow/core@0.3.0
@logicflow/extension@0.3.0
examples@0.4.0
site@0.3.0
@logicflow/core@0.3.0-beta.3
@logicflow/extension@0.3.0-beta.3
examples@0.4.0-beta.3
site@0.3.0-beta.3
@logicflow/core@0.3.0-beta.2
@logicflow/extension@0.3.0-beta.2
examples@0.4.0-beta.2
site@0.3.0-beta.2
@logicflow/core@0.3.0-beta.1
@logicflow/extension@0.3.0-beta.1
examples@0.4.0-beta.1
site@0.3.0-beta.1
@logicflow/core@0.3.0-beta.0
@logicflow/extension@0.3.0-beta.0
examples@0.4.0-beta.0
site@0.3.0-beta.0
@logicflow/core@0.3.0-alpha.5
@logicflow/extension@0.3.0-alpha.5
examples@0.4.0-alpha.5
site@0.3.0-alpha.5
@logicflow/core@0.3.0-alpha.4
@logicflow/extension@0.3.0-alpha.4
examples@0.4.0-alpha.4
site@0.3.0-alpha.4
@logicflow/core@0.3.0-alpha.3
@logicflow/extension@0.3.0-alpha.3
examples@0.4.0-alpha.3
site@0.3.0-alpha.3
@logicflow/core@0.3.0-alpha.2
@logicflow/extension@0.3.0-alpha.2
examples@0.4.0-alpha.2
site@0.3.0-alpha.2
@logicflow/core@0.3.0-alpha.1
@logicflow/extension@0.3.0-alpha.1
examples@0.4.0-alpha.1
site@0.3.0-alpha.1
@logicflow/core@0.3.0-alpha.0
@logicflow/extension@0.3.0-alpha.0
examples@0.4.0-alpha.0
site@0.3.0-alpha.0
@logicflow/core@0.2.9
@logicflow/extension@0.2.9
examples@0.3.9
site@0.2.9
@logicflow/core@0.2.8
@logicflow/extension@0.2.8
examples@0.3.8
site@0.2.8
@logicflow/core@0.2.7
@logicflow/extension@0.2.7
examples@0.3.7
site@0.2.7
examples@0.3.6
site@0.2.6
@logicflow/core@0.2.6
@logicflow/extension@0.2.6
@logicflow/extension@0.2.5
examples@0.3.5
site@0.2.5
@logicflow/core@0.2.4
@logicflow/extension@0.2.4
examples@0.3.4
site@0.2.4
@logicflow/core@0.2.3
@logicflow/extension@0.2.3
examples@0.3.3
site@0.2.3
@logicflow/core@0.2.2
@logicflow/extension@0.2.2
examples@0.3.2
site@0.2.2
@logicflow/core@0.2.1
@logicflow/extension@0.2.1
examples@0.3.1
site@0.2.1
@logicflow/core@0.2.0
@logicflow/extension@0.2.0
examples@0.3.0
site@0.2.0
@logicflow/core@0.1.0
@logicflow/extension@0.1.0
examples@0.2.0
lf-site@0.1.0
开始日期   -   截止日期
-
置顶选项
不置顶
置顶等级:高
置顶等级:中
置顶等级:低
优先级
不指定
严重
主要
次要
不重要
参与者(1)
TypeScript
1
https://gitee.com/logic-flow/LogicFlow.git
git@gitee.com:logic-flow/LogicFlow.git
logic-flow
LogicFlow
LogicFlow
点此查找更多帮助
搜索帮助
Git 命令在线学习
如何在 Gitee 导入 GitHub 仓库
Git 仓库基础操作
企业版和社区版功能对比
SSH 公钥设置
如何处理代码冲突
仓库体积过大,如何减小?
如何找回被删除的仓库数据
Gitee 产品配额说明
GitHub仓库快速导入Gitee及同步更新
什么是 Release(发行版)
将 PHP 项目自动发布到 packagist.org
评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册