文档更新
This commit is contained in:
parent
033951ef60
commit
41cbb5743b
574
Doc/XXSJPic_V1.0/XNOSAL_Type.drawio
Normal file
574
Doc/XXSJPic_V1.0/XNOSAL_Type.drawio
Normal file
@ -0,0 +1,574 @@
|
||||
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/26.2.2 Chrome/134.0.6998.178 Electron/35.1.2 Safari/537.36" version="26.2.2">
|
||||
<diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1">
|
||||
<mxGraphModel dx="1428" dy="815" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="WIyWlLk6GJQsqaUBKTNV-0" />
|
||||
<mxCell id="WIyWlLk6GJQsqaUBKTNV-1" parent="WIyWlLk6GJQsqaUBKTNV-0" />
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-59" value="" style="group" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1" connectable="0">
|
||||
<mxGeometry x="40" y="20" width="390" height="440" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="IF__UzwnMCTeSwNdx4oP-155" value="序列化流程" style="swimlane;childLayout=stackLayout;resizeParent=1;resizeParentMax=0;startSize=20;html=1;container=0;" parent="YPs_-grFu6rSsMYcnHfH-59" vertex="1">
|
||||
<mxGeometry width="390" height="440" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="IF__UzwnMCTeSwNdx4oP-156" value="编译期计算" style="swimlane;startSize=20;html=1;container=0;" parent="YPs_-grFu6rSsMYcnHfH-59" vertex="1">
|
||||
<mxGeometry y="20" width="140" height="420" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-0" value="数据类型<div>是基础类型?</div>" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
|
||||
<mxGeometry x="10" y="70" width="120" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-3" value="数据类型<div>是array类型?</div>" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
|
||||
<mxGeometry x="10" y="170" width="120" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="IF__UzwnMCTeSwNdx4oP-156" source="YPs_-grFu6rSsMYcnHfH-0" target="YPs_-grFu6rSsMYcnHfH-3" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-52" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YPs_-grFu6rSsMYcnHfH-5" vertex="1" connectable="0">
|
||||
<mxGeometry x="-0.2762" y="1" relative="1" as="geometry">
|
||||
<mxPoint x="-11" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-25" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="IF__UzwnMCTeSwNdx4oP-156" source="YPs_-grFu6rSsMYcnHfH-14" target="YPs_-grFu6rSsMYcnHfH-24" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-56" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YPs_-grFu6rSsMYcnHfH-25" vertex="1" connectable="0">
|
||||
<mxGeometry x="-0.3238" y="1" relative="1" as="geometry">
|
||||
<mxPoint x="-11" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-14" value="数据类型<div>是optional类型?</div>" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
|
||||
<mxGeometry x="10" y="270" width="120" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="IF__UzwnMCTeSwNdx4oP-156" source="YPs_-grFu6rSsMYcnHfH-3" target="YPs_-grFu6rSsMYcnHfH-14" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-54" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YPs_-grFu6rSsMYcnHfH-15" vertex="1" connectable="0">
|
||||
<mxGeometry x="0.1048" relative="1" as="geometry">
|
||||
<mxPoint x="-10" y="-1" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-24" value="静态断言报错" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
|
||||
<mxGeometry x="10" y="370" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="IF__UzwnMCTeSwNdx4oP-157" value="运行期计算" style="swimlane;startSize=20;html=1;container=0;" parent="YPs_-grFu6rSsMYcnHfH-59" vertex="1">
|
||||
<mxGeometry x="140" y="20" width="250" height="420" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-1" value="直接序列化" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
|
||||
<mxGeometry x="20" y="90" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.25;entryY=1;entryDx=0;entryDy=0;" parent="IF__UzwnMCTeSwNdx4oP-157" source="YPs_-grFu6rSsMYcnHfH-9" target="YPs_-grFu6rSsMYcnHfH-10" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-9" value="循环获取<div>array每个元素</div>" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
|
||||
<mxGeometry x="20" y="190" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-10" value="递归调用序列化" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
|
||||
<mxGeometry x="140" y="30" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="IF__UzwnMCTeSwNdx4oP-157" source="YPs_-grFu6rSsMYcnHfH-16" target="YPs_-grFu6rSsMYcnHfH-10" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-58" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YPs_-grFu6rSsMYcnHfH-18" vertex="1" connectable="0">
|
||||
<mxGeometry x="-0.8851" relative="1" as="geometry">
|
||||
<mxPoint x="-17" y="-10" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-20" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="IF__UzwnMCTeSwNdx4oP-157" source="YPs_-grFu6rSsMYcnHfH-16" target="YPs_-grFu6rSsMYcnHfH-19" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-57" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YPs_-grFu6rSsMYcnHfH-20" vertex="1" connectable="0">
|
||||
<mxGeometry x="-0.4667" y="-2" relative="1" as="geometry">
|
||||
<mxPoint x="-8" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-16" value="optional数据有值?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
|
||||
<mxGeometry x="20" y="270" width="120" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-22" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.75;entryY=1;entryDx=0;entryDy=0;" parent="IF__UzwnMCTeSwNdx4oP-157" source="YPs_-grFu6rSsMYcnHfH-19" target="YPs_-grFu6rSsMYcnHfH-10" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-19" value="用optional内含的类型定义一个临时变量" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
|
||||
<mxGeometry x="20" y="370" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="YPs_-grFu6rSsMYcnHfH-59" source="YPs_-grFu6rSsMYcnHfH-0" target="YPs_-grFu6rSsMYcnHfH-1" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-51" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YPs_-grFu6rSsMYcnHfH-2" vertex="1" connectable="0">
|
||||
<mxGeometry x="-0.5873" relative="1" as="geometry">
|
||||
<mxPoint x="-6" y="-10" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="YPs_-grFu6rSsMYcnHfH-59" source="YPs_-grFu6rSsMYcnHfH-3" target="YPs_-grFu6rSsMYcnHfH-9" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-53" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YPs_-grFu6rSsMYcnHfH-11" vertex="1" connectable="0">
|
||||
<mxGeometry x="0.2063" y="2" relative="1" as="geometry">
|
||||
<mxPoint x="-18" y="-8" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;dashed=1;" parent="YPs_-grFu6rSsMYcnHfH-59" source="YPs_-grFu6rSsMYcnHfH-10" target="YPs_-grFu6rSsMYcnHfH-0" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" parent="YPs_-grFu6rSsMYcnHfH-59" source="YPs_-grFu6rSsMYcnHfH-14" target="YPs_-grFu6rSsMYcnHfH-16" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-55" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YPs_-grFu6rSsMYcnHfH-17" vertex="1" connectable="0">
|
||||
<mxGeometry x="-0.5873" y="1" relative="1" as="geometry">
|
||||
<mxPoint x="-6" y="-9" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-1" value="" style="group" vertex="1" connectable="0" parent="WIyWlLk6GJQsqaUBKTNV-1">
|
||||
<mxGeometry x="40" y="480" width="390" height="520" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-61" value="反序列化流程" style="swimlane;childLayout=stackLayout;resizeParent=1;resizeParentMax=0;startSize=20;html=1;container=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" vertex="1">
|
||||
<mxGeometry width="390" height="520" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-62" value="编译期计算" style="swimlane;startSize=20;html=1;container=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" vertex="1">
|
||||
<mxGeometry y="20" width="140" height="500" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-73" value="运行期计算" style="swimlane;startSize=20;html=1;container=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" vertex="1">
|
||||
<mxGeometry x="140" y="20" width="250" height="500" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-85" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" source="YPs_-grFu6rSsMYcnHfH-63" target="YPs_-grFu6rSsMYcnHfH-74" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-86" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" parent="YPs_-grFu6rSsMYcnHfH-85" vertex="1" connectable="0">
|
||||
<mxGeometry x="-0.5873" relative="1" as="geometry">
|
||||
<mxPoint x="-6" y="-10" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-87" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" source="YPs_-grFu6rSsMYcnHfH-64" target="YPs_-grFu6rSsMYcnHfH-76" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-88" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" parent="YPs_-grFu6rSsMYcnHfH-87" vertex="1" connectable="0">
|
||||
<mxGeometry x="0.2063" y="2" relative="1" as="geometry">
|
||||
<mxPoint x="-18" y="-8" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-89" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;dashed=1;" parent="dwqjCXXZkwgFyCKQyq_e-1" source="YPs_-grFu6rSsMYcnHfH-77" target="YPs_-grFu6rSsMYcnHfH-63" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-90" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" source="YPs_-grFu6rSsMYcnHfH-69" target="YPs_-grFu6rSsMYcnHfH-92" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-91" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" parent="YPs_-grFu6rSsMYcnHfH-90" vertex="1" connectable="0">
|
||||
<mxGeometry x="-0.5873" y="1" relative="1" as="geometry">
|
||||
<mxPoint x="-6" y="-9" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-84" value="反序列化失败<div>直接返回</div>" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" vertex="1">
|
||||
<mxGeometry x="160" y="470" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-80" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" source="YPs_-grFu6rSsMYcnHfH-82" target="YPs_-grFu6rSsMYcnHfH-84" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-81" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" parent="YPs_-grFu6rSsMYcnHfH-80" vertex="1" connectable="0">
|
||||
<mxGeometry x="-0.4667" y="-2" relative="1" as="geometry">
|
||||
<mxPoint x="-8" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-63" value="数据类型<div>是optional类型?</div>" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" vertex="1">
|
||||
<mxGeometry x="10" y="90" width="120" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-64" value="数据类型<div>是基础类型?</div>" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" vertex="1">
|
||||
<mxGeometry x="10" y="190" width="120" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-65" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" source="YPs_-grFu6rSsMYcnHfH-63" target="YPs_-grFu6rSsMYcnHfH-64" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-66" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" parent="YPs_-grFu6rSsMYcnHfH-65" vertex="1" connectable="0">
|
||||
<mxGeometry x="-0.2762" y="1" relative="1" as="geometry">
|
||||
<mxPoint x="-11" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-67" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" source="YPs_-grFu6rSsMYcnHfH-69" target="YPs_-grFu6rSsMYcnHfH-72" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-68" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" parent="YPs_-grFu6rSsMYcnHfH-67" vertex="1" connectable="0">
|
||||
<mxGeometry x="-0.3238" y="1" relative="1" as="geometry">
|
||||
<mxPoint x="-11" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-69" value="数据类型<div>是array类型?</div>" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" vertex="1">
|
||||
<mxGeometry x="10" y="290" width="120" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-70" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" source="YPs_-grFu6rSsMYcnHfH-64" target="YPs_-grFu6rSsMYcnHfH-69" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-71" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" parent="YPs_-grFu6rSsMYcnHfH-70" vertex="1" connectable="0">
|
||||
<mxGeometry x="0.1048" relative="1" as="geometry">
|
||||
<mxPoint x="-10" y="-1" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-72" value="静态断言报错" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" vertex="1">
|
||||
<mxGeometry x="10" y="390" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-74" value="将optional类型<div>初始化为有效值</div>" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" vertex="1">
|
||||
<mxGeometry x="160" y="110" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-75" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.25;entryY=1;entryDx=0;entryDy=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" source="YPs_-grFu6rSsMYcnHfH-74" target="YPs_-grFu6rSsMYcnHfH-77" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-76" value="直接反序列化" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" vertex="1">
|
||||
<mxGeometry x="160" y="210" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-77" value="递归调用反序列化" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" vertex="1">
|
||||
<mxGeometry x="280" y="50" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-78" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" source="YPs_-grFu6rSsMYcnHfH-82" target="YPs_-grFu6rSsMYcnHfH-77" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-79" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" parent="YPs_-grFu6rSsMYcnHfH-78" vertex="1" connectable="0">
|
||||
<mxGeometry x="-0.8851" relative="1" as="geometry">
|
||||
<mxPoint x="-17" y="-10" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-82" value="分割成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" vertex="1">
|
||||
<mxGeometry x="160" y="370" width="120" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-92" value="分割字节数组/字符串" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" vertex="1">
|
||||
<mxGeometry x="160" y="310" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YPs_-grFu6rSsMYcnHfH-93" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" source="YPs_-grFu6rSsMYcnHfH-92" target="YPs_-grFu6rSsMYcnHfH-82" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-95" value="" style="group" vertex="1" connectable="0" parent="WIyWlLk6GJQsqaUBKTNV-1">
|
||||
<mxGeometry x="40" y="1030" width="660" height="1120" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-3" value="赋值流程" style="swimlane;childLayout=stackLayout;resizeParent=1;resizeParentMax=0;startSize=20;html=1;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-95">
|
||||
<mxGeometry width="660" height="1120" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-4" value="编译期计算" style="swimlane;startSize=20;html=1;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-95">
|
||||
<mxGeometry y="20" width="410" height="1100" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-16" value="T1和T2都是<div><span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">基础类型?</span></div>" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-4">
|
||||
<mxGeometry x="10" y="70" width="120" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-17" value="T1和T2都是<div>数组类型<span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">?</span></div>" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-4">
|
||||
<mxGeometry x="10" y="230" width="120" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-4" source="dwqjCXXZkwgFyCKQyq_e-16" target="dwqjCXXZkwgFyCKQyq_e-17">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-19" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-18">
|
||||
<mxGeometry x="-0.2762" y="1" relative="1" as="geometry">
|
||||
<mxPoint x="-11" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-35" value="静态断言报错" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-4">
|
||||
<mxGeometry x="160" y="170" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-4" source="dwqjCXXZkwgFyCKQyq_e-16" target="dwqjCXXZkwgFyCKQyq_e-36">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-7" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-6">
|
||||
<mxGeometry x="-0.5873" relative="1" as="geometry">
|
||||
<mxPoint x="-6" y="-10" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-36" value="T2能否转换为T1<span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">?</span>" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-4">
|
||||
<mxGeometry x="150" y="70" width="120" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-40" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-4" source="dwqjCXXZkwgFyCKQyq_e-36" target="dwqjCXXZkwgFyCKQyq_e-35">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="80" y="160" as="sourcePoint" />
|
||||
<mxPoint x="80" y="180" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-41" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-40">
|
||||
<mxGeometry x="-0.2762" y="1" relative="1" as="geometry">
|
||||
<mxPoint x="-11" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-22" value="<div>T1是optional</div><div>而T2不是?</div>" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-4">
|
||||
<mxGeometry x="10" y="690" width="120" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-23" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-4" source="dwqjCXXZkwgFyCKQyq_e-17" target="dwqjCXXZkwgFyCKQyq_e-22">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-24" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-23">
|
||||
<mxGeometry x="0.1048" relative="1" as="geometry">
|
||||
<mxPoint x="-10" y="-200" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-42" value="T1和T2都是<div>指针类型<span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">?</span></div>" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-4">
|
||||
<mxGeometry x="150" y="230" width="120" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-4" source="dwqjCXXZkwgFyCKQyq_e-17" target="dwqjCXXZkwgFyCKQyq_e-42">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="150" y="430" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-9" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-8">
|
||||
<mxGeometry x="0.2063" y="2" relative="1" as="geometry">
|
||||
<mxPoint x="-18" y="-8" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-45" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-4" source="dwqjCXXZkwgFyCKQyq_e-42" target="dwqjCXXZkwgFyCKQyq_e-35">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="140" y="280" as="sourcePoint" />
|
||||
<mxPoint x="160" y="280" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-46" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-45">
|
||||
<mxGeometry x="0.2063" y="2" relative="1" as="geometry">
|
||||
<mxPoint x="-8" y="2" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-51" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-4" source="dwqjCXXZkwgFyCKQyq_e-47" target="dwqjCXXZkwgFyCKQyq_e-50">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-52" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-51">
|
||||
<mxGeometry x="-0.4069" y="1" relative="1" as="geometry">
|
||||
<mxPoint x="-6" y="-9" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-47" value="T1是<span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">指针类型</span><div><span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">而T2不是</span><span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">?</span></div>" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-4">
|
||||
<mxGeometry x="150" y="330" width="120" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-48" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-4" source="dwqjCXXZkwgFyCKQyq_e-42" target="dwqjCXXZkwgFyCKQyq_e-47">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="220" y="160" as="sourcePoint" />
|
||||
<mxPoint x="220" y="180" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-49" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-48">
|
||||
<mxGeometry x="-0.2762" y="1" relative="1" as="geometry">
|
||||
<mxPoint x="-11" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-50" value="使用T2计算<div>数组大小</div>" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-4">
|
||||
<mxGeometry x="290" y="350" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-53" value="T2是<span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">指针类型</span><div><span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">而T1不是</span><span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">?</span></div>" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-4">
|
||||
<mxGeometry x="150" y="430" width="120" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-55" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-4" source="dwqjCXXZkwgFyCKQyq_e-47" target="dwqjCXXZkwgFyCKQyq_e-53">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="220" y="320" as="sourcePoint" />
|
||||
<mxPoint x="220" y="340" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-56" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-55">
|
||||
<mxGeometry x="-0.2762" y="1" relative="1" as="geometry">
|
||||
<mxPoint x="-11" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-57" value="使用T1计算<div>数组大小</div>" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-4">
|
||||
<mxGeometry x="290" y="450" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-59" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-4" source="dwqjCXXZkwgFyCKQyq_e-53" target="dwqjCXXZkwgFyCKQyq_e-57">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="280" y="380" as="sourcePoint" />
|
||||
<mxPoint x="300" y="380" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-60" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-59">
|
||||
<mxGeometry x="-0.4069" y="1" relative="1" as="geometry">
|
||||
<mxPoint x="-6" y="-9" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-61" value="T2与<span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">T1</span><div><span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">数组大小相同</span><span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">?</span></div>" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-4">
|
||||
<mxGeometry x="150" y="530" width="120" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-62" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-4" source="dwqjCXXZkwgFyCKQyq_e-53" target="dwqjCXXZkwgFyCKQyq_e-61">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="220" y="420" as="sourcePoint" />
|
||||
<mxPoint x="220" y="440" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-63" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-62">
|
||||
<mxGeometry x="-0.2762" y="1" relative="1" as="geometry">
|
||||
<mxPoint x="-11" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-65" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-4" source="dwqjCXXZkwgFyCKQyq_e-61" target="dwqjCXXZkwgFyCKQyq_e-57">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="280" y="480" as="sourcePoint" />
|
||||
<mxPoint x="300" y="480" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-66" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-65">
|
||||
<mxGeometry x="-0.4069" y="1" relative="1" as="geometry">
|
||||
<mxPoint x="-44" y="-9" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-67" value="静态断言报错" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-4">
|
||||
<mxGeometry x="160" y="630" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-69" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-4" source="dwqjCXXZkwgFyCKQyq_e-61" target="dwqjCXXZkwgFyCKQyq_e-67">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="220" y="520" as="sourcePoint" />
|
||||
<mxPoint x="220" y="540" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-70" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-69">
|
||||
<mxGeometry x="-0.2762" y="1" relative="1" as="geometry">
|
||||
<mxPoint x="-11" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-75" value="<div>T2是optional</div><div>而T1不是?</div>" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-4">
|
||||
<mxGeometry x="10" y="790" width="120" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-20" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-4" source="dwqjCXXZkwgFyCKQyq_e-22" target="dwqjCXXZkwgFyCKQyq_e-75">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-21" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-20">
|
||||
<mxGeometry x="-0.3238" y="1" relative="1" as="geometry">
|
||||
<mxPoint x="-11" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-78" value="<div>T1与<span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">T2都是</span><span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">optional</span><span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">?</span></div>" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-4">
|
||||
<mxGeometry x="10" y="950" width="120" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-25" value="静态断言报错" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-4">
|
||||
<mxGeometry x="10" y="1050" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-85" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-4" source="dwqjCXXZkwgFyCKQyq_e-75" target="dwqjCXXZkwgFyCKQyq_e-78">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="500" y="880" as="sourcePoint" />
|
||||
<mxPoint x="500" y="900" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-86" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-85">
|
||||
<mxGeometry x="-0.4667" y="-2" relative="1" as="geometry">
|
||||
<mxPoint x="-8" y="-11" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-93" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-4" source="dwqjCXXZkwgFyCKQyq_e-78" target="dwqjCXXZkwgFyCKQyq_e-25">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="500" y="880" as="sourcePoint" />
|
||||
<mxPoint x="500" y="900" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-94" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-93">
|
||||
<mxGeometry x="-0.4667" y="-2" relative="1" as="geometry">
|
||||
<mxPoint x="-8" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-5" value="运行期计算" style="swimlane;startSize=20;html=1;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-95">
|
||||
<mxGeometry x="410" y="20" width="250" height="1100" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-71" value="循环获取<div>数组每个元素</div>" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-5">
|
||||
<mxGeometry x="20" y="350" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-33" value="将T1的数据<div>初始化为<span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">有效值</span></div>" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-5">
|
||||
<mxGeometry x="20" y="710" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-76" value="<div>T2的数据有效<span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">?</span></div>" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-5">
|
||||
<mxGeometry x="20" y="790" width="120" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-13" value="<div>直接返回</div>" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-5">
|
||||
<mxGeometry x="20" y="890" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-14" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-5" source="dwqjCXXZkwgFyCKQyq_e-76" target="dwqjCXXZkwgFyCKQyq_e-13">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="80" y="940" as="sourcePoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-15" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-14">
|
||||
<mxGeometry x="-0.4667" y="-2" relative="1" as="geometry">
|
||||
<mxPoint x="-8" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-79" value="<div>T2的数据有效<span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">?</span></div>" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-5">
|
||||
<mxGeometry x="20" y="950" width="120" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-87" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-5" source="dwqjCXXZkwgFyCKQyq_e-79" target="dwqjCXXZkwgFyCKQyq_e-13">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="100" y="890" as="sourcePoint" />
|
||||
<mxPoint x="100" y="910" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-88" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-87">
|
||||
<mxGeometry x="-0.4667" y="-2" relative="1" as="geometry">
|
||||
<mxPoint x="-12" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-89" value="<div>直接将T2的数据</div><div>赋值给T1</div>" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-5">
|
||||
<mxGeometry x="20" y="1050" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-91" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-5" source="dwqjCXXZkwgFyCKQyq_e-79" target="dwqjCXXZkwgFyCKQyq_e-89">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="-270" y="1000" as="sourcePoint" />
|
||||
<mxPoint x="30" y="1000" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-92" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-91">
|
||||
<mxGeometry x="-0.5873" y="1" relative="1" as="geometry">
|
||||
<mxPoint x="-11" y="6" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;dashed=1;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-95" source="dwqjCXXZkwgFyCKQyq_e-29" target="dwqjCXXZkwgFyCKQyq_e-16">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-26" value="直接将T2的数据<div>赋值给T1</div>" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-95">
|
||||
<mxGeometry x="430" y="110" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-29" value="递归调用赋值" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-95">
|
||||
<mxGeometry x="550" y="50" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-30" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.75;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-95" source="dwqjCXXZkwgFyCKQyq_e-76" target="dwqjCXXZkwgFyCKQyq_e-29">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-31" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-30">
|
||||
<mxGeometry x="-0.8851" relative="1" as="geometry">
|
||||
<mxPoint x="-17" y="-10" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-34" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-95" source="dwqjCXXZkwgFyCKQyq_e-33" target="dwqjCXXZkwgFyCKQyq_e-29">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-38" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-95" source="dwqjCXXZkwgFyCKQyq_e-36" target="dwqjCXXZkwgFyCKQyq_e-26">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="270" y="140" as="sourcePoint" />
|
||||
<mxPoint x="290" y="140" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-39" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-38">
|
||||
<mxGeometry x="-0.5873" relative="1" as="geometry">
|
||||
<mxPoint x="-6" y="-10" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-72" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-95" source="dwqjCXXZkwgFyCKQyq_e-50" target="dwqjCXXZkwgFyCKQyq_e-71">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-73" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-95" source="dwqjCXXZkwgFyCKQyq_e-57" target="dwqjCXXZkwgFyCKQyq_e-71">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-74" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.25;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-95" source="dwqjCXXZkwgFyCKQyq_e-71" target="dwqjCXXZkwgFyCKQyq_e-29">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-95" source="dwqjCXXZkwgFyCKQyq_e-22" target="dwqjCXXZkwgFyCKQyq_e-33">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-12" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-11">
|
||||
<mxGeometry x="-0.5873" y="1" relative="1" as="geometry">
|
||||
<mxPoint x="-52" y="-9" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-81" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-95" source="dwqjCXXZkwgFyCKQyq_e-75" target="dwqjCXXZkwgFyCKQyq_e-76">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="140" y="760" as="sourcePoint" />
|
||||
<mxPoint x="440" y="760" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-82" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-81">
|
||||
<mxGeometry x="-0.5873" y="1" relative="1" as="geometry">
|
||||
<mxPoint x="-52" y="-9" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-83" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-95" source="dwqjCXXZkwgFyCKQyq_e-78" target="dwqjCXXZkwgFyCKQyq_e-79">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="140" y="860" as="sourcePoint" />
|
||||
<mxPoint x="440" y="860" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="dwqjCXXZkwgFyCKQyq_e-84" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-83">
|
||||
<mxGeometry x="-0.5873" y="1" relative="1" as="geometry">
|
||||
<mxPoint x="-52" y="-9" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
533
Doc/XXSJPic_V1.0/XNSimPortal_IntCnf.drawio
Normal file
533
Doc/XXSJPic_V1.0/XNSimPortal_IntCnf.drawio
Normal file
@ -0,0 +1,533 @@
|
||||
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/26.2.2 Chrome/134.0.6998.178 Electron/35.1.2 Safari/537.36" version="26.2.2">
|
||||
<diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1">
|
||||
<mxGraphModel dx="816" dy="466" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="WIyWlLk6GJQsqaUBKTNV-0" />
|
||||
<mxCell id="WIyWlLk6GJQsqaUBKTNV-1" parent="WIyWlLk6GJQsqaUBKTNV-0" />
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-84" value="" style="group" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1" connectable="0">
|
||||
<mxGeometry x="20" y="20" width="280" height="460" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-25" value="添加/编辑变量流程" style="swimlane;childLayout=stackLayout;resizeParent=1;resizeParentMax=0;startSize=20;html=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-84" vertex="1">
|
||||
<mxGeometry width="280" height="460" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-26" value="前端" style="swimlane;startSize=20;html=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-84" vertex="1">
|
||||
<mxGeometry y="20" width="140" height="440" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-27" value="用户登陆访问<div>接口配置页面</div>" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-26" vertex="1">
|
||||
<mxGeometry x="9.999999999999545" y="30" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-28" value="用户编辑接口变量参数并保存" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-26" vertex="1">
|
||||
<mxGeometry x="9.999999999999545" y="150" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-30" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="YtNTQt618ny-sFmqOg6v-26" source="YtNTQt618ny-sFmqOg6v-31" target="YtNTQt618ny-sFmqOg6v-28" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-31" value="用户点击添加变量或编辑变量按钮" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-26" vertex="1">
|
||||
<mxGeometry x="10" y="90" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-35" value="前端表单验证" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-26" vertex="1">
|
||||
<mxGeometry x="9.999999999999545" y="210" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-37" value="验证通过?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="YtNTQt618ny-sFmqOg6v-26" vertex="1">
|
||||
<mxGeometry x="9.999999999999545" y="270" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-38" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="YtNTQt618ny-sFmqOg6v-26" source="YtNTQt618ny-sFmqOg6v-35" target="YtNTQt618ny-sFmqOg6v-37" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-39" value="显示失败消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-26" vertex="1">
|
||||
<mxGeometry x="10" y="330" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-40" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="YtNTQt618ny-sFmqOg6v-26" source="YtNTQt618ny-sFmqOg6v-37" target="YtNTQt618ny-sFmqOg6v-39" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-41" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YtNTQt618ny-sFmqOg6v-40" vertex="1" connectable="0">
|
||||
<mxGeometry x="-0.1357" relative="1" as="geometry">
|
||||
<mxPoint x="-10" y="1" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-42" value="显示成功消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-26" vertex="1">
|
||||
<mxGeometry x="10" y="390" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-43" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="YtNTQt618ny-sFmqOg6v-26" source="YtNTQt618ny-sFmqOg6v-28" target="YtNTQt618ny-sFmqOg6v-35" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="60" y="270" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-76" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="YtNTQt618ny-sFmqOg6v-26" source="YtNTQt618ny-sFmqOg6v-27" target="YtNTQt618ny-sFmqOg6v-31" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="150" y="50" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-44" value="后端" style="swimlane;startSize=20;html=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-84" vertex="1">
|
||||
<mxGeometry x="140" y="20" width="140" height="440" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-62" value="返回失败响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-44" vertex="1">
|
||||
<mxGeometry x="10" y="270" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-69" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="YtNTQt618ny-sFmqOg6v-44" source="YtNTQt618ny-sFmqOg6v-70" target="YtNTQt618ny-sFmqOg6v-75" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-83" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YtNTQt618ny-sFmqOg6v-69" vertex="1" connectable="0">
|
||||
<mxGeometry x="-0.4857" y="-1" relative="1" as="geometry">
|
||||
<mxPoint x="-9" y="-47" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-70" value="写入成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="YtNTQt618ny-sFmqOg6v-44" vertex="1">
|
||||
<mxGeometry x="9.999999999999545" y="210" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-71" value="写入数据库" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-44" vertex="1">
|
||||
<mxGeometry x="10" y="150" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-72" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="YtNTQt618ny-sFmqOg6v-44" source="YtNTQt618ny-sFmqOg6v-71" target="YtNTQt618ny-sFmqOg6v-70" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-73" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="YtNTQt618ny-sFmqOg6v-44" source="YtNTQt618ny-sFmqOg6v-70" target="YtNTQt618ny-sFmqOg6v-62" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="70" y="440" as="sourcePoint" />
|
||||
<mxPoint x="70" y="460" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-74" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YtNTQt618ny-sFmqOg6v-73" vertex="1" connectable="0">
|
||||
<mxGeometry x="-0.4571" relative="1" as="geometry">
|
||||
<mxPoint x="10" y="4" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-75" value="返回成功响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-44" vertex="1">
|
||||
<mxGeometry x="10" y="390" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-79" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="YtNTQt618ny-sFmqOg6v-84" source="YtNTQt618ny-sFmqOg6v-75" target="YtNTQt618ny-sFmqOg6v-42" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-80" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="YtNTQt618ny-sFmqOg6v-84" source="YtNTQt618ny-sFmqOg6v-37" target="YtNTQt618ny-sFmqOg6v-71" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="149.99999999999943" y="310" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-81" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YtNTQt618ny-sFmqOg6v-80" vertex="1" connectable="0">
|
||||
<mxGeometry x="-0.1207" y="-1" relative="1" as="geometry">
|
||||
<mxPoint x="-11" y="40" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-82" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="YtNTQt618ny-sFmqOg6v-84" source="YtNTQt618ny-sFmqOg6v-62" target="YtNTQt618ny-sFmqOg6v-39" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-0" value="" style="group" vertex="1" connectable="0" parent="WIyWlLk6GJQsqaUBKTNV-1">
|
||||
<mxGeometry x="20" y="500" width="280" height="460" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-86" value="删除/批量删除变量流程" style="swimlane;childLayout=stackLayout;resizeParent=1;resizeParentMax=0;startSize=20;html=1;container=0;" parent="AVWmqFyiuayuOy1oOgPT-0" vertex="1">
|
||||
<mxGeometry width="280" height="460" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-87" value="前端" style="swimlane;startSize=20;html=1;container=0;" parent="AVWmqFyiuayuOy1oOgPT-0" vertex="1">
|
||||
<mxGeometry y="20" width="140" height="440" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-88" value="用户登陆访问<div>接口配置页面</div>" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-87" vertex="1">
|
||||
<mxGeometry x="9.999999999999545" y="30" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-89" value="用户点击删除变量按钮" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-87" vertex="1">
|
||||
<mxGeometry x="9.999999999999545" y="150" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-90" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="YtNTQt618ny-sFmqOg6v-87" source="YtNTQt618ny-sFmqOg6v-91" target="YtNTQt618ny-sFmqOg6v-89" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-91" value="用户选择要删除的变量" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-87" vertex="1">
|
||||
<mxGeometry x="10" y="90" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-92" value="权限验证" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-87" vertex="1">
|
||||
<mxGeometry x="9.999999999999545" y="210" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-93" value="验证通过?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="YtNTQt618ny-sFmqOg6v-87" vertex="1">
|
||||
<mxGeometry x="9.999999999999545" y="270" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-94" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="YtNTQt618ny-sFmqOg6v-87" source="YtNTQt618ny-sFmqOg6v-92" target="YtNTQt618ny-sFmqOg6v-93" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-95" value="显示失败消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-87" vertex="1">
|
||||
<mxGeometry x="10" y="330" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-96" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="YtNTQt618ny-sFmqOg6v-87" source="YtNTQt618ny-sFmqOg6v-93" target="YtNTQt618ny-sFmqOg6v-95" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-97" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YtNTQt618ny-sFmqOg6v-96" vertex="1" connectable="0">
|
||||
<mxGeometry x="-0.1357" relative="1" as="geometry">
|
||||
<mxPoint x="-10" y="1" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-98" value="显示成功消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-87" vertex="1">
|
||||
<mxGeometry x="10" y="390" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-99" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="YtNTQt618ny-sFmqOg6v-87" source="YtNTQt618ny-sFmqOg6v-89" target="YtNTQt618ny-sFmqOg6v-92" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="60" y="270" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-100" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="YtNTQt618ny-sFmqOg6v-87" source="YtNTQt618ny-sFmqOg6v-88" target="YtNTQt618ny-sFmqOg6v-91" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="150" y="50" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-101" value="后端" style="swimlane;startSize=20;html=1;container=0;" parent="AVWmqFyiuayuOy1oOgPT-0" vertex="1">
|
||||
<mxGeometry x="140" y="20" width="140" height="440" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-102" value="返回失败响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-101" vertex="1">
|
||||
<mxGeometry x="10" y="270" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-103" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="YtNTQt618ny-sFmqOg6v-101" source="YtNTQt618ny-sFmqOg6v-105" target="YtNTQt618ny-sFmqOg6v-110" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-104" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YtNTQt618ny-sFmqOg6v-103" vertex="1" connectable="0">
|
||||
<mxGeometry x="-0.4857" y="-1" relative="1" as="geometry">
|
||||
<mxPoint x="-9" y="-47" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-105" value="写入成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="YtNTQt618ny-sFmqOg6v-101" vertex="1">
|
||||
<mxGeometry x="9.999999999999545" y="210" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-106" value="删除数据库中<div>接口配置数据</div>" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-101" vertex="1">
|
||||
<mxGeometry x="10" y="150" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-108" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="YtNTQt618ny-sFmqOg6v-101" source="YtNTQt618ny-sFmqOg6v-105" target="YtNTQt618ny-sFmqOg6v-102" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="70" y="440" as="sourcePoint" />
|
||||
<mxPoint x="70" y="460" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-109" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YtNTQt618ny-sFmqOg6v-108" vertex="1" connectable="0">
|
||||
<mxGeometry x="-0.4571" relative="1" as="geometry">
|
||||
<mxPoint x="10" y="4" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-110" value="返回成功响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-101" vertex="1">
|
||||
<mxGeometry x="10" y="390" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-107" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="YtNTQt618ny-sFmqOg6v-101" source="YtNTQt618ny-sFmqOg6v-106" target="YtNTQt618ny-sFmqOg6v-105" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="60" y="150" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-111" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="AVWmqFyiuayuOy1oOgPT-0" source="YtNTQt618ny-sFmqOg6v-110" target="YtNTQt618ny-sFmqOg6v-98" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-112" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="AVWmqFyiuayuOy1oOgPT-0" source="YtNTQt618ny-sFmqOg6v-93" target="YtNTQt618ny-sFmqOg6v-106" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="149.99999999999943" y="310" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-113" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YtNTQt618ny-sFmqOg6v-112" vertex="1" connectable="0">
|
||||
<mxGeometry x="-0.1207" y="-1" relative="1" as="geometry">
|
||||
<mxPoint x="-11" y="40" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="YtNTQt618ny-sFmqOg6v-114" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="AVWmqFyiuayuOy1oOgPT-0" source="YtNTQt618ny-sFmqOg6v-102" target="YtNTQt618ny-sFmqOg6v-95" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-48" value="" style="group" vertex="1" connectable="0" parent="WIyWlLk6GJQsqaUBKTNV-1">
|
||||
<mxGeometry x="20" y="980" width="390" height="760" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-2" value="ICD导入流程" style="swimlane;childLayout=stackLayout;resizeParent=1;resizeParentMax=0;startSize=20;html=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-48">
|
||||
<mxGeometry width="390" height="760" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-3" value="前端" style="swimlane;startSize=20;html=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-48">
|
||||
<mxGeometry y="20" width="140" height="740" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-4" value="用户登陆访问<div>接口配置页面</div>" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-3">
|
||||
<mxGeometry x="19.999999999999545" y="30" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-5" value="用户选择ICD文件上传" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-3">
|
||||
<mxGeometry x="19.999999999999545" y="150" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-3" source="AVWmqFyiuayuOy1oOgPT-7" target="AVWmqFyiuayuOy1oOgPT-5">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-7" value="用户点击<br>ICD导入按钮" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-3">
|
||||
<mxGeometry x="20" y="90" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-11" value="显示失败消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-3">
|
||||
<mxGeometry x="20" y="270" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-3" source="AVWmqFyiuayuOy1oOgPT-4" target="AVWmqFyiuayuOy1oOgPT-7">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="150" y="50" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-35" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-3" source="AVWmqFyiuayuOy1oOgPT-32" target="AVWmqFyiuayuOy1oOgPT-34">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-32" value="显示解析结果" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-3">
|
||||
<mxGeometry x="20" y="330" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-42" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-3" source="AVWmqFyiuayuOy1oOgPT-34" target="AVWmqFyiuayuOy1oOgPT-41">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-34" value="用户配置ATA章节及模型名称" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-3">
|
||||
<mxGeometry x="20" y="390" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-36" value="验证成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-3">
|
||||
<mxGeometry x="19.999999999999545" y="510" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-41" value="接口数据验证" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-3">
|
||||
<mxGeometry x="20" y="450" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-43" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-3" source="AVWmqFyiuayuOy1oOgPT-41" target="AVWmqFyiuayuOy1oOgPT-36">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-44" value="显示失败消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-3">
|
||||
<mxGeometry x="20" y="570" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-37" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" source="AVWmqFyiuayuOy1oOgPT-36" parent="AVWmqFyiuayuOy1oOgPT-3" target="AVWmqFyiuayuOy1oOgPT-44">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="70" y="730" as="sourcePoint" />
|
||||
<mxPoint x="60" y="630" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-38" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="AVWmqFyiuayuOy1oOgPT-37">
|
||||
<mxGeometry x="-0.4571" relative="1" as="geometry">
|
||||
<mxPoint x="10" y="4" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-14" value="显示成功消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-3">
|
||||
<mxGeometry x="20" y="690" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-17" value="后端" style="swimlane;startSize=20;html=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-48">
|
||||
<mxGeometry x="140" y="20" width="250" height="740" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-18" value="返回失败响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-17">
|
||||
<mxGeometry x="20" y="270" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-17" source="AVWmqFyiuayuOy1oOgPT-21" target="AVWmqFyiuayuOy1oOgPT-25">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="110" y="770" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-20" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="AVWmqFyiuayuOy1oOgPT-19">
|
||||
<mxGeometry x="-0.4857" y="-1" relative="1" as="geometry">
|
||||
<mxPoint x="-36" y="-11" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-21" value="写入成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-17">
|
||||
<mxGeometry x="19.999999999999545" y="570" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-22" value="写入数据库" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-17">
|
||||
<mxGeometry x="20" y="510" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-23" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-17" source="AVWmqFyiuayuOy1oOgPT-21" target="AVWmqFyiuayuOy1oOgPT-46">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="70" y="800" as="sourcePoint" />
|
||||
<mxPoint x="60" y="700" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-24" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="AVWmqFyiuayuOy1oOgPT-23">
|
||||
<mxGeometry x="-0.4571" relative="1" as="geometry">
|
||||
<mxPoint x="10" y="4" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-26" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-17" source="AVWmqFyiuayuOy1oOgPT-22" target="AVWmqFyiuayuOy1oOgPT-21">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="60" y="510" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-8" value="ICD文件解析" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-17">
|
||||
<mxGeometry x="19.999999999999545" y="150" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-9" value="解析成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-17">
|
||||
<mxGeometry x="19.999999999999545" y="210" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-28" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-17" source="AVWmqFyiuayuOy1oOgPT-9" target="AVWmqFyiuayuOy1oOgPT-31">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="9.999999999999432" y="290" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-29" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="AVWmqFyiuayuOy1oOgPT-28">
|
||||
<mxGeometry x="-0.1207" y="-1" relative="1" as="geometry">
|
||||
<mxPoint x="-64" y="-15" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-17" source="AVWmqFyiuayuOy1oOgPT-8" target="AVWmqFyiuayuOy1oOgPT-9">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-17" source="AVWmqFyiuayuOy1oOgPT-9" target="AVWmqFyiuayuOy1oOgPT-18">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-13" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="AVWmqFyiuayuOy1oOgPT-12">
|
||||
<mxGeometry x="-0.1357" relative="1" as="geometry">
|
||||
<mxPoint x="-10" y="1" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-31" value="返回解析结果" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-17">
|
||||
<mxGeometry x="140" y="330" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-46" value="返回失败响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-17">
|
||||
<mxGeometry x="20" y="630" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-25" value="返回成功响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-17">
|
||||
<mxGeometry x="140" y="690" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-30" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-48" source="AVWmqFyiuayuOy1oOgPT-18" target="AVWmqFyiuayuOy1oOgPT-11">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-48" source="AVWmqFyiuayuOy1oOgPT-5" target="AVWmqFyiuayuOy1oOgPT-8">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="60" y="290" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-33" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-48" source="AVWmqFyiuayuOy1oOgPT-31" target="AVWmqFyiuayuOy1oOgPT-32">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-27" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-48" source="AVWmqFyiuayuOy1oOgPT-25" target="AVWmqFyiuayuOy1oOgPT-14">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-39" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" source="AVWmqFyiuayuOy1oOgPT-36" parent="AVWmqFyiuayuOy1oOgPT-48" target="AVWmqFyiuayuOy1oOgPT-22">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="110" y="720" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-40" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="AVWmqFyiuayuOy1oOgPT-39">
|
||||
<mxGeometry x="-0.4857" y="-1" relative="1" as="geometry">
|
||||
<mxPoint x="-9" y="-11" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-47" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-48" source="AVWmqFyiuayuOy1oOgPT-46" target="AVWmqFyiuayuOy1oOgPT-44">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-80" value="" style="group" vertex="1" connectable="0" parent="WIyWlLk6GJQsqaUBKTNV-1">
|
||||
<mxGeometry x="20" y="1760" width="390" height="340" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-50" value="代码生成流程" style="swimlane;childLayout=stackLayout;resizeParent=1;resizeParentMax=0;startSize=20;html=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-80">
|
||||
<mxGeometry width="390" height="340" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-51" value="前端" style="swimlane;startSize=20;html=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-80">
|
||||
<mxGeometry y="20" width="140" height="320" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-65" value="后端" style="swimlane;startSize=20;html=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-80">
|
||||
<mxGeometry x="140" y="20" width="250" height="320" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-63" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-80" source="AVWmqFyiuayuOy1oOgPT-53" target="AVWmqFyiuayuOy1oOgPT-56">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="420" y="320" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-75" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-80" source="AVWmqFyiuayuOy1oOgPT-73" target="AVWmqFyiuayuOy1oOgPT-62">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-78" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-80" source="AVWmqFyiuayuOy1oOgPT-66" target="AVWmqFyiuayuOy1oOgPT-59">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-52" value="用户登陆访问<div>接口配置页面</div>" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-80">
|
||||
<mxGeometry x="19.999999999999545" y="50" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-53" value="用户点击代码生成按钮" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-80">
|
||||
<mxGeometry x="19.999999999999545" y="110" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-64" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-80" source="AVWmqFyiuayuOy1oOgPT-52" target="AVWmqFyiuayuOy1oOgPT-53">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="420" y="140" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-59" value="显示失败消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-80">
|
||||
<mxGeometry x="20" y="230" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-62" value="显示成功消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-80">
|
||||
<mxGeometry x="20" y="290" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-56" value="调用数据交互接口生成后端服务" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-80">
|
||||
<mxGeometry x="159.99999999999955" y="110" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-58" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-80" source="AVWmqFyiuayuOy1oOgPT-56" target="AVWmqFyiuayuOy1oOgPT-69">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="210" y="170" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-69" value="生成成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-80">
|
||||
<mxGeometry x="159.99999999999955" y="170" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-66" value="返回失败响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-80">
|
||||
<mxGeometry x="160" y="230" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-71" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-80" source="AVWmqFyiuayuOy1oOgPT-69" target="AVWmqFyiuayuOy1oOgPT-66">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="570" y="490" as="sourcePoint" />
|
||||
<mxPoint x="570" y="510" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-72" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="AVWmqFyiuayuOy1oOgPT-71">
|
||||
<mxGeometry x="-0.4571" relative="1" as="geometry">
|
||||
<mxPoint x="10" y="4" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-73" value="返回成功响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-80">
|
||||
<mxGeometry x="280" y="290" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-67" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-80" source="AVWmqFyiuayuOy1oOgPT-69" target="AVWmqFyiuayuOy1oOgPT-73">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-68" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="AVWmqFyiuayuOy1oOgPT-67">
|
||||
<mxGeometry x="-0.4857" y="-1" relative="1" as="geometry">
|
||||
<mxPoint x="-39" y="-11" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-99" value="" style="group" vertex="1" connectable="0" parent="WIyWlLk6GJQsqaUBKTNV-1">
|
||||
<mxGeometry x="80" y="2130" width="300" height="340" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-82" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-99" source="AVWmqFyiuayuOy1oOgPT-95" target="AVWmqFyiuayuOy1oOgPT-88">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-83" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-99" source="AVWmqFyiuayuOy1oOgPT-92" target="AVWmqFyiuayuOy1oOgPT-88">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-84" value="用户登陆访问<div>接口配置页面</div>" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-99">
|
||||
<mxGeometry x="99.99999999999955" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-85" value="用户输入搜索条件" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-99">
|
||||
<mxGeometry x="99.99999999999955" y="60" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-86" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-99" source="AVWmqFyiuayuOy1oOgPT-84" target="AVWmqFyiuayuOy1oOgPT-85">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="500" y="90" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-87" value="显示过滤结果" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-99">
|
||||
<mxGeometry x="100" y="300" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-98" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-99" source="AVWmqFyiuayuOy1oOgPT-88" target="AVWmqFyiuayuOy1oOgPT-87">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-88" value="更新表格显示" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-99">
|
||||
<mxGeometry x="100" y="240" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-90" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-99" source="AVWmqFyiuayuOy1oOgPT-85" target="AVWmqFyiuayuOy1oOgPT-91">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="290" y="120" as="targetPoint" />
|
||||
<mxPoint x="289.99999999999955" y="100" as="sourcePoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-91" value="搜索类型?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-99">
|
||||
<mxGeometry x="99.99999999999955" y="120" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-92" value="多条件组合过滤" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-99">
|
||||
<mxGeometry x="200" y="180" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-93" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-99" source="AVWmqFyiuayuOy1oOgPT-91" target="AVWmqFyiuayuOy1oOgPT-92">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="650" y="440" as="sourcePoint" />
|
||||
<mxPoint x="650" y="460" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-94" value="高级搜索" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="AVWmqFyiuayuOy1oOgPT-93">
|
||||
<mxGeometry x="-0.4571" relative="1" as="geometry">
|
||||
<mxPoint x="-5" y="-10" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-95" value="模糊匹配过滤" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-99">
|
||||
<mxGeometry y="180" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-96" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-99" source="AVWmqFyiuayuOy1oOgPT-91" target="AVWmqFyiuayuOy1oOgPT-95">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AVWmqFyiuayuOy1oOgPT-97" value="关键字搜索" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="AVWmqFyiuayuOy1oOgPT-96">
|
||||
<mxGeometry x="-0.4857" y="-1" relative="1" as="geometry">
|
||||
<mxPoint x="-7" y="-9" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
74
XNCore_Win/.vscode/settings.json
vendored
Normal file
74
XNCore_Win/.vscode/settings.json
vendored
Normal file
@ -0,0 +1,74 @@
|
||||
{
|
||||
"files.associations": {
|
||||
"cctype": "cpp",
|
||||
"clocale": "cpp",
|
||||
"cmath": "cpp",
|
||||
"cstdarg": "cpp",
|
||||
"cstddef": "cpp",
|
||||
"cstdio": "cpp",
|
||||
"cstdlib": "cpp",
|
||||
"cstring": "cpp",
|
||||
"ctime": "cpp",
|
||||
"cwchar": "cpp",
|
||||
"cwctype": "cpp",
|
||||
"any": "cpp",
|
||||
"array": "cpp",
|
||||
"atomic": "cpp",
|
||||
"bit": "cpp",
|
||||
"*.tcc": "cpp",
|
||||
"bitset": "cpp",
|
||||
"chrono": "cpp",
|
||||
"codecvt": "cpp",
|
||||
"compare": "cpp",
|
||||
"complex": "cpp",
|
||||
"concepts": "cpp",
|
||||
"condition_variable": "cpp",
|
||||
"cstdint": "cpp",
|
||||
"deque": "cpp",
|
||||
"forward_list": "cpp",
|
||||
"list": "cpp",
|
||||
"map": "cpp",
|
||||
"set": "cpp",
|
||||
"unordered_map": "cpp",
|
||||
"vector": "cpp",
|
||||
"exception": "cpp",
|
||||
"algorithm": "cpp",
|
||||
"functional": "cpp",
|
||||
"iterator": "cpp",
|
||||
"memory": "cpp",
|
||||
"memory_resource": "cpp",
|
||||
"numeric": "cpp",
|
||||
"optional": "cpp",
|
||||
"random": "cpp",
|
||||
"ratio": "cpp",
|
||||
"regex": "cpp",
|
||||
"string": "cpp",
|
||||
"string_view": "cpp",
|
||||
"system_error": "cpp",
|
||||
"tuple": "cpp",
|
||||
"type_traits": "cpp",
|
||||
"utility": "cpp",
|
||||
"fstream": "cpp",
|
||||
"initializer_list": "cpp",
|
||||
"iomanip": "cpp",
|
||||
"iosfwd": "cpp",
|
||||
"iostream": "cpp",
|
||||
"istream": "cpp",
|
||||
"limits": "cpp",
|
||||
"mutex": "cpp",
|
||||
"new": "cpp",
|
||||
"ostream": "cpp",
|
||||
"ranges": "cpp",
|
||||
"sstream": "cpp",
|
||||
"stdexcept": "cpp",
|
||||
"stop_token": "cpp",
|
||||
"streambuf": "cpp",
|
||||
"thread": "cpp",
|
||||
"cinttypes": "cpp",
|
||||
"typeindex": "cpp",
|
||||
"typeinfo": "cpp",
|
||||
"valarray": "cpp",
|
||||
"variant": "cpp",
|
||||
"filesystem": "cpp"
|
||||
}
|
||||
}
|
@ -14,63 +14,67 @@
|
||||
|
||||
// FastDDS宏定义
|
||||
#define XN_DDS eprosima::fastdds::dds
|
||||
namespace XNSim {
|
||||
template <typename T> using XNDDSOptional = eprosima::fastcdr::optional<T>;
|
||||
namespace XNSim
|
||||
{
|
||||
template <typename T>
|
||||
using XNDDSOptional = eprosima::fastcdr::optional<T>;
|
||||
|
||||
using XNDDSParticipantPtr = XN_DDS::DomainParticipant *;
|
||||
using XNDDSPublisherPtr = XN_DDS::Publisher *;
|
||||
using XNDDSSubscriberPtr = XN_DDS::Subscriber *;
|
||||
using XNDDSTopicPtr = XN_DDS::Topic *;
|
||||
using XNDDSDataWriterPtr = XN_DDS::DataWriter *;
|
||||
using XNDDSDataReaderPtr = XN_DDS::DataReader *;
|
||||
using XNDDSTypeSupport = XN_DDS::TypeSupport;
|
||||
using XNDDSDataWriterQos = XN_DDS::DataWriterQos;
|
||||
using XNDDSDataReaderQos = XN_DDS::DataReaderQos;
|
||||
using XNDDSPublisherPtr = XN_DDS::Publisher *;
|
||||
using XNDDSSubscriberPtr = XN_DDS::Subscriber *;
|
||||
using XNDDSTopicPtr = XN_DDS::Topic *;
|
||||
using XNDDSDataWriterPtr = XN_DDS::DataWriter *;
|
||||
using XNDDSDataReaderPtr = XN_DDS::DataReader *;
|
||||
using XNDDSTypeSupport = XN_DDS::TypeSupport;
|
||||
using XNDDSDataWriterQos = XN_DDS::DataWriterQos;
|
||||
using XNDDSDataReaderQos = XN_DDS::DataReaderQos;
|
||||
using XNDDSParticipantQos = XN_DDS::DomainParticipantQos;
|
||||
using XNDDSTopicQos = XN_DDS::TopicQos;
|
||||
using XNDDSPublisherQos = XN_DDS::PublisherQos;
|
||||
using XNDDSSubscriberQos = XN_DDS::SubscriberQos;
|
||||
using XNDDSTopicQos = XN_DDS::TopicQos;
|
||||
using XNDDSPublisherQos = XN_DDS::PublisherQos;
|
||||
using XNDDSSubscriberQos = XN_DDS::SubscriberQos;
|
||||
|
||||
using XNDDSPublisherMap = std::unordered_map<XN_STRING, XNDDSPublisherPtr>;
|
||||
using XNDDSPublisherMap = std::unordered_map<XN_STRING, XNDDSPublisherPtr>;
|
||||
using XNDDSSubscriberMap = std::unordered_map<XN_STRING, XNDDSSubscriberPtr>;
|
||||
using XNDDSDataWriterMap = std::unordered_map<XN_STRING, XNDDSDataWriterPtr>;
|
||||
|
||||
struct PublisherInfo {
|
||||
XNDDSPublisherPtr publisher;
|
||||
XNDDSDataWriterPtr dataWriter;
|
||||
XNDDSPublisherPtr publisher;
|
||||
XNDDSDataWriterPtr dataWriter;
|
||||
};
|
||||
|
||||
struct SubscriberInfo {
|
||||
XNDDSSubscriberPtr subscriber;
|
||||
XNDDSDataReaderPtr dataReader;
|
||||
XNDDSSubscriberPtr subscriber;
|
||||
XNDDSDataReaderPtr dataReader;
|
||||
};
|
||||
|
||||
struct TopicInfo {
|
||||
XNDDSTopicPtr topic;
|
||||
XNDDSPublisherMap publishers_;
|
||||
XNDDSSubscriberMap subscribers_;
|
||||
XNDDSTopicPtr topic;
|
||||
XNDDSPublisherMap publishers_;
|
||||
XNDDSSubscriberMap subscribers_;
|
||||
};
|
||||
|
||||
using XNDDSTopicMap = std::unordered_map<XN_STRING, TopicInfo>;
|
||||
|
||||
template <typename T> using XNDDSCallBack = std::function<void(const T &)>;
|
||||
template <typename T>
|
||||
using XNDDSCallBack = std::function<void(const T &)>;
|
||||
|
||||
template <typename T>
|
||||
class DataReaderListenerImpl : public XN_DDS::DataReaderListener {
|
||||
class DataReaderListenerImpl : public XN_DDS::DataReaderListener
|
||||
{
|
||||
public:
|
||||
DataReaderListenerImpl(XNDDSCallBack<T> callback) : callback_(callback) {}
|
||||
DataReaderListenerImpl(XNDDSCallBack<T> callback) : callback_(callback) {}
|
||||
|
||||
void on_data_available(XNDDSDataReaderPtr reader) override {
|
||||
XN_DDS::SampleInfo info;
|
||||
if (reader->take_next_sample(&data_, &info) == XN_DDS::RETCODE_OK &&
|
||||
info.valid_data) {
|
||||
callback_(data_);
|
||||
}
|
||||
}
|
||||
void on_data_available(XNDDSDataReaderPtr reader) override
|
||||
{
|
||||
XN_DDS::SampleInfo info;
|
||||
if (reader->take_next_sample(&data_, &info) == XN_DDS::RETCODE_OK && info.valid_data) {
|
||||
callback_(data_);
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
T data_;
|
||||
XNDDSCallBack<T> callback_;
|
||||
T data_;
|
||||
XNDDSCallBack<T> callback_;
|
||||
};
|
||||
|
||||
} // namespace XNSim
|
@ -1,142 +1,143 @@
|
||||
#pragma once
|
||||
|
||||
namespace XNSim {
|
||||
namespace XNSim
|
||||
{
|
||||
/**
|
||||
* @brief 系统运行状态枚举类
|
||||
*/
|
||||
enum class RunStatus {
|
||||
/**
|
||||
/**
|
||||
* @brief 未开始
|
||||
*/
|
||||
NotStart = 0,
|
||||
/**
|
||||
NotStart = 0,
|
||||
/**
|
||||
* @brief 运行中
|
||||
*/
|
||||
Runing,
|
||||
/**
|
||||
Runing,
|
||||
/**
|
||||
* @brief 暂停
|
||||
*/
|
||||
Suspend,
|
||||
/**
|
||||
Suspend,
|
||||
/**
|
||||
* @brief 中止
|
||||
*/
|
||||
Aborted,
|
||||
/**
|
||||
Aborted,
|
||||
/**
|
||||
* @brief 结束
|
||||
*/
|
||||
Finished
|
||||
Finished
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief 仿真控制命令枚举类
|
||||
*/
|
||||
enum class SimControlCmd {
|
||||
/**
|
||||
/**
|
||||
* @brief 开始
|
||||
*/
|
||||
Start = 0,
|
||||
/**
|
||||
Start = 0,
|
||||
/**
|
||||
* @brief 继续
|
||||
*/
|
||||
Continue,
|
||||
/**
|
||||
Continue,
|
||||
/**
|
||||
* @brief 暂停
|
||||
*/
|
||||
Suspend,
|
||||
/**
|
||||
Suspend,
|
||||
/**
|
||||
* @brief 中止
|
||||
*/
|
||||
Abort
|
||||
Abort
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief 运行频率族枚举类
|
||||
*/
|
||||
enum class FreqLevel {
|
||||
/**
|
||||
/**
|
||||
* @brief 基础频率
|
||||
*/
|
||||
BaseFreq = 0, // 120/100/60 Hz
|
||||
/**
|
||||
BaseFreq = 0, // 120/100/60 Hz
|
||||
/**
|
||||
* @brief 半频
|
||||
*/
|
||||
HalfFreq, // 60/50/30 Hz
|
||||
/**
|
||||
HalfFreq, // 60/50/30 Hz
|
||||
/**
|
||||
* @brief 四分之一频
|
||||
*/
|
||||
QuarterFreq, // 30/25/15 Hz
|
||||
/**
|
||||
QuarterFreq, // 30/25/15 Hz
|
||||
/**
|
||||
* @brief 八分之一频
|
||||
*/
|
||||
EighthFreq, // 15/12.5/7.5 Hz
|
||||
/**
|
||||
EighthFreq, // 15/12.5/7.5 Hz
|
||||
/**
|
||||
* @brief 十六分之一频
|
||||
*/
|
||||
SixteenthFreq, // 7.5/6.25/3.75 Hz
|
||||
/**
|
||||
SixteenthFreq, // 7.5/6.25/3.75 Hz
|
||||
/**
|
||||
* @brief 三十二分之一频
|
||||
*/
|
||||
ThirtyTwothFreq, // 3.75/3.125/1.875 Hz
|
||||
ThirtyTwothFreq, // 3.75/3.125/1.875 Hz
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief 框架对象状态枚举
|
||||
*/
|
||||
enum class XNFrameObjectStatus {
|
||||
/**
|
||||
/**
|
||||
* @brief 未初始化
|
||||
*/
|
||||
NotReady = 0,
|
||||
/**
|
||||
NotReady = 0,
|
||||
/**
|
||||
* @brief 已初始化
|
||||
*/
|
||||
Initialized,
|
||||
/**
|
||||
Initialized,
|
||||
/**
|
||||
* @brief 已准备好
|
||||
*/
|
||||
Ready,
|
||||
/**
|
||||
Ready,
|
||||
/**
|
||||
* @brief 未知
|
||||
*/
|
||||
Unknown
|
||||
Unknown
|
||||
};
|
||||
|
||||
enum class XNCoreObjectID {
|
||||
/**
|
||||
/**
|
||||
* @brief 框架对象
|
||||
*/
|
||||
Framework = 0,
|
||||
/**
|
||||
Framework = 0,
|
||||
/**
|
||||
* @brief 模型管理器
|
||||
*/
|
||||
ModelManager,
|
||||
/**
|
||||
ModelManager = 1,
|
||||
/**
|
||||
* @brief 时间管理器
|
||||
*/
|
||||
TimeManager = 2,
|
||||
/**
|
||||
TimeManager = 2,
|
||||
/**
|
||||
* @brief 线程管理器
|
||||
*/
|
||||
ThreadManager = 3,
|
||||
/**
|
||||
ThreadManager = 3,
|
||||
/**
|
||||
* @brief 服务管理器
|
||||
*/
|
||||
ServiceManager = 4,
|
||||
/**
|
||||
ServiceManager = 4,
|
||||
/**
|
||||
* @brief 构型管理器
|
||||
*/
|
||||
ConfigManager = 5,
|
||||
/**
|
||||
ConfigManager = 5,
|
||||
/**
|
||||
* @brief 模型管理器
|
||||
*/
|
||||
ModelManager = 6,
|
||||
/**
|
||||
ModelManager = 6,
|
||||
/**
|
||||
* @brief 事件管理器
|
||||
*/
|
||||
EventManager = 7,
|
||||
/**
|
||||
EventManager = 7,
|
||||
/**
|
||||
* @brief DDS管理器
|
||||
*/
|
||||
DDSManager = 8
|
||||
DDSManager = 8
|
||||
};
|
||||
} // namespace XNSim
|
@ -4,7 +4,8 @@
|
||||
#include <stdexcept>
|
||||
#include <type_traits>
|
||||
|
||||
namespace XNSim {
|
||||
namespace XNSim
|
||||
{
|
||||
|
||||
// 类型检查
|
||||
template <typename T, typename U>
|
||||
@ -19,11 +20,15 @@ template <typename T, typename U>
|
||||
inline constexpr bool is_convertible_v = std::is_convertible_v<T, U>;
|
||||
|
||||
// 数组类型检查
|
||||
namespace TypeTraits {
|
||||
template <typename T> struct is_std_array : std::false_type {};
|
||||
namespace TypeTraits
|
||||
{
|
||||
template <typename T>
|
||||
struct is_std_array : std::false_type {
|
||||
};
|
||||
|
||||
template <typename T, std::size_t N>
|
||||
struct is_std_array<std::array<T, N>> : std::true_type {};
|
||||
template <typename T, std::size_t N>
|
||||
struct is_std_array<std::array<T, N>> : std::true_type {
|
||||
};
|
||||
} // namespace TypeTraits
|
||||
|
||||
// 数组类型检查简化使用
|
||||
@ -31,12 +36,15 @@ template <typename T>
|
||||
inline constexpr bool is_array_v = TypeTraits::is_std_array<T>::value;
|
||||
|
||||
// 获取数组大小
|
||||
namespace TypeTraits {
|
||||
template <typename T>
|
||||
struct array_size : std::integral_constant<std::size_t, 1> {};
|
||||
namespace TypeTraits
|
||||
{
|
||||
template <typename T>
|
||||
struct array_size : std::integral_constant<std::size_t, 1> {
|
||||
};
|
||||
|
||||
template <typename T, std::size_t N>
|
||||
struct array_size<std::array<T, N>> : std::integral_constant<std::size_t, N> {};
|
||||
template <typename T, std::size_t N>
|
||||
struct array_size<std::array<T, N>> : std::integral_constant<std::size_t, N> {
|
||||
};
|
||||
} // namespace TypeTraits
|
||||
|
||||
// 获取数组大小简化使用
|
||||
@ -44,28 +52,33 @@ template <typename T>
|
||||
inline constexpr std::size_t array_size_v = TypeTraits::array_size<T>::value;
|
||||
|
||||
// 获取类型大小
|
||||
template <typename T> constexpr size_t getTypeSize() {
|
||||
if constexpr (is_array_v<T>) {
|
||||
// 对于std::array,计算所有元素的总大小
|
||||
return getTypeSize<typename T::value_type>() * array_size_v<T>;
|
||||
} else {
|
||||
return sizeof(T);
|
||||
}
|
||||
template <typename T>
|
||||
constexpr size_t getTypeSize()
|
||||
{
|
||||
if constexpr (is_array_v<T>) {
|
||||
// 对于std::array,计算所有元素的总大小
|
||||
return getTypeSize<typename T::value_type>() * array_size_v<T>;
|
||||
} else {
|
||||
return sizeof(T);
|
||||
}
|
||||
}
|
||||
|
||||
// 获取数组总大小
|
||||
template <typename T> constexpr std::size_t arrayTotalSize(const T &arr) {
|
||||
if constexpr (is_array_v<T>) {
|
||||
// 对于std::array,计算所有元素的总大小
|
||||
return getTypeSize<typename T::value_type>() * array_size_v<T>;
|
||||
} else {
|
||||
return 1;
|
||||
}
|
||||
template <typename T>
|
||||
constexpr std::size_t arrayTotalSize()
|
||||
{
|
||||
if constexpr (is_array_v<T>) {
|
||||
// 对于std::array,计算所有元素的总大小
|
||||
return getTypeSize<typename T::value_type>() * array_size_v<T>;
|
||||
} else {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
// 枚举值获取函数
|
||||
template <typename T>
|
||||
constexpr typename std::underlying_type<T>::type enumValue(T e) {
|
||||
return static_cast<typename std::underlying_type<T>::type>(e);
|
||||
constexpr typename std::underlying_type<T>::type enumValue(T e)
|
||||
{
|
||||
return static_cast<typename std::underlying_type<T>::type>(e);
|
||||
}
|
||||
} // namespace XNSim
|
309
XNSimPortal/doc/接口配置模块设计文档.md
Normal file
309
XNSimPortal/doc/接口配置模块设计文档.md
Normal file
@ -0,0 +1,309 @@
|
||||
# 接口配置模块设计文档
|
||||
|
||||
## 1. 概述
|
||||
|
||||
接口配置模块是 XNSimPortal 系统的核心组件之一,负责管理仿真系统中的数据接口定义。该模块提供了完整的接口生命周期管理功能,包括接口的创建、编辑、删除、查询、导入导出等操作。模块采用前后端分离架构,前端使用 Web Components 技术构建用户界面,后端提供 RESTful API 接口。
|
||||
|
||||
### 1.1 模块组成
|
||||
|
||||
- **前端组件**:`interface-config.js` - 主组件
|
||||
- **子组件**:
|
||||
- `toolbar.js` - 工具栏组件
|
||||
- `data-table.js` - 数据表格组件
|
||||
- `variable-form.js` - 变量表单组件
|
||||
- `import-dialog.js` - 导入对话框组件
|
||||
- **后端路由**:
|
||||
- `routes/interface-config.js` - 接口管理 API
|
||||
- `routes/icd-import.js` - ICD 文件导入 API
|
||||
- **工具类**:
|
||||
- `utils/data-interface-utils.js` - 数据接口操作工具
|
||||
- `utils/icd-parser.js` - ICD 文件解析工具
|
||||
|
||||
### 1.2 技术架构
|
||||
|
||||
```
|
||||
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
|
||||
│ 前端组件层 │ │ 后端API层 │ │ 数据存储层 │
|
||||
│ │ │ │ │ │
|
||||
│ interface-config│◄──►│ interface-config│◄──►│ SQLite数据库 │
|
||||
│ toolbar │ │ icd-import │ │ DataInterface_* │
|
||||
│ data-table │ │ │ │ 表 │
|
||||
│ variable-form │ │ │ │ │
|
||||
│ import-dialog │ │ │ │ │
|
||||
└─────────────────┘ └─────────────────┘ └─────────────────┘
|
||||
```
|
||||
|
||||
## 2. 功能
|
||||
|
||||
### 2.1 核心功能
|
||||
|
||||
1. **接口管理**
|
||||
|
||||
- 接口的增删改查操作
|
||||
- 批量删除接口
|
||||
- 接口数据验证
|
||||
2. **数据导入**
|
||||
|
||||
- ICD Excel 文件导入
|
||||
- 批量数据导入
|
||||
- 导入数据预览和确认
|
||||
3. **数据展示**
|
||||
|
||||
- 分页表格显示
|
||||
- 搜索和过滤
|
||||
- 高级搜索(多条件组合)
|
||||
4. **配置管理**
|
||||
|
||||
- 构型关联管理
|
||||
- ATA 章节管理
|
||||
- 机型管理
|
||||
|
||||
### 2.2 辅助功能
|
||||
|
||||
1. **数据验证**
|
||||
|
||||
- 必填字段验证
|
||||
- 数据类型验证
|
||||
- 唯一性验证
|
||||
2. **用户体验**
|
||||
|
||||
- 加载状态提示
|
||||
- 错误信息展示
|
||||
- 操作确认对话框
|
||||
|
||||
## 3. 性能
|
||||
|
||||
### 3.1 性能指标
|
||||
|
||||
- **响应时间**:接口查询 < 500ms,数据导入 < 5s
|
||||
- **并发处理**:支持多用户同时操作
|
||||
- **数据量支持**:单次导入支持 1000+条记录
|
||||
- **内存使用**:前端组件内存占用 < 50MB
|
||||
|
||||
### 3.2 性能优化策略
|
||||
|
||||
1. **数据库优化**
|
||||
|
||||
- 使用索引优化查询性能
|
||||
- 批量操作减少数据库交互次数
|
||||
2. **前端优化**
|
||||
|
||||
- 虚拟滚动处理大量数据
|
||||
- 分页加载减少初始渲染时间
|
||||
- 防抖处理搜索输入
|
||||
3. **文件处理优化**
|
||||
|
||||
- 流式处理大文件
|
||||
- 临时文件及时清理
|
||||
|
||||
## 4. 输入
|
||||
|
||||
### 4.1 用户输入
|
||||
|
||||
1. **接口定义数据**
|
||||
|
||||
```
|
||||
{
|
||||
SystemName: "XNSim",
|
||||
PlaneName: "机型名称",
|
||||
ATAName: "ATA章节",
|
||||
ModelStructName: "模型结构名称",
|
||||
InterfaceName: "接口名称",
|
||||
InterfaceType: "接口类型",
|
||||
InterfaceOption: 1,
|
||||
InterfaceIsArray: true/false,
|
||||
InterfaceArraySize_1: 10,
|
||||
InterfaceArraySize_2: 0,
|
||||
InterfaceNotes: "备注信息",
|
||||
ConfID: "构型ID"
|
||||
}
|
||||
```
|
||||
2. **搜索条件**
|
||||
|
||||
- 关键词搜索
|
||||
- 高级搜索条件(机型、ATA 章节、结构体名称)
|
||||
3. **文件输入**
|
||||
|
||||
- ICD Excel 文件(.xlsx 格式)
|
||||
- 文件大小限制:< 10MB
|
||||
|
||||
### 4.2 系统输入
|
||||
|
||||
1. **构型选择**
|
||||
|
||||
- 从 localStorage 获取当前选择的构型 ID
|
||||
- 构型信息包含 configurationId
|
||||
2. **配置数据**
|
||||
|
||||
- ATA 章节列表
|
||||
- 机型列表
|
||||
- 结构体列表
|
||||
|
||||
## 5. 输出
|
||||
|
||||
### 5.1 数据输出
|
||||
|
||||
1. **接口列表**
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"SystemName": "XNSim",
|
||||
"PlaneName": "机型名称",
|
||||
"ATAName": "ATA章节",
|
||||
"ModelStructName": "模型结构名称",
|
||||
"InterfaceName": "接口名称",
|
||||
"InterfaceType": "接口类型",
|
||||
"InterfaceOption": 1,
|
||||
"InterfaceIsArray": true,
|
||||
"InterfaceArraySize_1": 10,
|
||||
"InterfaceArraySize_2": 0,
|
||||
"InterfaceNotes": "备注信息"
|
||||
}
|
||||
]
|
||||
```
|
||||
2. **操作结果**
|
||||
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"message": "操作成功",
|
||||
"data": {}
|
||||
}
|
||||
```
|
||||
3. **导入结果**
|
||||
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"results": [
|
||||
{ "success": true, "data": {} },
|
||||
{ "success": false, "error": "错误信息", "data": {} }
|
||||
],
|
||||
"message": "导入完成,成功: 10, 失败: 2"
|
||||
}
|
||||
```
|
||||
|
||||
### 5.2 界面输出
|
||||
|
||||
1. **数据表格**:分页显示接口列表
|
||||
2. **表单界面**:接口编辑表单
|
||||
3. **导入对话框**:导入数据预览和确认
|
||||
4. **状态提示**:操作成功/失败提示
|
||||
|
||||
## 6. 算法
|
||||
|
||||
### 6.1 ICD 文件解析算法
|
||||
|
||||
```
|
||||
1. 读取Excel文件
|
||||
2. 验证工作表结构(Inputs/Outputs)
|
||||
3. 解析每个工作表:
|
||||
- 提取变量名称
|
||||
- 解析数组维度
|
||||
- 处理变量类型映射
|
||||
- 生成标准格式数据
|
||||
4. 合并Inputs和Outputs数据
|
||||
5. 返回解析结果
|
||||
```
|
||||
|
||||
### 6.2 数组维度解析算法
|
||||
|
||||
```
|
||||
输入:维度字符串(如"[10]"、"[3][2]"、"10")
|
||||
输出:{isArray: boolean, arraySize1: number, arraySize2: number}
|
||||
|
||||
1. 检查空值或1的情况 → 返回非数组
|
||||
2. 匹配方括号格式 [数字][数字] → 提取维度
|
||||
3. 匹配纯数字格式 → 提取一维数组大小
|
||||
4. 其他情况 → 返回非数组
|
||||
```
|
||||
|
||||
### 6.3 搜索过滤算法
|
||||
|
||||
```
|
||||
1. 关键词搜索:
|
||||
- 在接口名称、备注等字段中模糊匹配
|
||||
- 支持大小写不敏感搜索
|
||||
|
||||
2. 高级搜索:
|
||||
- 多条件AND组合
|
||||
- 支持机型、ATA章节、结构体名称精确匹配
|
||||
- 支持接口类型、数组类型条件过滤
|
||||
```
|
||||
|
||||
## 7. 流程
|
||||
|
||||
### 7.1 接口管理主流程
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
A[用户进入接口配置页面] --> B[检查构型选择]
|
||||
B --> C{是否已选择构型?}
|
||||
C -->|否| D[提示选择构型]
|
||||
C -->|是| E[加载接口数据]
|
||||
E --> F[显示数据表格]
|
||||
F --> G[用户操作]
|
||||
G --> H{操作类型}
|
||||
H -->|添加| I[打开添加表单]
|
||||
H -->|编辑| J[打开编辑表单]
|
||||
H -->|删除| K[确认删除]
|
||||
H -->|导入| L[选择文件导入]
|
||||
I --> M[保存接口]
|
||||
J --> M
|
||||
K --> N[删除接口]
|
||||
L --> O[解析文件]
|
||||
M --> P[刷新数据]
|
||||
N --> P
|
||||
O --> Q[预览导入数据]
|
||||
Q --> R[确认导入]
|
||||
R --> P
|
||||
P --> F
|
||||
```
|
||||
|
||||
### 7.2 数据导入流程
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
A[用户选择ICD文件] --> B[上传文件到服务器]
|
||||
B --> C[解析Excel文件]
|
||||
C --> D[验证数据格式]
|
||||
D --> E{数据是否有效?}
|
||||
E -->|否| F[返回错误信息]
|
||||
E -->|是| G[生成预览数据]
|
||||
G --> H[显示导入对话框]
|
||||
H --> I[用户确认导入]
|
||||
I --> J[批量保存到数据库]
|
||||
J --> K[返回导入结果]
|
||||
K --> L[刷新界面数据]
|
||||
```
|
||||
|
||||
### 7.3 搜索过滤流程
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
A[用户输入搜索条件] --> B{搜索类型}
|
||||
B -->|关键词搜索| C[模糊匹配过滤]
|
||||
B -->|高级搜索| D[多条件组合过滤]
|
||||
C --> E[更新表格显示]
|
||||
D --> E
|
||||
E --> F[显示过滤结果]
|
||||
F --> G[更新分页信息]
|
||||
```
|
||||
|
||||
## 8. 接口
|
||||
|
||||
所有接口均以/api 为前缀,数据格式为 JSON,采用 HTTP/HTTPS 协议。具体接口有:
|
||||
|
||||
1. GET /api/planes1)功能:获取机型列表;2)输入:无参数;3)输出:JSON 对象{ success: boolean, message: string, data:array};4)说明:返回所有可用机型信息,包含机型图标、名称和描述。
|
||||
2. GET /api/interface/list1)功能:获取接口列表;2)输入:confID(构型 ID,查询参数);3)输出:JSON 对象{ success: boolean, message: string, data: array };4)说明:返回指定构型下的所有接口数据。
|
||||
3. POST /api/interface/add1)功能:添加接口;2)输入:JSON 对象,包含接口定义的所有字段;3)输出:JSON 对象{ success: boolean, message: string, id: number };4)说明:添加新的接口记录,接口名称需唯一。
|
||||
4. PUT /api/interface/update1)功能:更新接口;2)输入:JSON 对象,包含 currentData 和 originalData;3)输出:JSON 对象{ success: boolean, message: string };4)说明:根据原始数据定位并更新接口信息。
|
||||
5. DELETE /api/interface/delete1)功能:删除接口;2)输入:interfaceName(接口名称,查询参数),confID(构型 ID,查询参数);3)输出:JSON 对象{ success: boolean, message: string };4)说明:删除指定接口。
|
||||
6. POST /api/interface/import1)功能:批量导入接口;2)输入:JSON 数组,每项为接口定义对象;3)输出:JSON 对象{ success: boolean, message: string, results: array };4)说明:批量导入接口,返回每条数据的处理结果。
|
||||
7. GET /api/interface/struct/list1)功能:获取接口结构体列表;2)输入:systemName、planeName、ataName、confID(查询参数);3)输出:JSON 对象{ success: boolean, message: string, data: array };4)说明:返回符合条件的结构体名称列表。
|
||||
8. POST /api/icd/import
|
||||
1)功能:导入 ICD 文件并解析;
|
||||
2)输入:form-data 格式,file 为 Excel 文件;
|
||||
3)输出:JSON 对象{ success: boolean, message: string, data: array };
|
||||
4)说明:解析 ICD Excel 文件,返回变量信息预览。
|
Loading…
x
Reference in New Issue
Block a user