/** * 节点最基础的配置 */ interface CFPDNodeInitial extends CFPDI18n { /** * 是否必答题, 因为每次新加的题目必答题都是默认开启的, * 这里先偷偷懒直接放这上面 */ answerRequired: boolean; /** * 是否为初始化数据,是的场合,会按自增策略给节点自动生成节点名,添加完成后会选择这个节点。 */ isInit?: boolean; } /** * 节点最基础的数据类型,不会实际上又该类型的一个节点 */ interface CFPDBNode extends CFPDNodeInitial { /** * 输出连线列表,每个节点都应该将自己的输出信息存储到这个属性中, * 表明从自己的哪些出口连接到了后面的哪些题目的入口, */ destList: CFPDNodeDest[]; /** * 节点名 */ nodeName: string; /** * 节点id,需要前端添加节点的时候自行生成一个version4的UUID。 */ nodeUuid: string; /** * 节点类型 */ type: NODE_TYPE; /** * 所属的外层循环节点id */ circleNode1Id?: string; /** * 所属的内层循环节点id */ circleNode2Id?: string; /** * 是否收藏 */ favorite: boolean; /** * 所属组合的id */ groupId: string; /** * 随机分组编号 */ groupNumber: number; /** * 是否有答案 */ hasAnswer: boolean; /** * 是否包含变量 */ hasVar: boolean; /** * 是否被组隐藏了 */ hideByGroup?: boolean; /** * 备注 */ comment: CFPDNodeComment; /** * 是否为甄别模式 */ checkMode: boolean; /** * 节点是否已经折叠 */ collapsed: boolean; /** * 所属随机节点id */ parentRandomId?: string; /** * 自动排序号 */ sortNo: number; /** * 是否已经被使用 */ used: boolean; /** * x坐标 */ x: number; /** * y坐标 */ y: number; }