System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于低代码页面管理领域,特别涉及一种低代码平台开发页面多版本管理方法及系统。
技术介绍
1、低代码开发是一种软件开发领域下的可视化应用开发方法,通过低代码开发,即使是不懂编程的业务人员也能够通过图形用户界面,可视化拖拽组件来创建页面,而提供这样能力的平台即为低代码平台,在低代码平台拖拽开发页面时,通常会自定义数据格式(如json)来保存页面拖拽结果,这样的数据叫页面设计数据。
2、在多人使用低代码平台时,可能会存在多人同时编辑同一页面的不同功能模块或同一时间段内同一页面既有新功能需求又有基于旧功能的调整,这种情况下,如果低代码平台不能提供版本管理的功能则无法实现或只能通过复制页面等一系列操作变相实现(但也无法合并页面)。这时,就需要低代码平台提供多版本管理功能,所谓多版本管理,就是可以基于当前应用的所有页面复制一份完整的所有的页面数据,记为另一个版本,然后两个版本的页面可以各自编辑,互不影响,当开发到一定阶段后不需要多个版本并行开发时,则需要将两个版本的页面数据再次合并为一个版本,减少需要在两个版本同时开发相同功能而做多余的工作。
3、当前做的相对较好的多版本管理方案,就是在提供了多版本并行开发页面的功能基础上,提供了一个基于代码视图的版本合并页面,在进行版本合并时,将相同页面的元数据或源代码分别展示在左右两个代码视图框中,中间代码视图框则是最终合并结果的代码。同时基于代码层级进行了代码对比,每行代码每行代码进行对比,展示出每行代码的差异,用户可以根据代码行级别取舍使用哪边的代码行,在需要使用的
技术实现思路
1、针对上述问题,本专利技术采用的技术方案是:一种低代码平台开发页面多版本管理方法,所述方法包括以下步骤:
2、s1:在不同版本下对同一页面进行并行开发设计;
3、s2:将不同版本下同一页面的设计数据分别加载到前端渲染生成比对页面,并将不同版本下的同一页面在代码层级的比对结果于所述比对页面中进行标示;
4、s3:基于用户对所述标示的操作进行页面合并。
5、可选地,在所述的s1步骤之前,还包括以下步骤:
6、建立用于记录页面版本与页面数据的关系表;其中,所述页面数据包括页面基础数据和页面设计数据;
7、在新增版本时于所述关系表中记录该版本下所有页面的所述页面数据与新增版本的关系数据;其中,所述关系数据包括版本号、页面基础数据表中的页面id以及页面设计数据表中的页面设计id。
8、可选地,在所述的s1中,包括以下步骤:
9、当对某一页面进行修改时,在所述关系表中查询该页面的所述页面设计id是否对应多个版本号;
10、若是,则在页面设计数据表中新增一条所述页面设计数据,将修改的数据保存至新增的所述页面设计数据,并于所述关系表中更新该页面对应的所述页面设计id。
11、可选地,在所述的s1中,还包括以下步骤:
12、在页面向服务器请求操作接口时,在http请求头携带当前版本号;
13、所述服务器将所述请求头中的版本号放置线程上下文;
14、在启动任务时将主线程的线程上下文的数据复制到子线程的线程上下文中。
15、可选地,在所述的s1中,还包括以下步骤:
16、设计数据库表时在所述数据库表中增加版本号字段;
17、在操作数据库时,检测所述数据库表中是否存在所述版本号字段;
18、若是,则通过插件在所述数据库表中增加对应的版本号。
19、可选地,在所述的s2中,包括以下步骤:
20、将待合并版本页面和主版本页面的页面数据进行扁平化处理得到页面数组;
21、遍历所述主版本页面的页面数组查询所述待合并版本页面中是否存在相同key值的组件;
22、若不存在,则标记缺失;若存在但组件数据中的层级属性设置不同,则在所述主版本中标记层级缺失;
23、将状态标记保存在主版本对象中。
24、可选地,在所述的s2中,还包括以下步骤:
25、将主版本页面的页面数据进行递归查询,并将每个节点信息以组件key值为属性名放入第一映射对象中;
26、将待合并版本页面的页面数据进行递归查询,每查询到一个节点,在所述第一映射对象中查询并比对与所述待合并页面节点相同属性名的组件;
27、根据查询比对结果对组件进行状态标记;
28、将所述状态标记保存在待合并版本对象中。
29、可选地,所述状态标记包括:
30、新增:在主版本没有找到与当前循环到的组件key值相同的组件;
31、父级新增:如果父级组件包含“新增”或“层级新增”字符,则当前组件直接标记为父级新增;
32、不变:组件在两个版本里的属性完全相同;
33、层级新增:组件在两个版本里都存在,但组件所属层级不同;
34、修改:组件在两个版本里都存在且所属层级相同,但是属性不同。
35、可选地,所述比对页面包括对应不同版本页面生成的多个可视化树形结构页面,所述标示设于所述待合并版本页面生成的所述树形结构页面上;所述比对页面还包括合并预览页面。
36、以及,一种低代码平台开发页面多版本管理系统,所述系统包括:
37、多版本开发单元,用于在不同版本下对同一页面进行并行开发设计;
38、合并视图展示单元,用于将不同版本下同一页面的设计数据分别加载到前端渲染生成比对页面,并将不同版本下的同一页面在代码层级的比对结果于所述比对页面中进行标示;
39、多版本合并单元,用于基于用户对所述标示的操作进行页面合并。
40、可选地,所述多版本开发单元还用于建立记录页面版本与页面数据的关系表;其中,所述页面数据包括页面基础数据和页面设计数据;在新增版本时于所述关系表中记录该版本下所有页面的所述页面数据与新增版本的关系数据;其中,所述关系数据包括版本号、页面基础数据表中的页面id以及页面设计数据表中的页面设计id。
41、可选地,当对某一页面进行修改时本文档来自技高网...
【技术保护点】
1.一种低代码平台开发页面多版本管理方法,其特征在于,所述方法包括以下步骤:
2.如权利要求1所述的低代码平台开发页面多版本管理方法,其特征在于,在所述的S1步骤之前,还包括以下步骤:
3.如权利要求2所述的低代码平台开发页面多版本管理方法,其特征在于,在所述的S1中,包括以下步骤:
4.如权利要求1所述的低代码平台开发页面多版本管理方法,其特征在于,在所述的S1中,还包括以下步骤:
5.如权利要求1所述的低代码平台开发页面多版本管理方法,其特征在于,在所述的S1中,还包括以下步骤:
6.如权利要求1所述的低代码平台开发页面多版本管理方法,其特征在于,在所述的S2中,包括以下步骤:
7.如权利要求1所述的低代码平台开发页面多版本管理方法,其特征在于,在所述的S2中,还包括以下步骤:
8.如权利要求7所述的低代码平台开发页面多版本管理方法,其特征在于,所述状态标记包括:
9.如权利要求1至8任一项所述的低代码平台开发页面多版本管理方法,其特征在于,所述比对页面包括对应不同版本页面生成的多
10.一种低代码平台开发页面多版本管理系统,其特征在于,所述系统包括:
11.如权利要求10所述的低代码平台开发页面多版本管理系统,其特征在于,所述多版本开发单元还用于建立记录页面版本与页面数据的关系表;其中,所述页面数据包括页面基础数据和页面设计数据;在新增版本时于所述关系表中记录该版本下所有页面的所述页面数据与新增版本的关系数据;其中,所述关系数据包括版本号、页面基础数据表中的页面ID以及页面设计数据表中的页面设计ID。
12.如权利要求11所述的低代码平台开发页面多版本管理系统,其特征在于,当对某一页面进行修改时,所述多版本开发单元还用于在所述关系表中查询该页面的所述页面设计ID是否对应多个版本号;若是,则在页面设计数据表中新增一条所述页面设计数据,将修改的数据保存至新增的所述页面设计数据,并于所述关系表中更新该页面对应的所述页面设计ID。
13.如权利要求10所述的低代码平台开发页面多版本管理系统,其特征在于,所述合并视图展示单元在生成所述比对页面时包括:
14.如权利要求10所述的低代码平台开发页面多版本管理系统,其特征在于,所述合并视图展示单元在生成所述比对页面时还包括:
...【技术特征摘要】
1.一种低代码平台开发页面多版本管理方法,其特征在于,所述方法包括以下步骤:
2.如权利要求1所述的低代码平台开发页面多版本管理方法,其特征在于,在所述的s1步骤之前,还包括以下步骤:
3.如权利要求2所述的低代码平台开发页面多版本管理方法,其特征在于,在所述的s1中,包括以下步骤:
4.如权利要求1所述的低代码平台开发页面多版本管理方法,其特征在于,在所述的s1中,还包括以下步骤:
5.如权利要求1所述的低代码平台开发页面多版本管理方法,其特征在于,在所述的s1中,还包括以下步骤:
6.如权利要求1所述的低代码平台开发页面多版本管理方法,其特征在于,在所述的s2中,包括以下步骤:
7.如权利要求1所述的低代码平台开发页面多版本管理方法,其特征在于,在所述的s2中,还包括以下步骤:
8.如权利要求7所述的低代码平台开发页面多版本管理方法,其特征在于,所述状态标记包括:
9.如权利要求1至8任一项所述的低代码平台开发页面多版本管理方法,其特征在于,所述比对页面包括对应不同版本页面生成的多个可视化树形结构页面,所述标示设于所述待合并版本页面生成的所述树形结构页面上;所述比对页...
【专利技术属性】
技术研发人员:张伟杰,董旭,周洪华,陶晨晨,王旭东,
申请(专利权)人:安徽产业互联数据智能创新中心有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。